Обычно, когда я хочу добавить пользователя для совместно используемой папки самбы, я использую эту команду:
sudo smbpasswd -a <username>
и затем это высовывается
New SMB password:
Retype new SMB password:
и теперь я хочу сделать это в сценарии, но так, чтобы он не останавливался там и просил, чтобы я вставил пароль
это - мой сценарий:
##################################################################
#!/bin/bash
mkdir /var/www/html/test
tee -a /etc/samba/smb.conf << EOF
[test]
comment = Test folder
path = /var/www/html/test
browsable = yes
valid users = tester
read only = no
EOF
smbpasswd -a tester
password
password
... Как я могу трудно кодировать пароль?
Я сам нашел решение на этом веб-сайте
. Итак, основная вещь в том, что если вы хотите создать скрипт для добавления определенного пользователя в общий ресурс samba, он выглядит так: this:
Эта часть скрипта является «стандартной» и не нуждается в изменении, за исключением пути к папке, которую вы хотите поделиться:
##################################################################
#!/bin/bash
# make a folder if it doesn't exist
[ ! -d /var/www/html/test ] && mkdir -p /var/www/html/test
# append these lines at the end of the /etc/samba/smb.conf file
tee -a /etc/samba/smb.conf << EOF
[test]
comment = Test folder
path = /var/www/html/test
browsable = yes
valid users = tester
read only = no
EOF
и теперь, если вы хотите чтобы:
username='<existing_user_name>'
(echo "<password_for_user>"; sleep 1; echo "<password_for_user>" ) | sudo smbpasswd -s -a $username
username='<new_user_name>'
useradd -m $username
(echo "<password_for_user>"; sleep 1; echo "<password_for_user>";) | passwd $username
(echo "<password_for_user>"; sleep 1; echo "<password_for_user>" ) | sudo smbpasswd -s -a $username