因此,这只是我为效率而想到的一个想法,即脚本编写。我想知道是否有可能制作具有sudo特权但不提示输入密码的自定义命令(即jello)。我写了很多需要sudo权限的脚本,不喜欢每次都键入它们。我一直在编辑sudoers文件,并为这些文件设置例外。但是,如果可能的话,我真的很喜欢,所以我可以在脚本中键入此命令,这样就可以按要求运行,而无需输入密码。
一种选择是在sudoers文件中使用通配符(sudoers manpage)。
注意:您需要对任何类似的策略采取适当的预防措施,因为您不一定会提前知道要授予访问权限的所有命令-某些利用和风险。
如果您可以接受这些风险,那么将这样的事情/etc/sudoers
添加到您的文件中将使您能够添加相同格式的新命令并启用这些命令的运行,而无需每次都输入密码:
me ALL= NOPASSWD: /home/me/privil_scripts/priviledged_*.sh
确保其他用户不容易在此目录中放入其他脚本!欢迎保持安全的评论。
作为快速测试:
# create a directory with some files inside
cd ~; mkdir nolook; touch nolook/f1; touch nolook/f2
>>> f1 f2
# make it so regular user can't see inside
sudo chmod -R 700 nolook; sudo chown -R root:root nolook
# test
ls nolook
>>> ls: cannot open directory nolook/: Permission denied
现在编写特权和非特权脚本:
echo "
#!/bin/sh
sudo ls nolook
" > privil_scripts/priviledged_ls.sh
chmod +x !$
echo "
#!/bin/sh
sudo ls nolook
" > privil_scripts/plain_ls.sh
chmod +x !$
并尝试:
privil_scripts/priviledged_ls.sh
>>> f1 f2
privil_scripts/plain_ls.sh
>>> [sudo] password for me:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句