sudo

参数解释

-A, --askpass                 使用助手程序进行密码提示
  -b, --background              在后台运行命令
  -C, --close-from=num          关闭所有 >= num 的文件描述符
  -E, --preserve-env            在执行命令时保留用户环境
      --preserve-env=list       保留特定的环境变量
  -e, --edit                    编辑文件而非执行命令
  -g, --group=group             以指定的用户组或 ID 执行命令
  -H, --set-home                将 HOME 变量设为目标用户的主目录。
  -h, --help                    显示帮助消息并退出
  -h, --host=host               在主机上运行命令(如果插件支持)
  -i, --login                   以目标用户身份运行一个登录 shell;可同时指定一条命令
  -K, --remove-timestamp        完全移除时间戳文件
  -k, --reset-timestamp         无效的时间戳文件
  -l, --list                   
                                列出用户权限或检查某个特定命令;对于长格式,使用两次
  -n, --non-interactive         非交互模式,不提示
  -P, --preserve-groups         保留组向量,而非设置为目标的组向量
  -p, --prompt=prompt           使用指定的密码提示
  -r, --role=role               以指定的角色创建 SELinux 安全环境
  -S, --stdin                   从标准输入读取密码
  -s, --shell                   以目标用户运行 shell;可同时指定一条命令
  -t, --type=type               以指定的类型创建 SELinux 安全环境
  -T, --command-timeout=timeout 在达到指定时间限制后终止命令
  -U, --other-user=user         在列表模式中显示用户的权限
  -u, --user=user               以指定用户或 ID 运行命令(或编辑文件)
  -V, --version                 显示版本信息并退出
  -v, --validate                更新用户的时间戳而不执行命令
  --                            停止处理命令行参数

sudo -k  #清除当前的密码有效期,用户执行命令时需要再次输入密码
sudo -v  #延长用户密码有效期 

没有添加sudo之前,普通用户执行如下:

[root@localhost ~]# su - nginx

[nginx@localhost ~]$ ll /root/
ls: 无法打开目录/root/: 权限不够

添加sudo之后,执行如下:

#首次执行会执行以下提示
[nginx@localhost ~]$ sudo ll /root/

我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:

    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。

[sudo] nginx 的密码:
#在此执行就可以了
[nginx@localhost ~]$ sudo ls /root/
anaconda-ks.cfg  nginx-1.22.1  nginx-1.22.1.tar.gz  nginx-1.24.0.tar.gz  OneShellScript.sh

sudo添加用户

方式1:执行执行命令即可编辑配置文件

[root@localhost ~]# visudo
## Allow root to run any commands anywhere
root    ALL=(ALL) #表示任意主机和任意角色      ALL #表示可以执行任何命令
nginx   ALL=(ALL)                         ALL #表示可以执行任何命令
nginx   ALL=(ALL)                          /usr/sbin/useradd  #表示该用户只能执行添加用户的命令

方式2:直接编辑配置文件

[root@localhost ~]# vim /etc/sudoers

方式3:添加到组即可,如果用户过多,配置文件就会写的很长

[root@localhost ~]# usermod -aG wheel ng
[root@localhost ~]# su - ng
上一次登录:五 12月  8 22:39:29 CST 2023pts/0 上
[ng@localhost ~]$ sudo ls /root/

我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:

    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。

[sudo] ng 的密码:
anaconda-ks.cfg  nginx-1.22.1  nginx-1.22.1.tar.gz  nginx-1.24.0.tar.gz  OneShellScript.sh

查看当前用户拥有哪些权限

[root@localhost ~]# sudo -l
匹配 %2$s 上 %1$s 的默认条目:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset,
    env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME
    LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
    env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE
    LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

用户 root 可以在 localhost 上运行以下命令:
    (ALL) ALL
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容