在Ubuntu等Linux系统下,经常要在个人账户使用sudo命令来执行一些需要root权限的命令,但是需要输入该账户的密码,有时候显得很繁琐,
那么怎样使用sudo的时候不需要输入密码呢?
有如下两种方法:
常规方法1 设置sudoers文件
修改sudoers文件,设置该账户不需要输入密码,比如设置tester用户可以使用sudo命令,并且不需要输入密码:
tester ALL=(ALL) NOPASSWD: ALL
试试:
sudo ls
backup processdemomainform.pas
fpcrun.fpc processdemomainform.ppu
nofile roottest.fpc
果然不需要输入密码。
特殊方法2:使用重定向
可以将用户密码设到shell的一个变量里,然后重定向给命令
比如密码是passwd,那么可以这样操作:
将密码设为px变量:
export px="password1"
看看变量:
echo $pxpassword1
将变量重定向到sudo命令的输入:
echo $px | sudo --stdin lsbackup processdemomainform.pasfpcrun.fpc processdemomainform.ppunofile roottest.fpc
嗯,效果也不错
当然也可以把密码写到一个文件,比如pass.txt文件,然后将该文件重定向到sudo命令
sudo --stdin ls < pass.txt
backup processdemomainform.o
fpcrun.fpc processdemomainform.pas
总结:
以上两种方法,都是为了解决sudo命令时不输入密码的问题,测试都通过。但是还是要注意,这是不得已为而为之的办法,安全起见,一般情况下不要使用。
ps,祝贺奥运健儿凯旋而归!