Bash
sudo su 自動登錄
我想用
sudo su
. 我已經看到了很多關於這些的問題,但沒有一個對我有用。這是我到目前為止所嘗試的
echo "mypassword" | sudo -S su - user echo "mypassword\n" | sudo -S su - user echo mypassword | sudo -S su - user echo "mypassword" | sudo -S su user echo mypassword | sudo -S su user
我只是收到以下回复
-bash: line 1: mypassword: command not found
我的 Bash 版本
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu) Copyright (C) 2009 Free Software Foundation, Inc.
請注意,我的密碼包含特殊字元
@
@ sudo usage: sudo [-D level] -h | -K | -k | -V usage: sudo -v [-AknS] [-D level] [-g groupname|#gid] [-p prompt] [-u user name|#uid] usage: sudo -l[l] [-AknS] [-D level] [-g groupname|#gid] [-p prompt] [-U user name] [-u user name|#uid] [-g groupname|#gid] [command] usage: sudo [-AbEHknPS] [-r role] [-t type] [-C fd] [-D level] [-g groupname|#gid] [-p prompt] [-u user name|#uid] [-g groupname|#gid] [VAR=value] [-i|-s] [<command>] usage: sudo -e [-AknS] [-r role] [-t type] [-C fd] [-D level] [-g groupname|#gid] [-p prompt] [-u user name|#uid] file ...
不要那樣做!這會將您的密碼留在您的 shell 歷史記錄中!
如果您確實必須這樣做,我建議您將
sudoers
文件配置為允許無密碼登錄。為此,請執行命令
sudo visudo
並添加如下一行:reddy ALL=NOPASSWD: /bin/su - *
(
reddy
您的使用者名在哪裡)。如果您需要將此訪問權限授予整個團隊,請使用該團隊創建一個 (UNIX) 組,並替換
reddy
為%team
(the team group)。(另外,有點離題:該
echo
命令已經添加了\n
您需要的內容。如果您實際上想要相反的內容(您不想要),那麼該命令將是echo -n
.)