Как добавить, что пользователь для самбы совместно использует через сценарий оболочки

Обычно, когда я хочу добавить пользователя для совместно используемой папки самбы, я использую эту команду:

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

... Как я могу трудно кодировать пароль?

1
задан 20 November 2018 в 09:34

1 ответ

Я сам нашел решение на этом веб-сайте

. Итак, основная вещь в том, что если вы хотите создать скрипт для добавления определенного пользователя в общий ресурс 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
2
ответ дан 7 December 2019 в 13:34

Другие вопросы по тегам:

Похожие вопросы: