Ubuntu不輸入密碼執行sudo命令方法介紹


作為ubuntu等桌面系統,默認登錄的帳號是沒有root權限的,為了提升權限來執行任務,我們一般用到sudo+命令來執行,但是不難發現我們一般都要輸入密碼。那么有沒有什么方法可以讓我們執行sudo的時候不輸入密碼呢?當然有咯。那就是對sudoers文件進行修改。

進入終端,執行

sudo vi sudoers

在#User privilege specification下面會羅列一些規則,我們現在需要做的是對我們的用戶進行一些操作。假如我們的用戶名為test,那么在文件的最后一行添加:

test    ALL=(ALL) NOPASSWD: ALL

然后保存退出,執行

sudo usermod -aG test test

重啟下看看nenew帳號執行sudo還需要密碼么?這里我們需要了解順序這個問題,在ubuntu的wiki上有比較詳細的介紹。

%admin ALL=(ALL) ALL

這行只是讓admin組的用戶擁有可以像任何帳號一樣執行命令的能力,但是還是需要有密碼的,因此我們需要把我們的nenew用戶加入到admin組中,所以有sudo usermod -aG admin nenew ,然后是對其進行NOPASSWD定義,這行一定要在%admin ALL=(ALL) ALL 這行后面,才會生效。

http://blog.csdn.net/lonelysky/article/details/55100701

 

以一個例子來講ubuntu12.04下腳本文件內執行sudo 命令自動輸入密碼

原文連接http://blog.sina.com.cn/s/blog_951ca19b0101be96.html

 在上一篇的文章中(發文時間為2012-10-30 16:09),掛載U盤腳本文件和卸載U盤腳本文件中都用到sudo命令,因此需要用戶手動的輸入密碼,這樣很麻煩,如果能在腳本文件中自動輸入密碼就會更加方便。PS:此篇文章中的內容參考了上一篇文章中的內容。
    1.文件U是掛載U盤的可執行腳本文件,代碼為
    #掛載U_盤
    #!/bin/sh
    sudo mount -t vfat /dev/sdb1 U_Pan
    在終端中輸入命令U(前提是進入了文件U所在的目錄,以下同此),此時會提示[sudo] password for usr_name: (usr_name為你的用戶名),此時需要手動輸入密碼,比較麻煩。
    2.若在腳本文件中自動輸入密碼,需要安裝expect,本人也是開始學習ubuntu不久,也不清楚ubuntu12.04是否在裝系統的時候自動安裝了expect且也不知道expect是什么意思,我就用命令安裝了expect(安裝需要的時間不長,建議新手們也都安裝一下),安裝命令為sudo apt-get install expect
    3.可執行腳本文件u的功能也是掛載U盤,它的優點是在終端中輸入命令u后不需要手動輸入密碼,這樣掛載U盤的操作只需要輸入命令u一步即可,不需要輸入命令U和輸入密碼兩步完成。下面解釋一下文件u里每行代碼的作用。u中代碼如下
    #!/usr/bin/expect
    spawn sudo mount -t vfat /dev/sdb1 U_Pan
    send "password\r"
    interact
    第一行是固定格式,
    第二行是要執行的命令,將要執行的命令放在spawn之后,
    第三行是向終端發送密碼,password是用戶密碼,
    第四行是交互,執行此可執行腳本文件后,向終端發送執行的過程。

自此,在可執行腳本文件中自動輸入密碼的工作就完成了。

http://blog.csdn.net/wang_xya/article/details/38975611


免責聲明!

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



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