標籤

4GL (1) 人才發展 (10) 人物 (3) 太陽能 (4) 心理 (3) 心靈 (10) 文學 (31) 生活常識 (14) 光學 (1) 名句 (10) 即時通訊軟體 (2) 奇狐 (2) 爬蟲 (1) 音樂 (2) 產業 (5) 郭語錄 (3) 無聊 (3) 統計 (4) 新聞 (1) 經濟學 (1) 經營管理 (42) 解析度 (1) 遊戲 (5) 電學 (1) 網管 (10) 廣告 (1) 數學 (1) 機率 (1) 雜趣 (1) 證券 (4) 證券期貨 (1) ABAP (15) AD (1) agentflow (4) AJAX (1) Android (1) AnyChart (1) Apache (14) BASIS (4) BDL (1) C# (1) Church (1) CIE (1) CO (38) Converter (1) cron (1) CSS (23) DMS (1) DVD (1) Eclipse (1) English (1) excel (5) Exchange (4) Failover (1) Fedora (1) FI (57) File Transfer (1) Firefox (3) FM (2) fourjs (1) Genero (1) gladiatus (1) google (1) Google Maps API (2) grep (1) Grub (1) HR (2) html (23) HTS (8) IE (1) IE 8 (1) IIS (1) IMAP (3) Internet Explorer (1) java (4) JavaScript (22) jQuery (6) JSON (1) K3b (1) ldd (1) LED (3) Linux (117) Linux Mint (4) Load Balance (1) Microsoft (2) MIS (2) MM (51) MSSQL (1) MySQL (27) Network (1) NFS (1) Office (1) OpenSSL (1) Oracle (126) Outlook (3) PDF (6) Perl (60) PHP (33) PL/SQL (1) PL/SQL Developer (1) PM (3) Postfix (2) postfwd (1) PostgreSQL (1) PP (50) python (5) QM (1) Red Hat (4) Reporting Service (28) ruby (11) SAP (234) scp (1) SD (16) sed (1) Selenium (3) Selenium-WebDriver (5) shell (5) SQL (4) SQL server (8) sqlplus (1) SQuirreL SQL Client (1) SSH (2) SWOT (3) Symantec (2) T-SQL (7) Tera Term (2) tip (1) tiptop (24) Tomcat (6) Trouble Shooting (1) Tuning (5) Ubuntu (37) ufw (1) utf-8 (1) VIM (11) Virtual Machine (2) VirtualBox (1) vnc (3) Web Service (2) wget (1) Windows (19) Windows (1) WM (6) Xvfb (2) youtube (1) yum (2)

2013年7月10日 星期三

sudoers

http://ithelp.ithome.com.tw/question/10053821

在 Linux 常用 sudo 來做一些最高權限能做的事,
通常是依照著 /etc/sudoers 裡的規則來允許運作。


這幅簡筆漫畫蠻有趣,
甲:給我做個三明治。
乙:什麼?你自個兒做,老子可不管你。
甲:sudo 給我做個三明治。
乙:好的!馬上做個三明治。

簡單地說,甲對乙原來沒有什麼權限,
但藉著 sudo 就有那權限來執行。

用 sudo 的最大好處有二:
1.確認能執行的權限。
2.會記錄什麼使用者做了什麼動作。

為了要用 sudo 的指令,首先要設定 sudoers 這檔,
不要直接編輯此檔案
要編輯的話,要執行

visudo
然後最容易有機會看到像:
root ALL=(ALL) ALL

這行意思是,使用者root能從所有的終端機,
以任何所有使用者的身分,
來執行所有任何的指令。

所以第一部分是什麼使用者,
第二部分是使用者從哪個終端機能執行sudo,
第三部分是哪個使用者能執行,
最後部分是他能跑什麼指令。

上面的一堆ALL會搞不清楚,
用另個例子來看看:
operator ALL= /sbin/poweroff

這是指使用者 operator 能從任何終端機,
來執行 poweroff 的關機指令。
而這些各部分,也都可以用別名alias的方式來替帶,例如:
User_Alias OPERATORS = joe, mike, jude
Runas_Alias OP = root, operator
Host_Alias OFNET = 10.1.2.0/255.255.255.0
Cmnd_Alias PRINTING = /usr/sbin/lpc, /usr/bin/lprm

可看到別名OPERATORS是包含joe, mike, jude的使用者,
而別名OP是包括 root, operator。
別名OFNET是包括10.1.2.0的整個Class C來的範圍,
別名PRINTING是包括 lpc 及 lprm指令。

所以通常看sudoers的檔案,可能類似像這樣:
 User_Alias     OPERATORS = joe, mike, jude
Runas_Alias    OP = root, operator
Host_Alias     OFNET = 10.1.2.0/255.255.255.0
Cmnd_Alias     PRINTING = /usr/sbin/lpc, /usr/bin/lprm

OPERATORS ALL=ALL
linus ALL=(OP) ALL
user2 OFNET=(ALL) ALL
user3 ALL= PRINTING
go2linux ALL=(ALL) ALL

如果執行sudo想要省掉輸入密碼的驗證動作的麻煩的話:
go2linux ALL=(ALL) ALL NO PASSWD: ALL

詳細的設定說明可參閱 手冊

而sudo用的是vi編輯器,
以下是怎麼操作vi的步驟:
1.變成root,執行visudo
2.找到 "root ALL=(ALL) ALL" 這一行,並將游標移到該行。
3.鍵入 o 可在該行下面插入新的一行。
4.輸入想要的規則,例如:username ALL=(ALL) ALL
5.按Esc鍵退出插入模式
6.鍵入 :x 儲存並退出。

沒有留言:

張貼留言