#文件的特殊权限
SetUID权限
s,当s这个标志出现在文件所有者的x权限的时候,此时就被称为SetUID权限,简称为SUID权限。
SUID要求的条件和它的主要功能:
1、SUID权限仅对二进制程序(binary program)有效
2、执行者对于改程序必须有x权限
3、这个权限只有在运行的时候才会有效(run-time)
4、执行者将会拥有该程序所有者(owner)的权限
[root@VM_168_102_centos etc]# ls -l /etc/gs*- -rw------- 1 root root 479 Aug 25 15:27 /etc/gshadow- [root@VM_168_102_centos etc]# su wanghan [wanghan@VM_168_102_centos etc]$ cat /etc/gshadow- cat: /etc/gshadow-: Permission denied [wanghan@VM_168_102_centos etc]$ exit exit [root@VM_168_102_centos etc]# ls -ld /bin/cat -rwxr-xr-x 1 root root 48568 Jun 22 2012 /bin/cat [root@VM_168_102_centos etc]# chmod u+s /bin/cat 设定suid权限 [root@VM_168_102_centos etc]# ls -ld /bin/cat -rwsr-xr-x 1 root root 48568 Jun 22 2012 /bin/cat [root@VM_168_102_centos etc]# su wanghan [wanghan@VM_168_102_centos etc]$ cat /etc/gshadow- root::: bin:::bin,daemon daemon:::bin,daemon sys:::bin,adm adm:::adm,daemon
SetGID权限
当s项目出现在用户组的x位置上时被称为Set GID权限,也称作SGID。
SGID可以针对文件和目录来设置,如果对于文件来讲,SGID有如下的功能:
1、SGID对二进制程序有用
2、程序的执行者对于改程序来讲,必须具有x权限
3、执行者在执行的过程中将会获得该程序所属用户组的支持
当用在目录上面的时候:
1、若用户对此目录具有r和x权限时改用户能够进入该目录
2、用户在此目录下的有效用户组(effective group)将会变成该目录的用户组
3、若用户在此目录具有w(可以新建文件)权限,则用户所创建的新文件的用户组和此目录的用户组相同
[root@VM_168_102_centos ~]# chmod g+s /tmp/sgid #设定sgid权限
[root@VM_168_102_centos ~]# ls -ld /tmp/sgid drwxrwsr-x 2 openstack openstack 4096 Aug 26 11:30 /tmp/sgid [root@VM_168_102_centos ~]# chmod o+w /tmp/sgid/ [root@VM_168_102_centos ~]# su wanghan [wanghan@VM_168_102_centos rott]$ mkdir /tmp/sgid/wanghan [wanghan@VM_168_102_centos rott]$ ls -ld /tmp/sgid/wanghan drwxrwsr-x 2 wanghan openstack 4096 Aug 26 11:34 /tmp/sgid/wanghan
SetBit权限
这个Sticky Bit(SBIT)权限只针对目录有效,对于文件已经没有效果了。
作用和前提条件:
1、当用户对于此目录具有w、x权限,即具有写入权限时
2、当用户在该目录下创建文件或目录时,仅有自己和root用户才有权利删除该文件
[root@VM_168_102_centos ~]# ls -l /tmp/sgid/ total 8 drwxrwsr-x 2 openstack openstack 4096 Aug 26 11:38 openstack drwxrwsr-x 2 wanghan openstack 4096 Aug 26 11:39 wanghan [root@VM_168_102_centos ~]# chmod o+t /tmp/sgid/ [root@VM_168_102_centos ~]# ls -ld /tmp/sgid drwxrwsrwt 4 openstack openstack 4096 Aug 26 11:39 /tmp/sgid [root@VM_168_102_centos ~]# su wanghan [wanghan@VM_168_102_centos rott]$ rm -rf /tmp/sgid/openstack rm: cannot remove `/tmp/sgid/openstack
[wanghan@VM_168_102_centos rott]$ rm -rf /tmp/sgid/wanghan
#at命令:在一个指定的时间执行一个指定任务,只能执行一次
at Time
[root@VM_168_102_centos ~]# at 14:58 at> cat /etc/passwd at> <EOT> #ctrl+d 提交任务 job 879 at 2014-08-26 14:58 [root@VM_168_102_centos ~]# at 3pm at> tail /etc/passwd at> <EOT> job 880 at 2014-08-26 15:00
CTRL+d:提交任务
at -l:查看作业,也可使用atq
[root@VM_168_102_centos ~]# at -l 879 2014-08-26 14:58 a root 880 2014-08-26 15:00 a root [root@VM_168_102_centos ~]# atq 879 2014-08-26 14:58 a root 880 2014-08-26 15:00 a root
at -d:删除一个尚未执行的作业
[root@VM_168_102_centos ~]# atq 879 2014-08-26 14:58 a root 880 2014-08-26 15:00 a root [root@VM_168_102_centos ~]# at -d 880 [root@VM_168_102_centos ~]# atq 879 2014-08-26 14:58 a root
at -f:从指定文件读入任务而不是从标准输入读入
[root@VM_168_102_centos ~]# cat at.sh useradd at_test [root@VM_168_102_centos ~]# at -f at.sh now job 882 at 2014-08-26 15:00 [root@VM_168_102_centos ~]# tail -n 1 /etc/passwd at_test:x:502:502::/home/at_test:/bin/bash
原文地址:http://putongren.blog.51cto.com/9086263/1545078