skr*_*mit 3 scripting ubuntu samba shell-script
我想samba
使用 shell 脚本设置一个密码来设置共享目录。我写了以下脚本test.sh
:
#!/bin/bash
pass=123456
(echo "$pass"; echo "$pass") | smbpasswd -s -a $(whoami)
Run Code Online (Sandbox Code Playgroud)
这将打印以下内容:
When run by root:
smbpasswd [options] [username]
otherwise:
smbpasswd [options]
options:
-L local mode (must be first option)
-h print this usage message
-s use stdin for password prompt
-c smb.conf file Use the given path to the smb.conf file
-D LEVEL debug level
-r MACHINE remote machine
-U USER remote username
extra options when run by root or in local mode:
-a add user
-d disable user
-e enable user
-i interdomain trust account
-m machine trust account
-n set no password
-W use stdin ldap admin password
-w PASSWORD ldap admin password
-x delete user
-R ORDER name resolve order
Run Code Online (Sandbox Code Playgroud)
正如它所指出的,我没有以 root 身份运行它,当我以 root 身份运行它时,即,sudo ./test.sh
它运行良好。但问题是,它添加root
而不是noobuser
,这是我登录的用户。
我如何noobuser
通过做类似的事情来添加(我感觉我在这里遗漏了一些东西)?
测试.sh:
#!/bin/bash
pass=123456
if [ -z "$SUDO_USER" ]; then
echo "This script is only allowed to run from sudo";
exit -1;
fi
(echo "$pass"; echo "$pass") | smbpasswd -s -a "$SUDO_USER"
Run Code Online (Sandbox Code Playgroud)
调用:
sudo ./test.sh
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13985 次 |
最近记录: |