在没有密码的情况下使用超越密码是否有风险?
它是一台家用计算机,没有其他用户使用它,我只使用安装 Ubuntu 时默认创建的单个用户。
我想不必为这些命令写入 sudo 密码:
echo 100 > /sys/class/backlight/intel_backlight/brightness
ethtool -s eth0 autoneg off speed 100 duplex full
dhclient eth0
apt-get update && upgrade && dist-upgrade -y
apt-get autoremove && remove && clean && autoclean -y
谢谢。
答案:这些步骤似乎解决了这个问题:
sudo su
创建/usr/local/bin/scriptname
并在其中写入超出行:
#!/bin/bash
command in here without sudo
# the end of the script's name
_
Create /etc/sudoers.d/scriptname and write the following lines in it:
User_Alias scriptname=username
Cmnd_Alias scriptabreviaton=/home/globalisation/r
scriptname ALL=NOPASSWD: scriptabreviaton
/etc/sudoers
在接下来的两行末尾添加:
username ALL=(ALL:ALL) ALL
username ALL=(ALL:ALL) NOPASSWD: /usr/local/bin/scriptname
_
chown root:root /etc/sudoers.d/scriptname
chown root:root /usr/local/bin/scriptname
chmod 0700 /usr/local/bin/scriptname
chmod 0440 /etc/sudoers.d/scriptname
_
来自常规用户名:
sudo /usr/local/bin/scriptname
它不应该再要求输入 sudo 密码。
当写成“scriptname”、“usernme”、“scriptabreviaton”时,它们中的每一个都应该是相同的。
答案1
如果您只需要这些确切的命令,您可以为每种情况创建一个脚本,/usr/local/sbin
并将这些脚本添加到您的 sudoers 文件中,例如:
you ALL=(ALL:ALL) ALL
you ALL=(ALL:ALL) NOPASSWD: /usr/local/sbin/backlight.sh
you ALL=(ALL:ALL) NOPASSWD: /usr/local/sbin/upgrade.sh
不要忘记将chown
您的脚本root并通过以下方式删除所有不必要的模式chmod
:
chown root:root /usr/local/sbin/backlight.sh
chmod go-rwx /usr/local/sbin/backlight.sh