su身份切换梳理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了su身份切换梳理相关的知识,希望对你有一定的参考价值。
linux中可以用su来进行身份的切换,不过有些细节值得注意
1)su,使用的是以root的权限但non-login的方式来登入系统,所以其mail和PATH都是su之前的账号信息
2)su - username,这样可以完全切换到username的权限及身份(环境变量也是username的),离开用exit就能返回之前的身份
3)su - -c,一次性的使用root身份执行指令,指令完成后变成普通身份
su切换身份缺点:都要用到root密码,如果很多人使用,安全隐患大
对此,可以使用sudo来完成
sudo基础语法:sudo -b 将后续的指令放到背景中让系统自行执行,而不与目前的 shell 产生影响
sudo -u 后面可以接欲切换的使用者,若无此项则代表切换身份为 root
示例:
[[email protected] ~]# sudo -u sshd touch /tmp/mysshd
以sshd的身份去执行 touch /tmp/mysshd
注意,我们无法su -sshd去切换系统账号,因为系统账号登入方式都是non-login登入方式
如果要让普通账号使用sudo,得用visudo指令来修改/etc/sudoers文件,其格式如下:
使用者账号 登入者的来源主机名 = (可切换的身份) 可下达的指令
root ALL = (ALL) ALL <==这是默认值
一个个设定麻烦的话可以用%groupname,群组功能
如果信任的过用户,可以免输入密码,在(可切换的身份)即(ALL)加NOPASSWD,即可,这样用sudo的话,自己的密码也可以不用输入
另外,visudo里可以用别名,以便简化操作,示例如下:
[[email protected] ~]# visudo <==注意是 root 身份
User_Alias ADMPW = pro1, pro2, pro3, myuser1, myuser2
Cmnd_Alias ADMPWCOM = !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root
使用者账号 登入者的来源主机名 = (可切换的身份) 可下达的指令
ADMPW ALL = (root) ADMPWCOM
本文出自 “101010...010101” 博客,请务必保留此出处http://legendland.blog.51cto.com/2043145/1973717
以上是关于su身份切换梳理的主要内容,如果未能解决你的问题,请参考以下文章