linux学习第九篇:特殊权限set_uid,set_gid,stick_bit以及软连接文件,硬链接文件

特殊权限set_uid

权限s即为set_uid(给一个文件设置set_uid权限的前提是这个文件是二进制可执行文件)

[root@xie-02 ~]# ls -l /usr/bin/passwd 
-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

set_uid的作用:保证普通用户临时拥有该命令所有者root的身份

chmod u+s /usr/bin/ls   //给ls命令添加权限s,即当使用除root用户以外的用户时,有权限使用ls命令(使用u-s即可取消权限s)

chmod u=rws /usr/bin/ls  //s权限会变为S,原因是因为没有x权限,所以加上x权限后会变为s

PS:权限为大写S的影响不大。

[root@xie-02 ~]# ls -l /usr/bin/ls
-rwxr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls
[root@xie-02 ~]# chmod u=rws !$
chmod u=rws /usr/bin/ls
[root@xie-02 ~]# ls -l /usr/bin/ls
-rwSr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls
[root@xie-02 ~]# chmod u+x /usr/bin/ls
[root@xie-02 ~]# ls -l /usr/bin/ls
-rwsr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

特殊权限set_gid

set_gid作用于所有组

[root@xie-02 ~]# chmod g+s /usr/bin/ls
[root@xie-02 ~]# ls -l !$
ls -l /usr/bin/ls
-rwxr-sr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

set_gid的作用:保证普通用户临时拥有该命令所属组的身份

chmod g+s /usr/bin/ls   //给ls命令添加权限s,即所属组下的用户拥有所属组root的权限(使用u-s即可取消权限s)

chmod g+s  test   //作用于目录时,在该目录下创建的子目录和文件的所属组都会跟目录的所属组保持一致

[root@xie-02 ~]# ls -ld test
drwxr-xr-x. 2 root root 6 10月 25 16:25 test
[root@xie-02 ~]# chmod g+s test/                //给目录test加上set_gid权限
[root@xie-02 ~]# ls -ld test
drwxr-sr-x. 2 root root 6 10月 25 16:25 test
[root@xie-02 ~]# chown :xie test/               //更改目录所属组为xie
[root@xie-02 ~]# ls -ld test
drwxr-sr-x. 2 root xie 6 10月 25 16:25 test
[root@xie-02 ~]# touch test/1.txt	        //在该目录下创建文件1.txt
[root@xie-02 ~]# ls -l test/
总用量 0
-rw-r--r--. 1 root xie 0 10月 25 16:27 1.txt    //文件的所属组与目录test一致
[root@xie-02 ~]# mkdir test/test1		//创建子目录test1
[root@xie-02 ~]# ls -l test/			//子目录test1的所属组与目录test一致
总用量 0
-rw-r--r--. 1 root xie 0 10月 25 16:27 1.txt
drwxr-sr-x. 2 root xie 6 10月 25 16:31 test1
[root@xie-02 ~]# chmod g-s test			//取消目录test的set_gid权限
[root@xie-02 ~]# ls -ld test
drwxr-xr-x. 3 root xie 32 10月 25 16:31 test
[root@xie-02 ~]# touch test/2.txt		//在目录test下创建文件2.txt以及子目录test2
[root@xie-02 ~]# mkdir test/test2
[root@xie-02 ~]# ls -l test/			//目录test在没有set_gid权限情况下,创建的文件和子目录所属组都为root
总用量 0
-rw-r--r--. 1 root xie  0 10月 25 16:27 1.txt
-rw-r--r--. 1 root root 0 10月 25 16:35 2.txt
drwxr-sr-x. 2 root xie  6 10月 25 16:31 test1
drwxr-xr-x. 2 root root 6 10月 25 16:35 test2

特殊权限stick_bit

stick_bit :防删除位,防止别的用户删除本用户创建的文件,root 除外

