sudo、磁盘配额、数组、信号捕捉
2012-02-29 23:59
120 查看
一、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+1个元素
数组中元素的个数
${#array[*]}
${#array[@]}
trap:在脚本中捕捉信号,并且可以特定处理
有这些信号:
1、SIGHUP
2、SIGINT
9、SIGKILL
15、SIGTERM
18、SIGONT
19、SIGSTOP
Ctrl +c
trap 'COMMAND命令' INT
中止了某个操作并要撤消此前所有的动作
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+1个元素
数组中元素的个数
${#array[*]}
${#array[@]}
trap:在脚本中捕捉信号,并且可以特定处理
有这些信号:
1、SIGHUP
2、SIGINT
9、SIGKILL
15、SIGTERM
18、SIGONT
19、SIGSTOP
Ctrl +c
trap 'COMMAND命令' INT
中止了某个操作并要撤消此前所有的动作
相关文章推荐
- 捕捉信号SIGSEGV并回溯栈帧
- 多线程调用fork的问题 连续捕捉相同信号的问题
- 第40天-捕捉信号(2013.09.13)
- Linux进程间通信(四)---信号通信之信号发送捕捉kill()、raise()、alarm()、pause()及其基础实验
- 第十三节.Shell日志处理和信号捕捉
- 子进程终止父进程捕捉子进程退出信号
- Linux01-BASH脚本编程之信号捕捉及任务计划53
- 漂亮的信号捕捉
- QTextEdit捕捉回车信号
- 信号的发送和捕捉函数(alarm、kill、raise、pause、 sleep、abort)
- sigemptyset、sigaddset、sigprocmask的用法 信号未决,信号阻塞 信号的捕捉
- QTextEdit捕捉回车信号
- 这信号捕捉洗盘结束点
- Linux信号捕捉
- Qt捕捉窗口关闭事件与信号的捕捉
- linux进程如何捕捉信号
- Linux进程间通信(四)---信号通信之信号发送捕捉kill()、raise()、alarm()、pause()及其基础实验
- 信号——产生、处理、捕捉、接收、阻塞
- Linux环境编程--信号的捕捉和使用
- 使用sigsuspend函数捕捉到信号改变变量的值。