Linux遵循非常艰难的权限模型,root用户可以执行任何操作;但普通用户没有权限,无法运行任何命令。下面本篇文章就来给大家介绍普通用户以root身份运行命令的方法,希望对大家有所帮助。
方法一:使用su命令
普通用户要运行任何命令,他们需要向超级用户请求权限。向普通用户授予管理权限的简单通用方法是,用户使用su命令暂时成为root用户,这样普通用户就可以执行任何操作,因为root的所有权限都授予给普通用户了。【视频教程推荐:Linux教程】
注:su命令允许普通用户以root用户的身份运行命令,前提是必须知道该root用户的密码。
[userA@rhel7 ~]$ su -
输出:
Password:
它要求超级用户的密码,但如果不知道root密码,就无法运行任何命令了。
方法二:使用sudo命令
sudo命令允许用户在提供用户自己的密码进行身份验证后,以root用户或任何其他用户身份运行命令。
sudo比su命令更安全。默认情况下,它会在/ var / log / secure(Red Hat / Fedora / CentOS Linux)或/var/log/auth.log(Ubuntu / Debian Linux)中记录sudo用法,命令和参数。
如果调用用户是root用户,或者目标用户与调用用户相同,则不需要密码。否则,sudo要求用户默认使用密码验证自己。一旦用户通过身份验证,就会更新时间戳,然后用户可以在短时间内使用sudo而无需密码(15分钟,除非在sudoers中被覆盖)。
如何使用sudo?
例:允许用户Rocky访问停止/关闭命令并重新启动ApacheWeb服务器。首先,以根用户身份登录。使用visudo命令编辑配置文件:
# visudo
将以下行附加到文件:
rokcy localhost=/sbin/halt rokcy dbserver=/etc/init.d/apache-perl restart
保存并关闭文件。现在Rokcy用户可以通过键入以下命令重新启动Apache Web服务器:
$ sudo /etc/init.d/apache-perl restart
输出:
Password: Restarting apache-perl 1.3 web server....
sudo命令已将尝试记录到日志文件/var/log/secure或/var/log/auth.log文件:
# tail -f /var/log/auth.log
如果rokcy想要关闭计算机,还需要输入命令:
$ sudo /sbin/halt
输出:
Password:
在使用sudo运行命令之前,用户通常会提供密码。经过身份验证后,如果/ etc / sudoers配置文件允许用户访问,则运行该命令。sudo记录每个命令运行。
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!
以上是Linux中普通用户如何以root身份运行命令的详细内容。更多信息请关注PHP中文网其他相关文章!