set uid 权限
- 该文件限针对二进制可执行文件,使文件在执行阶段拥有文件全部者的权限
- 如:passwd命令就有该权限。当普通用户执行passwd 命令时,能够临时得到root权限,从而能够更改密码
- 例:给一个命令增长去除set uid权限
[root@centos001 ~]# ls -l /usr/bin/ls //首先找到一个没有set uid权限的文件
-rwxr-xr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls
[root@centos001 ~]# su awei //切换到普通用户awei 用命令su 切换
[awei@centos001 root]$ ls -l /root //使用ls -l 命令时 发现权限不够
ls: 没法打开目录/root: 权限不够
[awei@centos001 root]$ su root //再切换到root
密码:
[root@centos001 ~]# chmod u+s /usr/bin/ls //用chmod 命令给用户全部者增长s权限
[root@centos001 ~]# ls -l /usr/bin/ls //在用ls命令查看
-rwsr-xr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls //已经加上set uid 权限了
[root@centos001 ~]# su awei //再次切换到普通用户
[awei@centos001 root]$ ls -l /root //发现已经可使用 ls命令
总用量 4
drwxrwx---. 2 root root 6 9月 26 09:55 123
-rwxrwx---. 1 root root 0 9月 26 09:55 22.txt
[awei@centos001 root]$ su root
密码:
##去除set uid 权限
[root@centos001 ~]# chmod u-s /usr/bin/ls //去除权限
[root@centos001 ~]# chmod u=rws /usr/bin/ls // 增长权限命令的另外一种写法
[root@centos001 ~]# ls -l !$
ls -l /usr/bin/ls
-rwSr-xr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls //这里咱们发现rwS里有个大S 是由于没有可执行权限x
[root@centos001 ~]# chmod u+x !$ //加上x权限
chmod u+x /usr/bin/ls
[root@centos001 ~]# ls -l !$
ls -l /usr/bin/ls
-rwsr-xr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls
set gid权限
- 该权限能够做用在文件上(二进制可执行文件),也能够做用在目录上。
- 看成用在文件上时,其功能同set uid 它会使文件在执行阶段具备文件所属组的权限。
- 目录被设置这个权限后,任何在此目录的文件都具备和该目录所属组相同的 组。
- 例:增长set gid权限
[root@centos001 ~]# chmod u=rwx !$ //先把刚才设置的set uid 权限取消
chmod u=rwx /usr/bin/ls
[root@centos001 ~]# chmod g+s !$ //增长所属组的set gid 权限
chmod g+s /usr/bin/ls
[root@centos001 ~]# ls -l !$
ls -l /usr/bin/ls
-rwxr-sr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls
[root@centos001 ~]# ls -ld 234
drwxrwsr-x. 2 root root 6 9月 26 09:58 234 // 这里咱们能看到234文件是root root
[root@centos001 ~]# chown :user1 234 //更改文件所属组
[root@centos001 ~]# ls -ld 234
drwxrwsr-x. 2 root user1 6 9月 26 09:58 234
[root@centos001 ~]# touch 234/awei //在234 文件下再建立一个文件awei
[root@centos001 ~]# ls -l 234/
总用量 0
drwxr-sr-x. 2 root user1 6 10月 26 11:52 am
-rw-r--r--. 1 root user1 0 10月 26 11:53 awei
[root@centos001 ~]# chmod g-s 234 //这里咱们去掉 set gid 权限
[root@centos001 ~]# ls -l 234
总用量 0
drwxr-sr-x. 2 root user1 6 10月 26 11:52 am
-rw-r--r--. 1 root user1 0 10月 26 11:53 awei
[root@centos001 ~]# touch 234/awei111 //建立一个新的文件awei111
[root@centos001 ~]# ls -l 234
总用量 0
drwxr-sr-x. 2 root user1 6 10月 26 11:52 am
-rw-r--r--. 1 root user1 0 10月 26 11:53 awei
-rw-r--r--. 1 root root 0 10月 26 11:56 awei111 //取消set gid权限后所属组又变回了root
[root@centos001 ~]# mkdir 234/am1 //建立目录am1
[root@centos001 ~]# ls -l 234
总用量 0
drwxr-sr-x. 2 root user1 6 10月 26 11:52 am
drwxr-xr-x. 2 root root 6 10月 26 11:57 am1 //由于取消了set gid,建立目录后所属组也变回了root
-rw-r--r--. 1 root user1 0 10月 26 11:53 awei
-rw-r--r--. 1 root root 0 10月 26 11:56 awei111
[root@centos001 ~]# ls -ld 234
drwxrwxr-x. 4 root user1 54 10月 26 11:57 234
sticky bit权限
- 防止删除位
- 文件是否能够被某用户删除,主要取决于该文件所在的目录是否对该用户具备写权限。
- 若是没有写权限,则这个目录下的因此文件都不能删除,同时也不能添加新的文件
- 若是但愿用户可以添加文件但不能删除该目录下的文件,则能够对父级目录增长该权限
- 设置该权限后,就算用户对目录具备写权限,也不能删除其余用户的文件
[root@centos001 ~]# ls -ld /tmp/ //tmp目录就有stick bit权限
drwxrwxrwt. 10 root root 4096 10月 26 10:10 /tmp/ //最后的rwt就是防删除位
[root@centos001 user1]# su - aming //切换到普通用户aming
[aming@centos001 user1]$ cd /tmp/
[aming@centos001 tmp]$ touch aming //在aming目录下建立aming文件
[aming@centos001 tmp]$ ls -l
总用量 120
-rw-r--r--. 1 root root 1008 10月 25 02:25 1.txt
-rw-rw-r--. 1 aming aming 0 10月 26 13:10 aming //能看到变化
[aming@centos001 tmp]$ vi aming //这时能够写入 可是用另外一个普通用户不能删除
软连接
- 用法 ln -s 源文件 目标文件
- 软链接,相似Windows上的快捷方式,软链接是一个独立文件。
- 在建立软文件的软链接时,来源文件能够是不存在的文件,而目标文件---快捷方式必须是新文件。
- 仅适用于目录,若快捷方式-->目标目录不存在,会建立相应的目录;若已存在,会在目标目录里面建立一个以来源文件命名的子目录。
- 可跨分区当来源文件是普通文件时,目标文件名称不能够是已经存在的文件
- 当来源文件是目录时,目标文件名称能够软链接,删除来源文件,目标文件失效
- 全部软链接的权限都是777,但并不是全部用户都对该连接可读可写可执行,是否有这个权限,要看软链接的源文件的权限
硬连接
- 用法 ln 源文件 目标文件
- 每一个文件都有一个属于本身的inode
- 当使用硬连接时,硬连接文件直接连接到文件放置的块区域。也就是说,进行硬连接的时候实际上文件内容没有任何变化,只是制定了相同的inode。
- 硬连接文件直接连接到文件放置的块区域。也就是说,进行硬连接的时候实际上文件内容没有任何变化,只是制定了相同的inode。