特殊权限与链接模式

简介:

一、特殊权限

    在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,如需转载请自行联系原作者


相关文章
|
运维 负载均衡 安全
架构图怎么画?
架构图怎么画?
|
8月前
|
人工智能
0元打造520浪漫神器,用CodeBuddy生成专属爱情故事书
520即将到来,还在为挑选礼物发愁吗?想送特别的又预算有限?试试用CodeBuddy打造0成本、情感满分的浪漫礼物!只需简单指令,无需写代码,即可生成专属你们的爱情故事书。输入名字与相识时间,自动生成温馨网页或PDF,支持私密链接保存、打印成册,甚至嵌入音乐照片。CodeBuddy作为AI开发搭档,助你将回忆化为独特惊喜,让科技书写动人情话。今年520,用心意与创意打动对方!
|
数据采集 机器学习/深度学习 前端开发
PHP爬虫性能优化:从多线程到连接池的实现
本文介绍了一种通过多线程技术和连接池优化PHP爬虫性能的方法,以新浪投诉平台为例,详细展示了如何提高数据采集效率和稳定性,解决了传统单线程爬虫效率低下的问题。
347 2
PHP爬虫性能优化:从多线程到连接池的实现
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
411 5
|
机器学习/深度学习 存储 数据采集
强化学习系列:A3C算法解析
【7月更文挑战第13天】A3C算法作为一种高效且广泛应用的强化学习算法,通过结合Actor-Critic结构和异步训练的思想,实现了在复杂环境下的高效学习和优化策略的能力。其并行化的训练方式和优势函数的引入,使得A3C算法在解决大规模连续动作空间和高维状态空间的问题上表现优异。未来,随着技术的不断发展,A3C算法有望在更多领域发挥重要作用,推动强化学习技术的进一步发展。
|
JSON API 网络架构
Django 后端架构开发:DRF 高可用API设计与核心源码剖析
Django 后端架构开发:DRF 高可用API设计与核心源码剖析
573 2
|
机器学习/深度学习 人工智能 算法
探索人工智能在农业领域的应用与前景
当谈到人工智能的应用领域时,农业往往被人们忽略。然而,人工智能技术在农业领域的应用正日益成为研究热点。本文将探讨人工智能在农业中的潜在应用价值和未来发展前景,揭示其在提高农业生产效率、资源利用和环境保护方面的巨大潜力。
382 2
|
存储 算法 C语言
c++游戏制作指南(二):制作一个炫酷的启动界面(c++绘图)
c++游戏制作指南(二):制作一个炫酷的启动界面(c++绘图)
781 0
|
JavaScript IDE 前端开发
从 VS Code 的历史中可以学到的经验
VS Code 作为目前使用人数绝对 Top1 的 IDE/Editor(Stackoverflow 2021 调研:https://insights.stackoverflow.com/survey/2021#section-most-popular-technologies-integrated-development-environment 有 71% 的开发者使用),一定是做对了一些关键的事情才达到今天的规模,如果想做好一个技术性的产品或工具,细细研究,一定能有所收获。
2826 0
从 VS Code 的历史中可以学到的经验

热门文章

最新文章