Linux給普通用戶添加sudo權限


一、linux給用戶添加sudo權限: 
有時候,linux下面運行sudo命令,會提示類似: 
xxxis not in the sudoers file.  This incident will be reported. 
這里,xxx是用戶名稱,然后導致無法執行sudo命令,這時候,如下解決:

進入超級用戶模式。也就是輸入"su -",系統會讓你輸入超級用戶密碼,輸入密碼后就進入了超級用戶模式。(當然,你也可以直接用root用)

添加文件的寫權限。也就是輸入命令"chmod u+w /etc/sudoers"。 

編輯/etc/sudoers文件。也就是輸入命令"vim /etc/sudoers",進入編輯模式,找到這一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(這里的xxx是你的用戶名),然后保存退出。

撤銷文件的寫權限。也就是輸入命令"chmod u-w /etc/sudoers"。 
然后就行了。

 

二、設置sudo為不需要密碼

 有時候我們只需要執行一條root權限的命令也要su到root,是不是有些不方便?這時可以用sudo代替。默認新建的用戶不在sudo組,需要編輯/etc/sudoers文件將用戶加入,該文件只能使用visudo命令,

1) 首先需要切換到root, su - (注意有- ,這和su是不同的,在用命令"su"的時候只是切換到root,但沒有把root的環境變量傳過去,還是當前用乎的環境變量,用"su -"命令將環境變量也一起帶過去,就象和root登錄一樣)

2) 然后 visudo 或者 vi /etc/sudoers, visudo 這個和vi的用法一樣,由於可能會有人不太熟悉vi,所以簡要說一下步驟

移動光標,到一行root ALL=(ALL)   ALL的下一行,按a,進入append模式,輸入

your_user_name ALL=(ALL)   ALL

然后按Esc,再輸入:w保存文件,再:q退出

這樣就把自己加入了sudo組,可以使用sudo命令了。

3) 默認5分鍾后剛才輸入的sodo密碼過期,下次sudo需要重新輸入密碼,如果覺得在sudo的時候輸入密碼麻煩,把剛才的輸入換成如下內容即可:

your_user_name ALL=(ALL) NOPASSWD: ALL

 

至於安全問題,對於一般個人用戶,我覺得這樣也可以的。

4)如果你想設置只有某些命令可以sudo的話,your_user_name   ALL= (root) NOPASSWD: /sbin/mount, (root) NOPASSWD: /bin/umount, (root) NOPASSWD: /mnt/mount, (root) NOPASSWD: /bin/rm, (root) NOPASSWD: /usr/bin/make, (root) NOPASSWD: /bin/ln, (root) NOPASSWD: /bin/sh, (root) NOPASSWD: /bin/mv, (root) NOPASSWD: /bin/chown, (root) NOPASSWD: /bin/chgrp, (root) NOPASSWD: /bin/cp, (root) NOPASSWD: /bin/chmod

 

注意: 有的時候你的將用戶設了nopasswd,但是不起作用,原因是被后面的group的設置覆蓋了,需要把group的設置也改為nopasswd。

group_name ALL=(ALL) NOPASSWD: ALL


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM