linux下用户身份切换:su和sudo

su

1.【su - username】 或者 【su -l username】,完整的切换到新用户的环境,连同PATH、USER、MALL等变量都换成新用户的环境。su -直接将用户身份变成root

2.【su - -c "命令串"】,仅执行一次root的命令。

3.使用root切换成任何用户时,并不需要输新用户的密码

虽然使用su很方便,不过缺点是,使用su来切换成root的身份,需要知道root的密码,这样root的密码会流出去,不安全。

sudo

sudo可以让你以其他用户身份的执行命令,但是并非所有人都能执行sudo,而是仅有规范到/etc/sudoers内的用户才能执行sudo这个命令。一开始系统默认仅有root可以执行sudo。

所以,其他非root用户能否使用sudo必须要看/etc/sudoers的设置值,而可使用sudo者是通过输入用户自己的密码来执行后续的命令串。

因为/etc/sudoers是设置过语法的,如果设置错误会导致sudo命令失效。修改需要用【visudo】命令,并且在退出修改界面时,操作系统会检查该文件的语法是否正确。其实visudo只是将该文件调出来进行修改而已。

需要配置的大致如下

使用者账号    登陆者来源主机=(可切换的身份)        可执行的命令

root        ALL=(ALL)                            ALL                

%wheel          ALL=(ALL)                                                    NOPASWD:ALL                            -- %wheel表示用户组,NOPASSWD表示不需要密码就可以使用sudo命令

myuser            ALL=(root)                !/usr/bin/passwd,/usr/bin/passwd [a-zA-Z]*,!/usr/bin/passwd root                --可执行的命令必须使用绝对路径才可以

此外,在/etc/sudoers文件中,也可以为多个用户、多个命令创建别名来简化设置方式

User_Alias    ADMPW=user1,user2
Cmnd_Alias    ADMPWCOM=/usr/bin/passwd,/usr/bin/useradd

 使用sudo命令很简单,【sudo 命令串】

例子:使用sudo搭配su,一口气将身份转为root,而且还用自己的密码变成root

User_Alias ADMINS = user1,user2
ADMIN    ALL=(root)    /bin/su -

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值