获取超级用户访问权限
root用户
大多数操作系统都有某种超级用户,这是拥有系统所有权限的用户。在 Red Hat Enterprise Linux中,该用户就是root用户。该用户的特权高于文件系统上的一般特权,用户管理系统。要执行诸如安装或删除软件以及管理系统文件和目录等任务,必须将特权升级到root用户。
Linux上的root账户大致相当于windows上的本地Administrator账户。在Linux中,大多数系统管理员都登录到非特权用户账户,然后使用各种工具临时获得root权限。
特别注意: 在Linux上,建议系统管理员不要直接以root身份登录,应当以非root用户登录,然后使用其他机制(如 su、sudo或者PolicyKit)临时获得超级用户特权。
利用 su 切换用户
su命令可以让用户切换至另一个用户账户。如果没有指定用户名,则意味着使用root账户。当作为普通用户调用时,系统将提示输入要切换到的账户的密码;当作为root用户调用时,则无需输入账号密码。
su [-] < username >
[student@desktopX ~]$ su -
Password: redhat
[root@desktopX ~]#
命令su username 启动非登录shell,而命令su - username 启动登录shell。
注意: su命令最常用于获得以另一个用户身份(通常是root)运行的命令行界面(shell提示符)。但是如果结合 -c 选项,该命令的作用将与Windows实用程序runas一样,能够以另一个用户身份运行任意程序。
通过 sudo 以root身份运行命令
sudo命令可以使用户根据 /etc/sudoers 文件中的设置,而被允许以root或其他用户身份运行命令。
与su工具不同,sudo要求用户输入其自己的密码已进行身份验证。
如:sudo已配置为允许student用户以root身份运行usermod命令,那么student就可运行下列命令锁定用户账户。
[student@serverX ~]$ sudo usermod -L username
[sudo] password for student: password
使用sudo的另一个优点在于,通过sudo执行的所有命令都默认为将日志记录到 /var/log/secure 中。