[root@xie-02 ~]# ls -ld /tmp/
drwxrwxrwt. 19 root root 4096 10月 25 12:22 /tmp/     //权限t为stick_bit

软连接文件

软连接文件通俗将就是相当于快捷方式

[root@xie-02 ~]# ls -l /bin
lrwxrwxrwx. 1 root root 7 10月 21 20:55 /bin -> usr/bin         //软连接文件

ln -s  源文件  软连接文件   //可软连接文件也可软连接目录

ln -s  /tmp/yum.log   /root/yum.log    //将目录tmp下的yum.log文件创建软连接文件到root目录下

PS:做软连接时尽量使用绝对路径,避免移动软连接文件时出现源文件不存在的情况

硬连接文件

PS:1.硬链接不支持对目录做硬连接,只支持对文件。

        2.文件硬链接不能跨分区。因为分区之间有自己独立的inode体系(如boot分区下有inode号74的,根下也有inode74,因此会有冲突)

硬链接文件就相当于披了源文件的皮,跟源文件指向同一个inode号

硬链接命令用法:   ln 源文件  硬链接文件  

PS:软连接文件与硬链接文件的区别在于,软连接文件的源文件若被删除,软连接文件也会失效。而硬链接文件的源文件若被删除,硬链接文件不受影响

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏存储

建立本地的Blast数据库

Blast(basic local alignment search tool) 局部序列比对基本检索工具,是NCBI开发的一款基于序列相似性的数据库搜索程序。...

72590
来自专栏散尽浮华

linux下文件加密操作记录

为了安全考虑,通常会对一些重要文件进行加密备份或加密保存,下面对linux下的文件加密方法做一简单介绍: 一、 ZIP加密 1)文件加密 使用命令"zip -e...

434100
来自专栏散尽浮华

linux下监控某个目录是否被更改

需求:对一个目录(比如/data/test)进行监控,当这个目录下文件或子目录出现变动(如修改、创建、删除、更名等操作)时,就发送邮件! 针对上面的需求,编写s...

1K80
来自专栏编程

多迪技术总监揭秘:前端工程师主要做什么?前景怎么样?

下面多迪技术总监向你介绍什么是web前端工程师?Web前端工程师到底做什么?每一个初入web前端开发的人都会被各种问题困扰,甚至,这些困惑导致夸大学习难度,形成...

297100
来自专栏数据库

开发篇-MySQL分区(一)

MySQL从5.1版本开始支持分区的功能。分区是指根据一定的规则,数据库把一个表分解成多个更小的、更容易管理的部分。就访问数据库的应用而言,逻辑上只有一个表或一...

27970
来自专栏不想当开发的产品不是好测试

java项目 远程debug

AVA项目无法像PHP那样可以随时修改文件内容进行调试,调试可以借助eclipse,本地代码的话很容易在本地debug,但如果代码已经打包部署在linux上呢?...

31270
来自专栏散尽浮华

linux下core file size设置笔记

现象说明:突然发现一台测试机器的java程序莫名其妙地没了,但是没有core dump!这就需要打开服务器的core文件生成的功能了,(即core dump文件...

698100
来自专栏Linux运维学习之路

Linux Rsync备份服务介绍及部署守护进程模式

rsync介绍 rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份工具 在常驻模式(daemon mode)下,rsync默认监...

42270
来自专栏编程

还没开始学Python之前,你要知道,Python程序员一定会的十件事

1、健康 ? 众所周知,每天坐8-16个小时是软件开发人员的“必须课”,在休息时间少之又少的情况下,添加脂肪是必不可免的,而成果可能导致肥壮。因此,体育锻炼必不...

36390
来自专栏Linux运维学习之路

Linux中MySQL配置文件my.cnf参数优化

MySQL参数优化这东西不好好研究还是比较难懂的,其实不光是MySQL,大部分程序的参数优化,是很复杂的。MySQL的参数优化也不例外,对于不同的需求,还有硬件...

85380

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励