在没有密码的情况下使用超出的密码是否有任何风险?
这是一台家用电脑,没有其他用户使用它,我只使用安装 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
Run Code Online (Sandbox Code Playgroud)
谢谢你。
回答: 看来这些步骤解决了这个案例:
sudo su
Run Code Online (Sandbox Code Playgroud)
在其中创建/usr/local/bin/scriptname
并写入超出的行:
#!/bin/bash
command in here without sudo
# the end of the script's name
Run Code Online (Sandbox Code Playgroud)
_
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
Run Code Online (Sandbox Code Playgroud)
在/etc/sudoers
接下来的两行末尾添加:
username ALL=(ALL:ALL) ALL
username ALL=(ALL:ALL) NOPASSWD: /usr/local/bin/scriptname
Run Code Online (Sandbox Code Playgroud)
_
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
Run Code Online (Sandbox Code Playgroud)
_
从常规用户名:
sudo /usr/local/bin/scriptname
Run Code Online (Sandbox Code Playgroud)
它不应该再要求 sudo 密码。
到处写“scriptname”,“usernme”,“scriptabreviaton”时,它们中的每一个都应该相同。
如果您只需要这些确切的命令,您可以为每个案例创建一个脚本/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
Run Code Online (Sandbox Code Playgroud)
不要忘记将chown
脚本设为 root 并通过chmod
以下方式删除所有不必要的模式:
chown root:root /usr/local/sbin/backlight.sh
chmod go-rwx /usr/local/sbin/backlight.sh
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14566 次 |
最近记录: |