有時候我們只需要執行一條root許可權的命令也要su到root,是不是有些不方便?這時可以用sudo代替。預設新建的使用者不在sudo組,需要編輯/etc/sudoers檔案將使用者加入,該檔案建議使用visudo命令進行編輯(其使用方法跟vim基本一致)
1,首先進行visudo的當前使用者必須是root使用者,因此需要切換到root, su - (注意有- ,這和su是不同的,在用命令"su"的時候只是切換到root,但沒有把root的環境變數傳過去,還是當前用乎的環境變數,用"su -"命令將環境變數也一起帶過去,就象和root登入一樣)
2,visudo移動游標,到一行root all=(all)all
的下一行,按i,插入模式,輸入
your_user_name all=(all)all
然後按esc,
輸入「:」
再輸入:wq!
儲存退出
這樣就把自己加入了sudo組,可以使用sudo命令了。
3,預設5分鐘後剛才輸入的sodo密碼過期,下次sudo需要重新輸入密碼,如果覺得在sudo的時候輸入密碼麻煩,把剛才的輸入換成如下內容即可:
your_user_name all=(all) nopasswd: all
前面介紹的是如何把乙個使用者新增到sudo列表中,那麼如何把乙個命令新增到sudo列表呢,我們以/usr/bin/make這個命令為例子進行說明。首先需要了解該命令是需要新增到哪個使用者組,比如使用者user_00,對應的使用者組是users,所有屬於該users使用者組的使用者都可以通過sudo命令使用/usr/bin/make,則:
1,執行visudo,找到如下的使用者組:
%users all=nopasswd:/usr/sbin/tcpdump, \
/usr/local/apache/bin/*, \
/usr/local/apache/admin/*, \
/usr/local/php/admin/*,/usr/local/nginx/admin/*,/usr/local/pws/admin/*, \
/usr/local/qza_restaurant/admin/*,/usr/local/agw_workshop/admin/*,/usr/local/squid*/admin/* , \
/usr/local/stat/admin/*,/usr/local/services/cmagent-1.0/admin/*
2,在最後新增:/usr/bin/make,如下:
%users all=nopasswd:/usr/sbin/tcpdump, \
/usr/local/apache/bin/*, \
/usr/local/apache/admin/*, \
/usr/local/php/admin/*,/usr/local/nginx/admin/*,/usr/local/pws/admin/*, \
/usr/local/qza_restaurant/admin/*,/usr/local/agw_workshop/admin/*,/usr/local/squid*/admin/* , \
/usr/local/stat/admin/*,/usr/local/services/cmagent-1.0/admin/*,/usr/bin/make
3,儲存退出
4,驗證:sudo /usr/bin/make, ok,如果想看當前使用者可以sudo操作的命令列表,可以執行如下命令:sudo -l 進行檢視。
如何把乙個專案發布到tomcat中
需求 如何能讓其他電腦訪問我這台電腦的資源。localhost 本機位址http localhost 8080 檔名 http localhost 8080 xml 檔名 使用ip位址訪問 使用localhost 8080開啟tomcat首頁,在左側找到tomcat的文件入口,點選進去後,在左側接著...
如何乙個命令停止某個埠的服務程序 Linux
我們先看看這麼做的過程,把處理方式整理一下,然後才能用程式處理 1 netstat nlp 檢視占用埠號的服務 2 找到該埠號的程序 3 找到該程序id 4 kill它 程式可以一點一點來 1 檢視占用埠號的服務 省掉了一些內容 2 可以用grep篩選一下,看看規律,找到有 3306 的一行就好 用...
oracle如何把乙個表的資料複製到另乙個表中
1.新增乙個表,通過另乙個表的結構和資料 create table xthame.tab1 as select from dsknow.combdversion 2.如果表存在 insert into tab1 select from tab2 3.同乙個表中,將a欄位的指賦給b欄位 update ...