sudo授权的配置以及bash编程之数组和关联数组。

简介:

    sudo按我的理解来看是一个提权命令,当普通用户需要执行系统管理员的命令的时候,就需要使用sudo来提权了,当然这个权限也是要系统管理员事先下发的。

        下面让我们一起来看看如何配置sudo吧:

sudo的配置文件在/etc/sudoers

可以先用chmod命令给予管理员修改权限,再用vim进行编辑,也可以直接用visudo命令直接编辑。

例1、我们给tuchao用户授予useradd,userdel,groupadd,groupdel权限。

# visudo

加入以下一行即可。

wKioL1OCtLHBw4xnAAISM-M3NRw823.jpg

# sudo -l    用于查看,用户可执行的特权命令。

刚刚授权的命令显示了吧。

wKioL1OCtV_worGkAALfGQOfN-I791.jpg

如果这时要给一组用户授权多个命令怎么办,那不是要写很多行?其实不用,配置文件可以支持alias功能的,可以把多个用户加到一个组里,配置的时候用%groupname表示,或者把多个用户加到一个alias里,当然命令也支持alias,可以把多个命令写到一个alias里。

例2、给openstack,tyz,admin,ldapuser,用户下发useradd,userdel,usermod,iptables执行权限。

我们这里创建了,SUPERUSER,SPECIALCOMMOND这两个别名实现的。

wKiom1OCy9ySpyLnAAJadjwT8kg606.jpg

用openstack用户做下测试,给防火墙添加一条规则怎么样?

$ sudo -l

$ sudo iptables -t filter -A INPUT -d 192.168.10.198 -p tcp --dport 443 -j REJECT

$ sudo iptables -L

规则加上去了吧,这样普通用户也可以管理防火墙了,当然这是实验,工作环境这样做很不安全。

wKiom1OCznvTOg3EAARGTef3gYs343.jpg

接下来,看看bash编程数组:

        数组其实就是一段连续的内存空间,用下标来引用每个内存空间中的值。

declare -a    声明一个数组;

declare -A    声明一个关联数组;

例、写一个脚本,把12个月份的单词保存至Month数组中,每一次执行随机给出一个月份。

wKioL1OC3D3A0MQNAADhhnw4n5w952.jpg

 

关联数组下标可以使用字符串:

# declare -A Month

# Month=([one]="january" [two]="february" [three]='March')

# echo ${Month[one]}

wKioL1OC6frxTFv2AADjKrkafdg970.jpg

 

本篇完

有问题欢迎与我交流QQ1183710107



本文转自qw87112 51CTO博客,原文链接:http://blog.51cto.com/tchuairen/1417194

相关文章
|
6月前
|
存储 Shell 索引
如何在Bash中使用For循环和数组?
如何在Bash中使用For循环和数组?
108 0
|
2月前
|
Shell Linux
sudo bash -c 'cat > /etc/profile.d/env.sh'
sudo bash -c 'cat > /etc/profile.d/env.sh' << EOF 是一个Linux命令行命令,用于创建一个名为 /etc/profile.d/env.sh 的文件,并将以下内容写入该文件:
42 4
|
4月前
|
机器学习/深度学习 Unix Shell
Shell编程基础入门(Bash|变量与输入输出重定向2&1)
Shell编程基础入门(Bash|变量与输入输出重定向2&1)
71 0
|
3月前
|
监控 Shell
Raspberry Pi上的上网行为监控管理软件部署与配置(Bash)
在这篇文章中,我们将探讨如何在Raspberry Pi上部署和配置一款上网行为监控管理软件,通过Bash脚本实现。
236 0
|
3月前
|
监控 Shell
Raspberry Pi上的上网行为监控软件部署与配置(Bash)
在这篇文章中,我们将探讨如何在Raspberry Pi上部署和配置一款上网行为监控软件,通过Bash脚本实现。
204 0
|
10月前
|
Shell
【Shell编程】Shell中Bash变量-数值运算、运算符变量、测试和内容替换
【Shell编程】Shell中Bash变量-数值运算、运算符变量、测试和内容替换
56 0
|
10月前
|
Shell
【Shell编程】Shell中Bash变量-预定义变量
【Shell编程】Shell中Bash变量-预定义变量
73 0
|
10月前
|
Shell
【Shell编程】Shell中Bash变量-环境变量
【Shell编程】Shell中Bash变量-环境变量
57 0
|
10月前
|
机器学习/深度学习 Shell
【Shell编程】Shell中Bash变量-位置参数变量
【Shell编程】Shell中Bash变量-位置参数变量
55 0
|
10月前
|
Shell
【Shell编程】Shell中Bash变量-用户自定义变量
【Shell编程】Shell中Bash变量-用户自定义变量
49 0