全网最全visudo和sudo命令详解

visudo 和sudo命令

sudo命令中的可用参数以及作用

参数作用
-h列出帮助信息
-l列出当前用户可执行的命令
-u 用户名或UID值以指定的用户身份执行命令
-k清空密码的有效时间,下次执行sudo时需要再次进行密码验证
-b在后台执行指定的命令
-p更改询问密码的提示语

使用su命令切换用户身份虽然简单,但是,也有一些致命的缺点:

(1) 普通用户必须知道root密码才可以切换到root,这样root密码就泄漏了。

(2) 使用su命令切换身份,无法对切换后的身份做精细的控制,拿到超级权限的人可以为所欲为。甚至可以改掉root密码,让真正的管理员无法再拥有root权限。

通过sudo命令,我们可以把某些超级用户权限,分类有针对性授权给指定的普通用户,并且普通用户不需要知道root密码就可以使用得到的授权来管理。因此,sudo命令使得集权式管理在理论上得到了保证,使系统的安全性方面加强了很多。

区别:

sudo:可以让普通用户拥有root权限去执行命令,sudo的配置文件是/etc/sudoers。

visudo:通过visudo编辑/etc/sudoers,可以检查语法。

使用visudo命令配置权限文件时,其操作方法与Vim编辑器中用到的方法完全一致,因此在编写完成后记得在末行模式下保存并退出。在配置权限文件时,按照下面的格式在第101行(大约)填写上指定的信息。

谁可以使用 允许使用的主机 = (以谁的身份) 可执行命令的列表

**谁可以使用:**稍后要为哪位用户进行命令授权。

**允许使用的主机:**可以填写ALL表示不限制来源的主机,亦可填写如192.168.10.0/24这样的网段限制来源地址,使得只有从允许网段登录时才能使用sudo命令。

**以谁的身份:**可以填写ALL表示系统最高权限,也可以是另外一位用户的名字。

**可执行命令的列表:**可以填写ALL表示不限制命令,亦可填写如/usr/bin/cat这样的文件名称来限制命令列表,多个命令文件之间用逗号(,)间隔。

sudo提权配置说明

用户或组机器= (授权角色)可以执行的命令
userMACHINE=COMMANDS
oldboyALL=(ALL)/usr/sbin/useradd,/usr/sbin/userdel
%用户组

#visudo #<==通过visudo编辑/etc/sudoers

# User_Alias ADMINS = jsmith, mikem, %groupname #<==用户组前面加百分号

但是每次执行sudo命令都要输入一次密码其实也挺麻烦的,这时可以添加NOPASSWD参数,使得用户下次再执行sudo命令时就不用密码验证:

su指定用户切换

1、编辑配置文件/etc/pam.d/su 、将下面配置文件"#“去掉;

# auth required pam_wheel.so use_uid

改成

auth required pam_wheel.so use_uid

//这样只有wheel 组的成员可以使用su命令;

2、添加普通用户,让普通用户有切换权限;

#usermod -aG wheel li

//li 用户可以进行su命令切换;

3、 配置密码策略

在文件/etc/login.defs 中添加一行

SU_WHEEL_ONLY yes

4、切换方式如下;

#su - root

#password

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的小T

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值