如果當(dāng)用登錄的用戶(hù)名不在"/etc/sudoers"文件中,是不能執(zhí)行sudo命令的。可以用root身份手動(dòng)修該文件,把當(dāng)前登錄用戶(hù)名加入該文件中
1 切換到root用戶(hù)
[linux@localhost ~]$ su root
密碼:
[root@localhost ~]#
2 查看/etc/sudoers文件權(quán)限,如果只讀權(quán)限,修改為可寫(xiě)權(quán)限
[root@localhost ~]# ll /etc/sudoers
-r--r-----. 1 root root 4030 12月 10 09:55 /etc/sudoers
[root@localhost ~]# chmod 777 /etc/sudoers
[root@localhost ~]# ls -l /etc/sudoers
-rwxrwxrwx. 1 root root 4030 12月 10 09:57 /etc/sudoers
3 修改/etc/sudoers文件,執(zhí)行命令如下:
/username是你的用戶(hù)名/
[root@localhost ~]# echo 'username ALL=(ALL) ALL' >> /etc/sudoers
可以在root權(quán)限下找到 root ALL=(ALL) ALL的字段,在下一行追加:
username ALL=(ALL) ALL
( 我這里的username 是hk )
5分鐘之后密碼過(guò)期,下次需要重新輸入,如果不想如此麻煩,可以用以下方法
username ALL=(ALL) NOPASSWD: ALL
說(shuō)明:格式為{用戶(hù)名 網(wǎng)絡(luò)中的主機(jī)=(執(zhí)行命令的目標(biāo)用戶(hù)) 執(zhí)行的命令范圍}
4 保存退出,并恢復(fù)/etc/sudoers的訪(fǎng)問(wèn)權(quán)限為440
[root@localhost ~]# chmod 440 /etc/sudoers
[root@localhost ~]# ll /etc/sudoers
-r--r-----. 1 root root 4030 12月 10 09:59 /etc/sudoers
用hostname命令查看當(dāng)前主機(jī)的主機(jī)名稱(chēng)。例如,該命令返回 vp0
打開(kāi)"/etc/hosts"文件 并將 vp0 加入到 "127.0.0.1"這行中
OK,這樣就完成了,經(jīng)測(cè)試絕對(duì)可以。