通常、Samba共有フォルダーのユーザーを追加する場合、次のコマンドを使用します。
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共有に追加するためのスクリプトを作成する場合、次のようになることです。
スクリプトのこの部分は「標準」であり、共有するフォルダーのパスを除いて変更する必要はありません。
##################################################################
#!/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