Linux 如何从bash以root用户身份登录并执行其他操作
这是我的简单聚会:Linux 如何从bash以root用户身份登录并执行其他操作,linux,bash,logging,heredoc,spawn,Linux,Bash,Logging,Heredoc,Spawn,这是我的简单聚会: cat test.sh #!/bin/bash echo "hello" su - root -c /path/to/script.sh <<EOF password EOF whoami echo "good bye" cat test.sh #!/bin/bash 回音“你好” SU-SROOT -C/PATS/ToS/Script。SH 做这种事情不是安全的或标准的做法(事实上很多人认为它是不
cat test.sh
#!/bin/bash
echo "hello"
su - root -c /path/to/script.sh <<EOF
password
EOF
whoami
echo "good bye"
cat test.sh
#!/bin/bash
回音“你好”
SU-SROOT -C/PATS/ToS/Script。SH 做这种事情不是安全的或标准的做法(事实上很多人认为它是不可靠的),在脚本中设置密码真的不是一个好主意。一种更标准的方法是简单地期望整个脚本以root权限执行,或者只是让脚本提示输入密码。您还可以使用
/etc/suoders
中的NOPASSWD
选项,允许特定用户通过sudo运行各种命令,而无需密码
但是,现在您已经意识到了风险,可以使用sudo-kS
让sudo从stdin
读取密码:
sudo -kSs << EOF
password
whoami
echo "Not a good idea to have a password encoded in plain text"
EOF
<代码> SUDO-KSS这样做是不安全的或标准的做法(事实上很多人认为它是不可靠的),在脚本中输入密码真的不是一个好主意。一种更标准的方法是简单地期望整个脚本以root权限执行,或者只是让脚本提示输入密码。您还可以使用
/etc/suoders
中的NOPASSWD
选项,允许特定用户通过sudo运行各种命令,而无需密码
但是,现在您已经意识到了风险,可以使用sudo-kS
让sudo从stdin
读取密码:
sudo -kSs << EOF
password
whoami
echo "Not a good idea to have a password encoded in plain text"
EOF
sudo-kSs你应该改为在上面问这个问题。是的,我问了…但是没有回答对不起,但是关于一般操作系统使用/脚本的问题没有。是的…谢谢..我应该有一些人知道如何解决你应该改为在上面问这个问题。是的,我问了…但是没有回答对不起,但是关于一般操作系统使用/脚本编写的问题不是。是的…谢谢..我想应该有一些人知道如何解决
cat test3.sh
#!/bin/bash
echo "hello"
su root <<EOF
password
EOF
whoami
echo "good bye"
#!/bin/bash
echo "hello"
sudo -s <<EOF
<password>
echo Now I am root
id
echo "yes!"
EOF
whoami
echo "good bye"
./script.sh
hello
[sudo] password for <user>:
#!/usr/bin/expect -f
spawn sudo -s <<EOF
expect "assword for user:"
send -- "password\r"
expect eof
spawn sudo -s <<EOF
[sudo] password for user:
/bin/bash: <<EOF: command not found
sudo -kSs << EOF
password
whoami
echo "Not a good idea to have a password encoded in plain text"
EOF