特殊权限与链接模式

简介:

一、特殊权限

    在linux系统中,有一些特殊的权限,它们适用于极少数特殊的场景。虽然适用的场景比较少,但不代表它们不重要。比如set_uid权限,这个权限的存在,才使得操作系统的用户才能自如的更改登录口令。

    在linux操作系统中,特殊权限主要有以下几个:

1、set_uid

当普通用户执行带set_uid标识位的命令文件时,将临时使用所有者的权限执行该命令。

1
2
3
4
5
6
7
8
9
10
11
12
[root@server02 ~] # ll /usr/bin/ls
-rwxr-xr-x. 1 root root 117656 11月  6 2016  /usr/bin/ls
[root@server02 ~] # chmod a+s /usr/bin/ls
[root@server02 ~] # ll /usr/bin/ls
-rwsr-sr-x. 1 root root 117656 11月  6 2016  /usr/bin/ls
[root@server02 ~] # chmod u-s /usr/bin/ls
[root@server02 ~] # ll /usr/bin/ls
-rwxr-xr-x. 1 root root 117656 11月  6 2016  /usr/bin/ls
[root@server02 ~] # chmod u=rws !$
chmod  u=rws  /usr/bin/ls
[root@server02 ~] # ll /usr/bin/ls
-rwSr-xr-x. 1 root root 117656 11月  6 2016  /usr/bin/ls

注:标识位会显示大写的“S”是因为没有执行权限。

2、set_gid

当普通用户执行带set_gid标识位的命令文件时,将临时使用所属组的权限执行该命令;

设置了set_gid标识位的目录,可以作用于子目录和子文件有相同的所属组。

1
2
3
4
5
6
7
8
[root@server02  test ] # ll
总用量 0
drwxr-xr-x. 4 root user1 75 5月  30 07:54  test
[root@server02  test ] # chmod g+s test
[root@server02  test ] # touch test/10.txt
[root@server02  test ] # ll test/
总用量 0
-rw-r--r--. 1 root user1  0 5月  30 08:32 10.txt

3、stick_bit

设置了stick_bit标识位的文件或目录无法被其他用户删除。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@server02 /] # ll 
总用量 16
lrwxrwxrwx.  1 root root    7 5月  27 06:10 bin -> usr /bin
dr-xr-xr-x.  4 root root 4096 5月  27 06:35 boot
drwxr-xr-x. 19 root root 3160 5月  30 00:04 dev
drwxr-xr-x. 75 root root 8192 5月  30 07:14 etc
drwxr-xr-x.  5 root root   45 5月  30 07:14 home
lrwxrwxrwx.  1 root root    7 5月  27 06:10 lib -> usr /lib
lrwxrwxrwx.  1 root root    9 5月  27 06:10 lib64 -> usr /lib64
drwxr-xr-x.  2 root root    6 11月  5 2016 media
drwxr-xr-x.  2 root root    6 11月  5 2016 mnt
drwxr-xr-x.  2 root root    6 11月  5 2016 opt
dr-xr-xr-x. 98 root root    0 5月  29 12:05 proc
dr-xr-x---.  3 root root  163 5月  30 05:40 root
drwxr-xr-x. 21 root root  580 5月  29 20:45 run
lrwxrwxrwx.  1 root root    8 5月  27 06:10 sbin -> usr /sbin
drwxr-xr-x.  2 root root    6 11月  5 2016 srv
dr-xr-xr-x. 13 root root    0 5月  29 12:05 sys
drwxrwxrwt. 10 root root  170 5月  30 04:20 tmp              //tmp 目录是一个典型的例子
drwxr-xr-x. 13 root root  155 5月  27 06:10 usr
drwxr-xr-x. 19 root root  267 5月  29 12:05 var
[root@server02 /] #


二、链接模式

1、软链接

概念:相当于一个快捷方式,通过这个快捷方式能够更方便使用者调用文件或目录。

1
2
3
4
5
6
[root@server02 tmp] # ln -s test test-ln
[root@server02 tmp] # ll
总用量 0
drwxr-xr-x. 3 root root  18 5月  30 08:27  test
lrwxrwxrwx. 1 root root   4 5月  30 08:43  test - ln  ->  test
[root@server02 tmp] #

从上面的代码可以看到,软链接占的空间资源比较少。当源文件删除时,软链接文件也就失效了。此外,需要注意的是,软链接命令推荐使用绝对路径。

这样,即使移动软链接文件也不会失效。

2、硬链接

概念:使用同一个inode的多个文件。

1
2
3
4
5
6
7
8
9
10
[root@server02 tmp] # ln test test-hd
ln "test" : 不允许将硬链接指向目录
[root@server02 tmp] # touch 1.txt
[root@server02 tmp] # ln 1.txt 1-hd.txt
[root@server02 tmp] # ls -il
总用量 0
16777289 -rw-r--r--. 2 root root  0 5月  30 08:50 1-hd.txt
16777289 -rw-r--r--. 2 root root  0 5月  30 08:50 1.txt
33595402 drwxr-xr-x. 3 root root 18 5月  30 08:27  test
16958225 lrwxrwxrwx. 1 root root  4 5月  30 08:43  test - ln  ->  test

注:硬链接不能作用于目录。且作用于文件时不能跨分区。










本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1933632,如需转载请自行联系原作者


相关文章
|
数据安全/隐私保护
fastadmin是如何设置没有权限的用户不能访问某些页面的?
fastadmin是如何设置没有权限的用户不能访问某些页面的?
497 0
|
7月前
|
Linux Shell 数据安全/隐私保护
【Linux系统编程】系统用户和权限的操作--1
【Linux系统编程】系统用户和权限的操作--1
|
7月前
|
Linux 开发工具
【Linux系统编程】系统用户和权限的操作--2
【Linux系统编程】系统用户和权限的操作--2
|
7月前
|
Linux
【Linux系统编程】系统用户和权限的操作--3
【Linux系统编程】系统用户和权限的操作--3
【博客项目】—用户删除功能(十二)
【博客项目】—用户删除功能(十二)
|
资源调度 前端开发 数据库
权限 | 前端控制权限
啊,我们经常做权限控制,控制菜单,控制按钮功能等,但是在一些特殊情况下不能够由后端来做权限控制,那就只能前端来做啦。
|
UED
路由权限登录后还保留上一个登录角色的权限,刷新一下就好了的解决方案
路由权限登录后还保留上一个登录角色的权限,刷新一下就好了的解决方案
97 0
|
SQL XML 缓存
修改若依的数据权限功能
修改若依的数据权限功能
1162 0
|
分布式计算 DataWorks MaxCompute
MaxCompute中如何通过policy 禁止角色的删除权限
Policy授权则是一种基于主体的授权。通过Policy授权的权限数据(即访问策略)被看做是授权主体的一种子资源。只有当主体(用户或角色)存在时才能进行Policy授权操作。当主体被删除时,通过Policy授权的权限数据会被自动删除。 Policy授权使用MaxCompute自定义的一种访问策略语言来进行授权,允许或禁止主体对项目空间对象的访问权限。Policy授权机制,主要解决ACL授权机制无法解决的一些复杂授权场景。
1094 0
MaxCompute中如何通过policy 禁止角色的删除权限
|
文件存储
Confluence 6 全局权限概述
全局权限用于在 Confluence 中定义全站可以进行的操作。为一个用户或用户组指定全局操作权限,你需要具有 Confluence 管理员或更高的权限。
1263 0