解决方案
sudo
指令是允许 普通用户 临时 以 超级用户 root 的权限运行。
普通用户如果直接使用 sudo
指令:
其中我们只需要看最后一句话:Guldan is not in the sudoers file.
,这句话的意思就是 Guldan
这个用户没有执行 sudo
命令的权限,且你使用这条指令会被报告。
如果我们想要使 Guldan
用户执行 sudo 指令,就需要进行以下步骤:
( 1 ) 切换到 root
用户
[Guldan@VM-4-3-centos ~]$ su root Password:
使用命令切换到 root 用户,并输入密码。注意 Linux 系统上输入密码是不会回显的,密码输入正确会登入的。
( 2 ) 使用 vim /etc/sudoers ,打开/etc/sudoers文件
[root@VM-4-3-centos Guldan]# vim /etc/sudoers
打开后界面:
( 3 ) 找到 root ALL=(ALL) ALL
一行,在下方插入 你需要设置的用户名 ALL=(ALL) ALL
这里的我们使用的是 vim
编辑器,按 i
进入编辑模式,移动光标,到 root 下一行,插入就可以。
然后按 esc
返回命令模式,按 :
,输入 wq!
保存并退出(这个文件不加 “!” 会保存失败)
( 4 ) 退出 超级用户 root
[root@VM-4-3-centos Guldan]# su Guldan [Guldan@VM-4-3-centos ~]$
此刻,Guldan 用户就可以使用 sudo 命令了。
我们现在就可以随心所欲地使用 sudo 了,比如我们使用 sudo 命令以 root 用户的权限创建一个文件:
[Guldan@VM-4-3-centos ~]$ sudo touch root.txt [sudo] password for Guldan:
会叫我们输入当前用户的密码。这句话的意思就可以看出,sudo 赋予的权限是临时的,一般这个时间为五分钟。我们输入密码就可以。
[Guldan@VM-4-3-centos ~]$ sudo touch root.txt [sudo] password for Guldan: [Guldan@VM-4-3-centos ~]$ ll total 0 -rw-r--r-- 1 root root 0 Nov 17 23:54 root.txt
当我们有了权限,也可以在普通用户下安装例如 tree
、nano
等命令了 ~