码迷,mamicode.com
首页 > 其他好文 > 详细

su身份切换梳理

时间:2017-10-18 19:46:24      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:linux 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

示例:

[root@www ~]# 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里可以用别名,以便简化操作,示例如下:

[root@www ~]# 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身份切换梳理

标签:linux su

原文地址:http://legendland.blog.51cto.com/2043145/1973717

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!