su

最后更新于:2022-04-01 22:03:13

## **[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  显示版本信息。
';