## **[su命令详解]**
**这个命令非常重要,它可以使一个一般用户拥有超级用户或其他用户的权限,也可以使超级用户以一般用户的身分做些事情。但一般用户使用该命令时必须有超级用户或其他用户的口令。
如果没有参数,su 命令将你转换为 root(系统管理员)。
root 帐号有时也被称为超级用户,因为这个用户可以存取系统中的任何文件,甚至删除系统。
也正是这个原因,许多人将su命令看成是 supper-user(超级用户)的一个缩写。当然,你必须要提供 root密码。
想要回到你原先的用户身份,不要再使用 su 命令,你只需要使用 exit命令退出你
使用su命令而生成的新的对话进程。**
**1.作用**
`su`的作用是变更为其它使用者的身份,需要键入该使用者的密码(超级用户除外)。
**2.格式**
`su [选项]… [-] [USER [ARG]…]`
**3.主要参数**
-f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell。
-l , –login:加了这个参数之后,就似乎是重新登陆为该使用者一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变。假如没有指定USER,缺省情况是root。
-m, -p ,–preserve-environment:执行su时不改变环境变数。
-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。
USER:欲变更的使用者账号,ARG传入新的Shell参数。
**4.应用实例**
可以为接下来的一个命令,临时变更账号为超级用户,并在执行`df`命令后还原使用者:
`su -c df root`
**[sudo 命令详解]**
1. 功能说明:以其他身份来执行指令。
2. 语 法:`sudo [-bhHpV][-s ][-u <用户>][指令] 或 sudo [-klv]`
3. 补充说明:sudo可让用户以其他的身份来执行指定的指令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。
4. 参 数:
-b 在后台执行指令。
-h 显示帮助。
-H 将HOME环境变量设为新身份的HOME环境变量。
-k 结束密码的有效期限,也就是下次再执行sudo时便需要输入密码。
-l 列出目前用户可执行与无法执行的指令。
-p 改变询问密码的提示符号。
-s 执行指定的shell。
-u<用户> 以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。
-v 延长密码有效期限5分钟。
-V 显示版本信息。