linux 学习记录- 用户切换
一、用户切换:
缘由:1、使用一般账号操作系统,这是平日操作的好习惯。2、用较低权限启动系统服务:如apache软件,可以建立 apache用户来启动apache软件,如果这个程序被攻破,系统也不至于损毁。3、软件本身的限制。
a、su 最简单的切换用户身份的方法
使用方法: su 【-lm】【-c 指令】【username】
详解: -:代表使用login-shell的变量档案读取方式来登入系统,若后面没有用户名,代表切换到root。
-l: 同- 后面必须接名字,也是用login-shell方式登入系统。
-m:-m同-p,表示使用目前的环境设定,不使用新使用者的环境。
-c: 后面接指令,但仅执行一次指令。
b、sudo
相对于su需要了解切换root的密码,而sudo只需要使用自己的密码,保证了系统的安全。
使用方法: sudo 【-b】【-u新使用者账号】
-b : 将后续的指令放到背景中让系统自动执行,而不语目前的shell产生影响。
-u: 后面可以接欲切换的使用者,若没有接用户,默认是root。
执行重点:用户能否可以使用sudo,必须要看/etc/sudoers中的设定值。
【shell中分号(;)来延续指令进行 使用 sh -c 方法俩执行一连串指令。】
c 、visudo : 将/etc/sudoers 档案调出来进行修改,来对用户能否使用sudo进行设定。
四列内容:
如: 使用者账号 登入者来源主机名=(可切换的身份) 可下达的指令
root ALL=(ALL) ALL 默认
第一列:哪个账号可以使用sudo指令
第二列:这个账号可以由哪部主机联机到这个linux主机,默认root可来自任何一部网络主机
第三列:这个账号可以切换成什么身份来下达后续的指令,默认root可以切换成任何人。
第四列:该身份可以下达什么指令,必须使用绝对路径,moreroot可以切换任何身份且执行任何指令。
d、透过别名设置 visudo:方便设置多个用户时使用
例子:
User_Alias ADMPW=pro1,pro2,pro3
Cmnd_Alias ADMPWCOM= !/usr/bin/passwd,/usr/bin/passwd[A-Za-z]*,!/usr/bin/passwd root
ADMPW ALL=(root) ADMPWCOM
User_Alias 建立一个新账号 Cmnd_Alias 命令别名 Host_Alias 来源主机名别名 都需要使用大写字符。
e、sudo时间间隔问题:
两次执行sudo的间隔在5分钟内,再次执行sudo不需要再次输入密码。