一、sudo

su USERNAME

su - USERNAME -c COMMAND 不用进入用户就可以执行命令

sudo可以定义普通用户临时的可以执行管理类命令、网络管理类命令等

sudo 的配置文件:

/etc/sudoers

#visudo打开

who  which_host=(whom)  command_list

例如:centos      ALL=(root)     /usr/sbin/useradd, /usr/sbin/userdel, /user/sbin/usermod

命令组:

Alias 的名称中的字符必须全部使用大写字母

Host_Alias主机组

Cmnd_Alias 命令组 USERMANAGER=

/usr/sbin/useradd,/usr/sbin/usredel,/usr/sbin/use

rmod,/usr/bin/passwd

User_Alias用户组 USERNAME = jerry,redhat,....

User_Alias POWERMANGER = tom,USERMANGER 用户组也

可以嵌套

在用户中执行命令时需要用sudo 开头

这些命令会保存在日志:/var/log/secure

man soduers 查看帮助

sodu -l列出所能执行的命令

sodu -k每次执行命令都需要输入密码

二、quota

 限制一个用户对磁盘的使用

磁盘配额:

在两方面限制:

空间大小

文件个数

都分别有着两个方面

软限制

有一定的宽限期

硬限制

绝对不能超出

磁盘配额的生效级别是文件系统

可以独立对用户配额,也可以只对组进行配额

事先建立数据库文件

生效数据库:

aquota.user对用户

aquota.group对组

如何实现:

1、为要启用磁盘配额的文件系统设定挂载选项:

usrquota

grpquota

 

 

临时有效

# mount -o remount,usrquota,grpquota /home

永久有效:

# vim /etc/fstab

 

如图所示: 

 

#mount -o remount /home

2、创建配额所用的数据库:

# quotacheck -cmug /home

  c:创建,并不读取原有数据库直接创建

  m:不挂载为只读

  u:与用户数据库

  g:与组数据库

3、启用对应文件系统上磁盘配额的功能

quotaon /home开启

quotaoff /home关闭

4、设定用户配额或级配额

交互式:

#edquota

-u限定的是用户配额

 edquota -u redhat -u可省略

edquota –g redhat 限定组的配额

 

edquota -p redhat centos 复制给另外一个用户

#edquota -t  设定配额超出软限制的宽限期

非交互式:

#setquota

   -u USERNAME SOFT HARD INODE-SOFT INODE-HARD -a

| FILESYSTEM

   # setquota user12 l0240 20480 0 0 /home

repquota

显示一个磁盘配额的摘要信息:

#repquota filesystem

例如:repquota /home

 

 

#warnquota

向所有超出文件系统配额的用户发一封邮件

进行警告

可以与crontab -e 结合来编辑以定期警告

如何关闭磁盘配额:

暂时关闭:quotaoff

永久关闭:可以说是上面相反的过程

 

三、数组:

如何声明一个数组:

declare -a AA

赋值方法:

1

例如:

AA[0]=jerry

AA[1]=tom

AA[2]=wendy

2

AA=jerry tom wendy

有空格用引号引起

${array[0]}=${array}数组中第一个元素的字符数

数组中第m个元素的字符数

${#array[m]}

${array[n]}显示第n+1个元素

数组中元素的个数

${#array[*]}

${#array[@]}

trap:在脚本中捕捉信号,并且可以特定处理

有这些信号:

1SIGHUP

2SIGINT

9SIGKILL

15SIGTERM

18SIGONT

19SIGSTOP

Ctrl +c

trap 'COMMAND命令' INT

中止了某个操作并要撤消此前所有的动作