sudo按我的理解来看是一个提权命令,当普通用户需要执行系统管理员的命令的时候,就需要使用sudo来提权了,当然这个权限也是要系统管理员事先下发的。
下面让我们一起来看看如何配置sudo吧:
sudo的配置文件在/etc/sudoers
可以先用chmod命令给予管理员修改权限,再用vim进行编辑,也可以直接用visudo命令直接编辑。
例1、我们给tuchao用户授予useradd,userdel,groupadd,groupdel权限。
# visudo
加入以下一行即可。
# sudo -l 用于查看,用户可执行的特权命令。
刚刚授权的命令显示了吧。
如果这时要给一组用户授权多个命令怎么办,那不是要写很多行?其实不用,配置文件可以支持alias功能的,可以把多个用户加到一个组里,配置的时候用%groupname表示,或者把多个用户加到一个alias里,当然命令也支持alias,可以把多个命令写到一个alias里。
例2、给openstack,tyz,admin,ldapuser,用户下发useradd,userdel,usermod,iptables执行权限。
我们这里创建了,SUPERUSER,SPECIALCOMMOND这两个别名实现的。
用openstack用户做下测试,给防火墙添加一条规则怎么样?
$ sudo -l
$ sudo iptables -t filter -A INPUT -d 192.168.10.198 -p tcp --dport 443 -j REJECT
$ sudo iptables -L
规则加上去了吧,这样普通用户也可以管理防火墙了,当然这是实验,工作环境这样做很不安全。
接下来,看看bash编程数组:
数组其实就是一段连续的内存空间,用下标来引用每个内存空间中的值。
declare -a 声明一个数组;
declare -A 声明一个关联数组;
例、写一个脚本,把12个月份的单词保存至Month数组中,每一次执行随机给出一个月份。
关联数组下标可以使用字符串:
# declare -A Month
# Month=([one]="january" [two]="february" [three]='March')
# echo ${Month[one]}
本篇完
有问题欢迎与我交流QQ1183710107
本文转自qw87112 51CTO博客,原文链接:http://blog.51cto.com/tchuairen/1417194