Linux 身份切换工具

来源:互联网 发布:怎样做淘宝客服 编辑:程序博客网 时间:2024/05/02 02:51

su [ -lm ]  [ -c 指令 ]  [ username ]


- : 使用 -  如 su -  代表使用login-shell 的变量档案得去方式来登入系统

如使用者身份没有加上去,则代表切换为root身份


-l : 与 - 类似,但后面需要跟欲切换的使用者账号.

-m : 与-p是一样的,表示使用目前的环境设定,而不读取下哦那个使用者的配置文件


-c : 劲执行一条指令,后面接指令即可


不彻底切换到root  ====>su

svn  | grep  user

此时虽然UID具有了root的身份,但还有一堆变量是非root的身份,还有很多数据是无法直接利用,是不彻底的而切换


彻底切换到root  su -

evn  | grep root


finger sshd  


====================================

sudo

系统默认只有root可以执行sudo

sudo的执行权限可以在/etc/sudoers中配置


sudo [ -b ]  [ -u 新实用者的账号 ]

-b : 将后面的指令放到背景中让那系统自动执行;

-u : 后面接欲切换的使用者的身份,若果没有这个选项则代表切换到root


 sudo可以让你切换身份来执行某项任务.要注意的是,我们无法使用su -sshd 去切换系统账号,因为系统账号的shell是nologin ,这个时候就得用sudo了


sudo的执行流程

(1) 当用户执行sudo 时,系统会在/etc/sudoers中搜寻该使用这是否有执行sudo的权限


(2) 如果使用者有sudo执行权限,则让使用者输入自己密码确认

(3) 确认成功后开始执行sudo的后续指令(root执行sudo是不需要密码)

 

要想让一般使用者也可执行sudo可以用visudo增加一行:



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


# Allow root to run any commands anywhere

user_name           ALL=(ALL)    ALL


上面四个字段的意义

1 使用者账号指定了哪个账号可以使用sudo


2 这个账号可以从哪部主机远程登录到本机来执行sudo


3这个账号可以切换成什么身份来执行sudo


4这个账号使用sudo切换身份后可以执行那些指令


除了可以设置s让某个用户具有udo的可执行权限,还可以设置让某个群组具有sudo的可执行权限


sudo的功能很强大,一定要限制具有sudo执行权限的普通使用者客气饿换的身份和切换身份后可执行的指令.

0 0