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

做爲ubuntu等桌面系統,默認登陸的賬號是沒有root權限的,爲了提高權限來執行任務,咱們通常用到sudo+命令來執行,可是不難發現咱們通常都要輸入密碼。那麼有沒有什麼方法可讓咱們執行sudo的時候不輸入密碼呢?固然有咯。那就是對sudoers文件進行修改。html

進入終端,執行shell

sudo vi sudoers

在#User privilege specification下面會羅列一些規則,咱們如今須要作的是對咱們的用戶進行一些操做。假如咱們的用戶名爲test,那麼在文件的最後一行添加:ubuntu

test    ALL=(ALL) NOPASSWD: ALL

而後保存退出,執行bash

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 這行後面,纔會生效。ui

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

 

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

原文鏈接http://blog.sina.com.cn/s/blog_951ca19b0101be96.htmlcode

 在上一篇的文章中(發文時間爲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是用戶密碼,
    第四行是交互,執行此可執行腳本文件後,向終端發送執行的過程。

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

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

相關文章
相關標籤/搜索