习惯Ubuntu的同志可能用这个命令的用的多,我很不喜欢Ubuntu的root用户登录搞得的很麻烦。
从Fedora入门的我,还是比较习惯root身份登录整个系统。
似乎想给自己找到一个征服系统的利器,还是喟叹自己的水平,即使有了至高无上的root,离征服Linux系统还是很遥远的事情。
世界上又有几个能征服的了呢。这么一个开源界给了世界的震撼之作,汇聚的是开源界顶尖人的智慧。
渐渐的发现Ubutu的易用性了,不断地使用,也渐渐的习惯了Ubutu的操作方式。
今天从《Linux server hacks》一书中,学习了sudo的一些用法,自己学习了之后,总结,提炼,解明,以备后用。
1 - 活用sudo
总的说来,当不需要把工作提交给root用户来执行的时候,而是委任给系统的其他用户,把你的麻烦事,交给其他人办理,这个时侯sudo就该上阵了。
想要使用sudo命令,首先要用root用户来编辑能够运行sudo命令的用户列表。只要运行/usr/bin/visudo命令就O了。默认sudo用户列表如下形式:
root ALL=(ALL) ALL
基本上sudo配置文件的是: user machine = (effective user) command
例如: peter beta.future.com=(jim) /usr/sbin/rndc, /usr/sbin/named
user: 用于指定运行sudo命令的用户名。
machine:用于指定有效的入口主机名,就是来自于那里的机器。
effective user:用于指定用哪个用户的运行权限来运行命令 。
command:用于指定 user用户能够运行的命令列表。
它的基本节拍就是: 谁Who 从哪里来From(去哪里To) 干什么How
如上命令的言明之意就是,peter来自于beta.future.com,要去jim那里,运行jim的rndc,named俩个命令。
在sudo配置文件中,还可以使用如果Makefile啊,SHELL啊之类的命名,也可以说是别名,来简化结构。
例如: User_Alias ADMINS=peter, jim, cugxueyu
Host_Alias WEBSERVERS=www.cugxueyu.com
Cmd_Alias PROCS=/bin/kill, /bin/killall, /usr/in/skill
Runas_Alias RUNUSER=httpd, www, obama
定义之后就可以使用了。
ADMINS WEBSERVER(RUNUSER) PROCS
代替使用用户,还可以指定组用户的的运行,指定该组的虽有用户都被许可运行某用户的命令。配置设定文件,就是在组名的前面添加%。
例如: %wwwadmin WEBSERVER=(www) /usr/local/apache/bin/apachectl
指定wwwadmin组的所有用户都能通过WEBSERVER的入口用www用户的权限来运行apache的控制命令。
完。。
从Fedora入门的我,还是比较习惯root身份登录整个系统。
似乎想给自己找到一个征服系统的利器,还是喟叹自己的水平,即使有了至高无上的root,离征服Linux系统还是很遥远的事情。
世界上又有几个能征服的了呢。这么一个开源界给了世界的震撼之作,汇聚的是开源界顶尖人的智慧。
渐渐的发现Ubutu的易用性了,不断地使用,也渐渐的习惯了Ubutu的操作方式。
今天从《Linux server hacks》一书中,学习了sudo的一些用法,自己学习了之后,总结,提炼,解明,以备后用。
1 - 活用sudo
总的说来,当不需要把工作提交给root用户来执行的时候,而是委任给系统的其他用户,把你的麻烦事,交给其他人办理,这个时侯sudo就该上阵了。
想要使用sudo命令,首先要用root用户来编辑能够运行sudo命令的用户列表。只要运行/usr/bin/visudo命令就O了。默认sudo用户列表如下形式:
root ALL=(ALL) ALL
基本上sudo配置文件的是: user machine = (effective user) command
例如: peter beta.future.com=(jim) /usr/sbin/rndc, /usr/sbin/named
user: 用于指定运行sudo命令的用户名。
machine:用于指定有效的入口主机名,就是来自于那里的机器。
effective user:用于指定用哪个用户的运行权限来运行命令 。
command:用于指定 user用户能够运行的命令列表。
它的基本节拍就是: 谁Who 从哪里来From(去哪里To) 干什么How
如上命令的言明之意就是,peter来自于beta.future.com,要去jim那里,运行jim的rndc,named俩个命令。
在sudo配置文件中,还可以使用如果Makefile啊,SHELL啊之类的命名,也可以说是别名,来简化结构。
例如: User_Alias ADMINS=peter, jim, cugxueyu
Host_Alias WEBSERVERS=www.cugxueyu.com
Cmd_Alias PROCS=/bin/kill, /bin/killall, /usr/in/skill
Runas_Alias RUNUSER=httpd, www, obama
定义之后就可以使用了。
ADMINS WEBSERVER(RUNUSER) PROCS
代替使用用户,还可以指定组用户的的运行,指定该组的虽有用户都被许可运行某用户的命令。配置设定文件,就是在组名的前面添加%。
例如: %wwwadmin WEBSERVER=(www) /usr/local/apache/bin/apachectl
指定wwwadmin组的所有用户都能通过WEBSERVER的入口用www用户的权限来运行apache的控制命令。
完。。