Linux权限位(含特殊权限位s s t) 及chown\chmod命令使用
1.普通权限位
ls –l查看文件的属性
[root@oldboy ~]# ls -l
-rw-------. 1 root root 1073 Mar 4 22:08 anaconda-ks.cfg
-rwxrwxrwx 1 root root 256 Mar 24 21:27 get_ip.txt
-rw-r--r-- 1 root root 5 Mar 5 03:25 ifconfig
-rw-r--r--. 1 root root 22179 Mar 4 22:08 install.log
-rw-r--r--. 1 root root 5890 Mar 4 22:07 install.log.syslog
- chmod 可以改变文件权限
a.直接加数字
chmod 777 filename 给文件777权限 即-rwxrwxrwx
b.对应属主(u)\属组(g)或者其它用户(o)加减权限
chmod g+x filename 给属组用户添加x权限
2.特殊权限:特殊权限有三种:--s--s--t;
如果原来有x权限,则用小写s或者t,原来没有x权限则用大写S或者T
suid s(有x) S 4 用户对应的权限位(用户对应的3位上)
sgid s(有x) S 2 用户组对应的权限位(用户组对应的3位上)
sticky t(有x) T 1 其他用户对应的权限位
suid(set uid设置用户ID)限定:只能在设置二进制可执行程序上面,对目录设置无效。功能:程序运行行的权限从执行者变成程序的所有者。(因为二进制命令属于ROOT用户和ROOT组)。
a.所有(onwer)人s权限:称为Set UID,简称为SUID的特殊权限;即当执行该文件时将具有该文件所有者的权限。
当在文件上设置 suid 时,将以文件的属主的身份而不是运行该文件的用户身份执行操作。其中好的操作范本是 passwd 命令,它需要设置 suid 位,以便更改密码的操作具有 root 权限。
- 设置 suid 位的示例:chmod u+s /bin/foo_file_name
b.所在(group)组s权限:称为Set GID,简称为SGID的特殊权限;限定:既可以给二进制可执行程序,也可能以对目录设置。
功能:在设置了SGID权限目录下建议立文件时,新建的文件的所属组会继承上级目录的所属组。
一个使用 sgid 的例子是,如果多个用户正在同一个目录中工作,并且目录中创建的每个文件都需要具有相同的组权限。下面的示例创建一个名为meilian_net 的目录,设置 sgid 位,并将组所有权更改为 webdev。
1)mkdir meilian_net
2)chmod g+s meilian_net
3)chown :webdev meilian_net
现在,在该目录中创建的任何文件,都将具有 webdev 的组所有权,而不是创建该文件的用户的组。
1)cd meilian_net
2)touch file-sgid
3)ls -lah file-sgid
4)-rw-r--r--. 1 root webdev 0 Jun 12 06:04 file-sgid
- 设置Sgid方法:chmod 2755 file 或者 chmod g+s file
chown使用
-R:对目录及该目录下的所有文件和子目录都进行相同的操作,即递归更改目录的所有者;
1)chown root:root aaaa.txt
2)chown root: aaaa.txt
在用户名后跟冒号【: 】运行该命令将同时设置用户和组所有权。要仅将文件 aaaa.txt 的用户所有权设置为 root 用户,操作命令:
chown root aaaa.txt
要仅更改文件 aaaa.txt 的组所有权,则需要在组之前加冒号,操作命令:
chown :root aaaa.txt
[test@oldboy ~]$ touch aaaa.txt [test@oldboy ~]$ ls -l -rw-rw-r-- 1 test test 0 Mar 25 19:52 aaaa.txt [test@oldboy ~]$ chown root aaaa.txt #没有ROOT权限不能更改所属主或者组 chown: changing ownership of `aaaa.txt': Operation not permitted [test@oldboy ~]$ su - [root@oldboy ~]# ls [root@oldboy test]# ls -l -rw-rw-r-- 1 test test 0 Mar 25 19:52 aaaa.txt #aaaa.txt本身属实test用户 [root@oldboy test]# chown root aaaa.txt #使用chown命令改变aaaa.txt所属实用户
[root@oldboy test]# ls -l -rw-rw-r-- 1 root test 0 Mar 25 19:52 aaaa.txt #所属组test [root@oldboy test]# chown :root aaaa.txt #改变所属组
[root@oldboy test]# ls -l
-rw-rw-r-- 1 root root 0 Mar 25 19:52 aaaa.txt
最后的t权限:称为Sticky Bit,简称为SBIT权限,只针对目录有效。它表示只能让所属主以及root可以删除(重命名/移动)该目录下的文件,即便是该目录拥有w权限,但是除了root用户,其他用户只能对自己的文件进行删除、移动操作。
[root@oldboyedu ~]# ll -d /tmp/ drwxrwxrwt. 8 root root 105 Jul 2 10:15 /tmp/
如果该其他用户权限位上有执行权限,则会在其他用户权限位的执行权限上写个t(小写字母); 如果该其它用户权限位上没有执行权限,则会在其他用户权限位的执行权限上写个T(大写字母)。
授权方式:
[root@db04 ~]# chmod 1755 /opt
[root@db04 ~]# chmod o+t /opt
sticky(SI TI KI)粘滞,目前只对目录有效,作用如下:
普通用户对该目录拥有w和x权限,即普通用户可以在此目录中拥有写入权限,如果没有粘滞位,那么普通用户拥有w权限,就可以删除此目录下的所有文件,包括其他用户建立的文件。但是一旦被赋予了粘滞位,除了root可以删除所有文件,普通用户就算有w权限也只能删除自己建立的文件,而不能删除其他用户建立的文件。
tmp相当于共内容,所有用户可以对这个目录操作,但是不能破坏(t的作用)
/tmp是经典的粘滞位目录,特点:谁都有写的权限,因此有安全隐患
[root@localhost omd]# ll -ld /tmp/ -->t表示粘滞位t表示有个x,没有就是大T
- 设置sticky方法:chmod 1777 file 或者 chmod o+t file
Linux权限位(含特殊权限位s s t) 及chown\chmod命令使用的更多相关文章
- mssql sqlserver SQL 位运算举例权限应用
摘要: 下文通过举例的方式讲述sqlserver中位运算的相关知识,如下所示: 实验环境:sqlserver 2008 R2 在sqlserver的权限设置,我们通常使用1.2.4.8.16.32.6 ...
- linux文件及文件夹权限
以前上学的时候简单了解了下linux,现在对它的认识也只停留在一些小白命令上.以为我只要不是做服务器端开发的应该不会去碰吧,工作了才知道做开发的多少还是要熟悉一些linux的,至少你的项目会部署在li ...
- 【Linux学习】Linux下用户组、文件权限详解
原文地址:http://www.cnblogs.com/123-/p/4189072.html Linux下用户组.文件权限详解 用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在li ...
- Linux基础3(文件权限)
文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...
- linux文件权限表示及用户权限管理
UNIX/Linux下关于文件执行权限的表示和查看想必是最熟悉不过的,然而你是否真正了解用户文件的权限标识和用户的权限呢? 实际上文件权限标识不仅仅只有U, G, O 11 10 9 8 7 6 5 ...
- 用户管理 之 Linux 系统中的超级权限的控制
在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者.普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户. 在系统中,每个文件.目录和进程,都归属于某一个用户 ...
- 菜鸟学Linux命令:chmod命令和数字文件权限
chmod是一条在Unix系统中用于控制用户对文件的权限的命令(change mode单词前缀的组合)和函数.只有文件所有者和超级用户可以修改文件或目录的权限.可以使用绝对模式,符号模式指定文件的权限 ...
- Linux chmod命令修改文件与文件夹权限的命令附实例
Linux chmod命令修改文件与文件夹权限的命令附实例 作者:佚名 字体:[增加 减小] 来源:互联网 时间:05-01 20:46:07我要评论 在linux中要修改一个文件夹或文件的权限我们需 ...
- linux用户配置和用户权限
一.查看用户: (1)在终端里.输入:cat /etc/passwd,查看/etc/passwd文件就行了.(2)看第三个参数:500以上的,就是后面建的用户了.其它则为系统的用户. 查看当前在线用户 ...
随机推荐
- spring boot:用swagger3生成接口文档,支持全局通用参数(swagger 3.0.0 / spring boot 2.3.2)
一,什么是swagger? 1, Swagger 是一个规范和完整的文档框架, 用于生成.描述.调用和可视化 RESTful 风格的 Web 服务文档 官方网站: https://swagger.i ...
- linux(centos8):firewalld使用ipset管理ip地址的集合
一,firewalld中ipset的用途: 1,用途 ipset是ip地址的集合, firewalld使用ipset可以在一条规则中处理多个ip地址, 执行效果更高 对ip地址集合的管理也更方便 2 ...
- requirements基本使用
requirements作用描述:很多 Python 项目中经常会包含一个 requirements.txt 文件,里面内容是项目的依赖包及其对应版本号的信息列表,即项目依赖关系清单,其作用是用来重新 ...
- 第七章 TCP和UDP原理
一.引入 1.TCP/IP协议族的传输层协议主要包括TCP和UDP 2.TCP是面向连接的可靠的传输层协议.它支持在并不可靠的网络上实现面向连接的可靠的数据传输 3.UDP是无连接的传输协议,主要用于 ...
- 单元测试之道Java版——读书笔记
单元测试知道Java版读书笔记 首先我们必须要知道我们所写的代码,它的功能是什么,如果我们不了解代码的行为,那么也就无从测试. 我们测试的目的,是为了我们整个程序架构的稳定,代码其实就是欧文要实现功能 ...
- CentOS8安装本地mail工具-mailx-12.5-29.el8.x86_64
概述 服务器需要发告警邮件 查找是否已安装 [root@C8-1 ~]# type mail -bash: type: mail: not found [root@C8-1 ~]# which mai ...
- filezilla pureftpd 读取目录列表失败
放行 21, 39000 - 40000端口
- 观察者模式EventBus
EventBus能够简化各组件间的通信,让我们的代码书写变得简单,能有效的分离事件发送方和接收方(也就是解耦的意思),能避免复杂和容易出错的依赖性和生命周期问题. implementation 'or ...
- Java基础之类型转换总结篇
Java中,经常可以遇到类型转换的场景,从变量的定义到复制.数值变量的计算到方法的参数传递.基类与派生类间的造型等,随处可见类型转换的身影.Java中的类型转换在Java编码中具有重要的作用. ...
- CNN作为denoiser的优势总结
图像恢复的MAP推理公式: $\hat{x}\text{}=\text{}$arg min$_{x}\frac{1}{2}||\textbf{y}\text{}-\text{}\textbf{H}x| ...