su命令
su命令可以解决切换用户身份的需求,使得当前用户在不退出登录的情况下,顺畅地切换到其他用户,比如从root管理员切换至普通用户:
su - 用户名------完全切换用户,不加"-"变量没有办法完全切换过来
centos 创建sudo用户
useradd -G wheel hwf;echo "xxx"|passwd --stdin hwf
Ubunt创建sudo用户
sudo useradd -d /home/hwf -m -s /bin/bash -G sudo hwf;echo user:passwd |sudo chpasswd
sudo命令
sudo命令只能使用与系统内部的命令有效,其它的命令不适应,比如ll
sudo ll /root/就不行
sudo ls /root/就行
sudo命令把特定命令的执行权限赋予给指定用户,这样既可保证普通用户能够完成特定的工作,也可以避免泄露root管理员密码。我们要做的就是合理配置sudo服务,以便兼顾系统的安全性和用户的便捷性。sudo服务的配置原则也很简单—在保证普通用户完成相应工作的前提下,尽可能少地赋予额外的权限。
sudo命令用于给普通用户提供额外的权限来完成原本root管理员才能完成的任务,格式为“sudo [参数] 命令名称”。
参数作用
-h 列出帮助信息
-l 列出当前用户可执行的命令
-u 用户名或UID值以指定的用户身份执行命令
-k 清空密码的有效时间,下次执行sudo时需要再次进行密码验证
-b 在后台执行指定的命令
-p 更改询问密码的提示语
[jenkins@nfs01 ~]$ sudo -l Matching Defaults entries for jenkins on nfs01: !visiblepw, always_set_home, match_group_by_gid, 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 User jenkins may run the following commands on nfs01: (ALL) NOPASSWD: /usr/bin/*, !/usr/sbin/visudo (ALL) ALL (ALL) NOPASSWD: ALL
sudo 有一个配置文件 & 配置命令
总结来说,sudo命令具有如下功能:
限制用户执行指定的命令:
记录用户执行的每一条命令;
配置文件(/etc/sudoers)提供集中的用户管理、权限与主机等参数;
验证密码的后5分钟内(默认值)无须再让用户再次验证密码。
root用户为普通用户提权
要是普通用户把权限都给了,不安全,需要进行限制visudo,不然会篡位
NOPASSWD:用户输入命令不再需要密码验证
要想sudo su - root不需要输入密码,还需要把注释取消掉
- %wheel ALL=(ALL) NOPASSWD: ALL
[jenkins@nfs01 ~]$ sudo su - root
Last login: Tue Feb 18 20:27:05 CST 2020 on pts/3
继续阅读

我的微信
这是我的微信扫一扫
评论