su与sudo

su与sudo

su的使用
切换用户:linux当中可以使用su来切换不同的用户角色
su root 表示我们需要切换成其他用户,需要使用密码
添加用户组:groupadd rax表示我们自己添加了一个rax的组
su 用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是 root
向普通或虚拟用户切换不需要密码, 反之普通用户切换到其它任何用户都需要密
码验证。
su 在不加任何参数,默认为切换到 root 用户,但没有转到 root 用户根目
录下; su 加参数 - ,表示默认切换到 root 用户,并转到 root 用户根目录下。

su 不足: 如果某个用户需要使用 root 权限、则必须要把 root 密码告诉此
用户。
退出返回之前的用户

sudo使用
sudo 是为所有想使用 root 权限的普通用户设计的。可以让普通用户具有临
时使用 root 权限的权利。只需输入自己账户的密码即可。当然这个普通用户必
须在/etc/sudoers 文件中有配置项、才具有使用 sudo 的权利。
没有配置权限之前,普通用户无法进行 root 权限操作

使用 root 用户编辑/etc/sudoers 文件,给普通用户授权
命令行输入 visudo,打开/etc/sudoers 文件,加入如下的内容,保存。
zhangsan ALL=(ALL) ALL

这样普通用户就可以使用 sudo 执行 root 权限的命令了。

sudo 的工作过程如下:
1.当用户执行 sudo 时,系统会主动寻找/etc/sudoers 文件,判断该用户是
否有执行 sudo 的权限
2. 确认用户具有可执行 sudo 的权限后,让用户输入用户自己的密码确认
3. 若密码输入成功,则开始执行 sudo 后续的命令

如果想要更加精准的控制,就需要理解配置中的含义。
zhangsan ALL=(ALL) ALL
第一个 ALL 是指网络中的主机, 我们可以指定主机名, 这样 zhangsan 只可以在此主机上执行后面的命令。第二个括号里的 ALL 是指目标用户,也就是以谁的身份去执行命令。最后一个 ALL 是指命令名了。
例如,我们想让 zhangsan 用户在 node-23 主机上以 allen 的身份执行 kill 命令, 就这样编写配置文件:
zhangsan node-23=(allen) /bin/kill
案例:只允许 zhangsan 用户以 root 身份在 node-23 上执行 ls 、 cat 命令,
并且执行时候免输入密码。
配置文件中:
zhangsan node-23=NOPASSWD: /bin/ls, /bin/cat

执行非 ls 、 cat 命令也会禁止。

而 cat 命令就可以执行。

猜你喜欢

转载自blog.csdn.net/weixin_37662024/article/details/83904665