linux权限管理详解,linux权限管理详解-Go语言中文社区
普通权限
-rw-r–r--. 1 root root 0 Feb 14 23:33 test
第1位标识文件类型:
-:普通文件
b:块设备
c:字符设备
d:目录
l:符号链接
s:套接字文件
p:命名管道
2~4位表示拥有者的权限
5-8位表示所属组的权限
9~11位表示其他人的权限
权限的定义:
r:可读,对文件来说即可以读取文件的具体内容(cat,more,less,vim),对目录而已即为可读取目录列表(ls)
w:可写,对文件即可以修改文件内容(vi),对目录即可以修改目录内容(创建,重命名,删除文件)
x:可执行,对文件即能执行文件内容(这里的文件一般是二进制文件,shell脚本,其他任何需要执行的文件),对目录即为可以进入目录(cd)
权限修改相关命令
- chown(改变文件所有者,也可以实现chgrp的功能)
* chown [-R] username filename/dirname:只修改所有者,-R是递归更改目录下的文件
* chown [-R] username:groupname filename/dirname:同时修改所有者和用户组
* chown [-R] .groupname filename/dirname:只修改用户组
- chgrp(改变文件所属用户组)
* chgrp [-R] groupname filename/dirname
- chmod(改变文件的权限)
* 符号表达 chmod [-R] [{ugoa}{+-=}{rwx}] filename/dirname
备注: u:所有者 g:所属组 o:其他人 a:所有人
+:为用户增加权限 -:为用户减少权限 =:为用户赋予权限
r:读权限 w:写权限 x:执行权限
例子: 将一个文件的权限设置为-rwxr-xr-x
chmod u=rwx,g=rx,o=rx /tmp/test
* 数字表达 chmod [-R] [mode=421] filename/dirname ←(这种方法用的比较多)
备注: r:4 w:2 x:1
例子: 将一个文件的权限设置为-rwxr-xr-x
chmod 755 /tmp/test
特殊标识位
1.SUID
当s出现在文件的所有者标记上,代替了x权限,就称为Set UID,简称为SUID,该权限针对命令和二进制程序,当普通用户执行某个(passwd)命令的时候,可以拥有这个命令对应用户的权限,
即让普通用户可以以root用户的角色执行程序或命令。
2. SGID
当s出现在用户所有组标记上,代替了x权限,就称为Set GID,简称为SGID
该权限具有以下功能:
SGID应用在文件上:
SGID对二进制程序有用
程序执行者对于该程序来说,需具备x的权限
执行者在执行过程中将会获得该程序用户组的支持
SGID应用在目录上:
用户若对于此目录具有r和x的权限时,该用户能够进入此目录
用户在此目录下的有效用户组将会变成该目录的用户组
若用户在此目录下具有w的权限(可以新建文件),则用户所创建的新文件的用户组与此目录的用户组相同
3. SBIT
SBIT,只针对目录有效,当用户在该目录下创建文件或目录时,仅有自己与root才有权利删除该文件
4. 特殊权限变更命令
同样通过chmod命令来修改特殊权限
符号表达:
chmod a+s filename
chmod g+s filename/dirname
chmod o+t dirname
数字表达:
suid:4 sgid:2 sbit:1
只要在普通权限的前面加上一位即可
例如,要设置一个普通权限为755,并且是SUID,就使用命令:chmod 4755 filename即可
权限掩码(umask)
文件目录初始权限
文件:inux系统新建文件默认没有执行权限,其最大权限为rw-rw-rw-(666)
目录:新建目录的最大权限为rwx-rwx-rwx(777)
计算默认权限
文件:666-umask值所对应的权限
目录:777-umask值所对应的权限
可通过umask命令查看当前的umask值,一般情况下,root的umask022,普通用户为002,计算时建议将umask值转化为对应权限去相加减,数字加减后转换在umask值中有奇数的情况可能会产生错误。
ACL
ACL是Access Control List的缩写,主要提供更加细粒度的权限设置,ACL可以针对单一用户,单一文件或目录进行r、w、x的权限设置,对于需要特殊权限的使用状况非常有用,,需要文件系统选项(ACL)支持。
setfacl命令:设置某个目录/文件的ACL规定
用法:setfacl [-bkRd] [{-m | -x}] acl参数 filename
参数:
-m:设置后续的acl参数给文件使用,不可与-x合用
-x:删除后续的acl参数,不可与-m合用
-b:删除所有的acl参数
-k:删除默认的acl参数
-R:递归设置acl,子目录也会被设置acl
-d:设置默认的acl参数,只对目录有效,在该目录新建的数据都会引用该值
举例说明:几个程序员对同一个目录(/tmp/test)具有完全的权限,但是只允许项目经理(manager)进入到该目录里查看(不允许任何的其他人进入该目录,同时项目经理也不能修改任何的东西)。此时就要使用到acl:
setfacl -m u:manager:rx /tmp/test
设置acl的文件这里会有一个+号
getfacl命令:取得某个文件/目录的ACL设置项目
文件特殊属性
chattr +a filename 只允许以追加方式读写文件
chattr +c filename 允许这个文件能被内核自动压缩/解压
chattr +d filename 在进行文件系统备份时,dump程序将忽略这个文件
chattr +i filename 设置成不可变的文件,不能被删除、修改、重命名或者链接
chattr +s filename 允许一个文件被安全地删除
chattr +S filename 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘
chattr +u filename 若文件被删除,系统会允许你在以后恢复这个被删除的文件
lsattr filename 显示特殊的属性
linux权限管理详解,linux权限管理详解-Go语言中文社区相关推荐
- linux6.5做bond1,Linux CentOS 7 多网卡配置bond模式 bond1 bond5 bond6-Go语言中文社区
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/sec-N ...
- linux 多线程聚集写程序,Linux篇二:Makefile写多线程多文件程序-Go语言中文社区...
距离上次布置任务已经两个周了,虽然这是自己的业余学习,还是为自己的工作时间安排表示有待提高.. 废话不多说,直接上干货. 这次老师布置的任务要求是,Makefile写多线程.多文件调用.用上数学函数. ...
- linux iio 设备驱动,Linux设备驱动之IIO子系统——IIO框架数据读取-Go语言中文社区...
IIO DATA ACCESS IIO数据获取 只有两种方法可以使用IIO框架访问数据; 通过sysf通道进行一次性捕获,或通过IIO字符设备进行连续模式(触发缓冲). One-shot captur ...
- 管理学生信息android,Android 学生信息管理系统-Go语言中文社区
android:layout_width="fill_parent"android:layout_height="wrap_content"android:gr ...
- rust的矿坑_转: Rust中的Pin详解 【Rust语言中文社区】
Rust中的Pin详解 原创 automanyang Rust语言中文社区 昨天 https://mp.weixin.qq.com/s/PjctbPbyR5OeaqTHZdB5uQ 相关概念 Pin ...
- go linux下进程守护,Linux系统进程管理-Go语言中文社区
一.进程基础知识 1.1 Linux进程的概念 Process:是运行中的程序的一个副本,是被载入内存的一个指令集合.进程ID(Process ID,PID)号码被用来标记各个进程 UID.GID.和 ...
- 博通蓝牙驱动linux,基于Android8.1的博通bcm89342蓝牙驱动的驱动移植记录-Go语言中文社区...
说明 本文档是基于Android 8.1版本的一款博通蓝牙的驱动移植全过程记录.本驱动是通过/dev/ttyS2和蓝牙进行通信.因为较android以前的版本有很大变化尤其是上层关于蓝牙协议栈的部分, ...
- qt程序部署在linux,Qt应用打包发布,部署真正的Qt程序LinuxWindows-Go语言中文社区...
最近在发布Qt应用时遇到了一些困难,Windows还好,在Linux上面发布遇到了不少的麻烦(实际Linux应该简单才对),经过在网络搜索发现帖子不少,但都比较片面,现把Qt应用程序在Linux&am ...
- WSL安装Oracle,折腾记录:WSL(Windows Subsystem for Linux,Windows上的Linux子系统)安装后的环境配置-Go语言中文社区...
WSL(Windows Subsystem for Linux,Windows上的Linux子系统)的安装比较简单,教程网上较多,此处略过.安装后须要进行一系列配置(如软件源配置.中文配置.图形化配置 ...
最新文章
- 延长 XSS 生命期
- python3 域名转ip
- 南阳理工大学 gnns 新基准
- ssh免密登录方法不生效?Authentication refused: bad ownership or modes for directory
- web应用的目录结构
- P4332-[SHOI2014]三叉神经树【LCT】
- PowerDesigner(一)-PowerDesigner概述(系统分析与建模)
- Theano 中文文档 0.9 - 6. 更新Theano
- 不懂电脑如何买电脑_买电脑交智商税?5分钟看懂笔记本电脑配置
- android常见的面试题,Android常见笔试面试题
- hbase windows 单机版安装
- Machine Learning——Homework2
- 软件评测师考试备考资料分享
- 天池大数据竞赛-河北高校邀请赛——二手车交易价格预测-初赛第22名
- 中国大学 MOOC C语言程序设计----编程部分答案解析
- 在线免费完整PDF转PPT格式
- java sqoop api 导mysql数据到hdfs
- 【工具篇】---PDFRenderer动态加载Pdf之花样自定义显示
- 苹果公司对失败的总结和展望未来
- 大数据测试--转载自开源优测
热门文章
- Error in ** : incorrect number of dimensions
- R语言使用ggpubr包绘制出版社、编辑、审稿人要求的可视化图形实战
- glm.fit Warning Messages in R: algorithm didn’t converge probabilities 0/1
- 特征工程之时间特征、自然语言特征、图像图像特征、数据分布不平衡
- Windows下查看已经安装的GPU的情况
- 产品线的长度宽度深度_LED照明经销商该如何规划自己的产品线
- KD树和LSH局部敏感哈希
- 一套Python试题
- A fuzzy Bruijn graph approach to long noisy reads assembly
- python 离线下载和安装第三方库 .whl wheel 文件