名称;
sudo;-;以超级使用者;(superuser;;root);的身分执行指令;
visudo;-;编辑;sudoers;档案;
语法;
sudo;command;
描述;
Sudo;允许经过同意的使用者以超级使用者的身分执行指令 。;Sudo;参考/etc/sudoers;这个档案来判定谁是被授权的使用者 。Sudo;将会提示使用者输入密码来启始一段;N;分钟的允许时间(其中;N;是在安装的时候定义的且预设值为;5;分钟) 。;
Sudoers;这个档案是由一个选择性的主机别名;(host;alias);节区 , 一个选择性的指令别名;(command;alias);节区以及使用者说明;(user;specification)节区所组成的 。所有的指令别名或主机别名必须需以他们自己的关键字作为开始;(Host_Alias/Cmnd_Alias) 。注意 , 只有第一次使用者(在使用者说明节区里有记录的使用者)使用时会有说明 。;
使用者说明节区格式:;
使用者;接取群组;[:;接取群组;];...;
接取群组;::=;主机象徵;=;[op]指令象徵;[,[op]指令象徵];...;
主机象徵;::=;一个小写的主机名称或主机别名 。;
指令象徵;::=;一个指令或指令别名 。;
op;::=;逻辑的;"!";否定运算元 。;
主机别名节区格式:;
Host_Alias;主机别名;=;主机列表;
Host_Alias;::=;这是一个关键字 。;
主机别名;::=;一个大写的别名 。;
主机列表;::=;以逗号间隔的一些主机名称 。;
指令别名节区格式:;
Cmnd_Alias;指令别名;=;指令列表;
Cmnd_Alias;::=;这是一个关键字 。;
指令别名;::=;一个大写的别名 。;
指令列表;::=;以逗号间隔的一些指令 。;
所有在;"#";符号後面的文字都会被当作是注解 。;
太长的行可以使用倒斜线;"";字元来分成新的行 。;
保留的别名;"ALL";在;{Host,Cmnd}_Alias";里都可以使用 。;
不要用;"ALL";来定义一个别名 , 这个别名无效 。;
注意到;"ALL";暗示全部的主机跟指令 。;
你可以使用这个语法从整个范围中减掉一些项目:;
user;;host=ALL,!ALIAS1,!/etc/halt...;
范例;
#;Host;alias;specification;
Host_Alias;;HUB=houdini.rootgroup.com:;
REMOTE=merlin,kodiakthorn,spirit;
Host_Alias;;MACHINES=kalkan,alpo,milkbones;
Host_Alias;;SERVERS=houdini,merlin,kodiakthorn,spirit;
#;Command;alias;specification;
Cmnd_Alias;;LPCS=/usr/etc/lpc,/usr/ucb/lprm;
Cmnd_Alias;;SHELLS=/bin/sh,/bin/csh,/bin/tcsh;
Cmnd_Alias;;MISC=/bin/rm,/bin/cat:;
SHUTDOWN=/etc/halt,/etc/shutdown;
#;User;specification;
britt;;;;;;;REMOTE=SHUTDOWN:ALL=LPCS;
robhALL=ALL,!SHELLS;
nieusma;;;;;SERVERS=SHUTDOWN,/etc/reboot:;
HUB=ALL,!SHELLS;
jillhoudini.rootgroup.com=/etc/shutdown,MISC;
markm;;;;;;;HUB=ALL,!MISC,!/etc/shutdown,!/etc/halt;
billp;;;;;;;ALL=/usr/local/bin/top:MACHINES=SHELLS;
davehieb;;;;merlin=ALL:SERVERS=/etc/halt:;
kodiakthorn=ALL;
上面的;sudoers;说明档案是由;4;个主机别名说明 , 4;个指令别名说明以及;7;个使用者说明所组成的 。Britt;被允许在远端机器;(merlin,;kodiakthorn,;还有;spirit);上执行;/etc/halt,;/etc/shutdown,;/usr/etc/lpc;以及/usr/ucb/lprm; 。Rohn;被允许在任何机器上执行除了;SHELL;指令群以外的任何指令 。Jill;被允许在;houdini;上执行;/etc/shotdown,;/bin/rm,;以及/bin/cat; 。Davehieb;可以在;merlin;以及;kodiakthorn;上执行任何指令并且可以;halt;SERVERS; 。;
Sudoers;档案应该用;visudo;指令编辑 , 它会锁住该档并且做文法检查 。这提供了一个可以避免愚蠢文法错误的机制 。;
Sudo;被设计成经由;4.3;BSD;syslogging;来记录 , 但是如果真的想要的话还是可以记录到一个档案来取代 。;
如果一个没有被授权的使用者执行了;sudo;的话 , 将会有一封;mail;从该使用者寄送到当地的授权者处(在安装的时候定义的) 。;
所有的设定都是在安装的时后定义的 , 从;sudo.h;含入档及;Makefile;取得 。;
未来加强;
允许巢状的主机以及指令别名 。;
允许在;sudoers;档案中使用;host;specifier;
以便使用全区符号;(user;ALL,!SERVERS,;...;=;commands); 。;
允许在;sudores;档案里的使用者别名(就如同主机/指令别名一样) 。;
使;visudo;对;sudoers;档案做更广泛的检查 。;
档案;
/etc/sudoers;经授权的使用者档案 。;
/etc/stmp;;;;visudo;的;lock;file; 。;
/usr/local/bin/sudo;;sudo;的执行档 。;
/usr/local/etc/visudo修改;sudoers;档案的工具 。;
作者;
Jeff;Nieusma
David;Hieb;;
DISCLAIMER;
这个程式的发行是因为希望它有用处 , 但是没有任何保证;甚至没有对特定用途的销售或适合有隐含的保证 。参阅;GNU;的;General;;Public;License;以获得更详细的资讯 。;
你应该会连同这个程式一起接收到一份;GNU;General;Public;License;如果没有的话 , 写封信给;Free;Software;Foundation,;Inc.,;675;;Mass;;Ave,;
Cambridge,;;MA;02139,;USA; 。;
警告;
如果使用者可以存取;shell;scripts;指令群或允许;shell;escapes;的话 , 没有简单的办法可以防止使用者得到;root;shell 。;
参阅;
su(1);
- 10个最常用 Windows Vista运行命令
- 小技巧: 在任何文件下打开Command Prompt
- Windows Vista系统实用命令行小百科
- Vista系统实用命令行小百科
- 一招“Command Here” 畅游Windows Vista
- Windows Vista实用命令行小百科
- 想看见碎片整理全过程只要一条命令
- Symantec:Windows Vista最安全
- CAD快捷键有哪些 CAD常用命令大全分享
- 以管理员身份打开Vista命令行窗口
