LINUX用户身份切换

Su

命令作用

su的作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码。

使用方式

su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]

参数说明

-f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell。

-l , –login:加了这个参数之后,就好像是重新登陆一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变。如果没有指定USER,缺省情况是root。

-m, -p ,–preserve-environment:执行su时不改变环境变数。

-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。

–help 显示说明文件

–version 显示版本资讯

USER:欲变更的使用者账号,

ARG:  传入新的Shell参数。

例子

su -c ls root 变更帐号为 root 并在执行 ls 指令后退出变回原使用者。

[user1@centos6 ~]$ su - root -c "head -n 3 /etc/passwd"          对于命令参数要加上引号

su [用户名]

a>在root用户下, 输入 su 普通用户. 则切换至普通用户, 从root切换到变通用户不需要密码

b>在普通用户下, 输入 su [用户名]

提示 password:

输入用户的PASSWORD, 则切换至该用户

Sudo

         /etc/sudoers 谁能作什么的一个列表,Sudo能用需要在这个文件中定义

         #visudo              增加如下,加%代表用户组,ALL=(ALL)表示登录者的来源主机名,最后的ALL代表可执行的命令。NOPASSWD代表不需要密码直接可运行Sudo,限制多命令一定要写绝对路径,用逗号分开,多行用‘’,用!代表不能执行

         %aixi           ALL=(ALL)       NOPASSWD: ALL

         %aixi           ALL=(ALL)       NOPASSWD: /bin/ls,/bin/mkdir,/bin/rmdir,

/usr/bin/who,!/usr/bin/passwd root

原文地址:https://www.cnblogs.com/fanweisheng/p/11108659.html