linux 权限

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a1065712890/article/details/80540639

Linux 系统中,UID以如下的方式划分:

0 表示管理员(root),超级管理员,最大权限
1 - 500 表示系统用户,与一些系统服务有关
501 - 65535 表示普通用户,也就是自己创建的用户

不同的 Linux 发行版,这些数字可能不一样

#创建用户
useradd zhangsan
#删除用户

#仅删除用户
userdel zhangsan
#删除家目录
userdel -r zhangsan

#显示用户id
id zhangsan

#修改用户密码
echo "newpassword" | passwd --stdio zhangsan

文件权限
这里写图片描述
每一列分别为 权限,文件硬链接数 ,所属用户,所属组,大小,时间,名称

其中权限里
第一个 为d代表是目录,为-代表用户可以查看的如文本文件,为c或者d代表块或者设备文件
这里写图片描述

r,w,x分别代表读,写,执行权限,没有该权限为-,不能省略
例如,只能读,则为 r–
然后r,w,x又分别对应4,2,1
那么 rwx=7, r-x=5, -wx=3

#改变文件权限,a代表所有,u代表拥有者,g代表组,o代表其他
#把拥有者权限改成读写执行
chmod u=rwx test.txt
#单独增加某项权限,给所有用户执行权限
chmod a+x test.txt
#一起改变三类用户权限,权限分别为 rwx,r-x,-w-
chmod 752 test.txt
#更改文件所属用户
chown root test.txt

还有3个特殊权限
SUID,SGID和SBIT
这里写图片描述
分别出现在文件所属用户,所属组,和其他上的执行位
若当这些权限存在,执行位为-时,该位为s(t),执行位为x时,该位为S(T)

SUID
1.SUID只对二进制文件有效
2.调用者对该文件有执行权
3.在执行过程中,调用者会暂时获得该文件的所有者权限
4.该权限只在程序执行的过程中有效

SGID
它对普通二进制文件和目录都有效。当它作用于普通文件时,和SUID类似,在执行该文件时,用户将获得该文件所属组的权限。当SGID作用于目录时,意义就非常重大了。当用户对某一目录有写和执行权限时,该用户就可以在该目录下建立文件,如果该目录用SGID修饰,则该用户在这个目录下建立的文件都是属于这个目录所属的组。

SBIT
即Sticky Bit,它出现在其他用户权限的执行位上,它只能用来修饰一个目录。当某一个目录拥有SBIT权限时,则任何一个能够在这个目录下建立文件的用户,该用户在这个目录下所建立的文件,只有该用户自己和root可以删除,其他用户均不可以。

4表示SUID 2表示SGID 1表示SBIT
写在前面的三种权限之前,若都有,则为7777

chattr命令用来改变文件属性。又称隐藏权限,不会改变前面的几种权限
这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:

a:让文件或目录仅供附加用途;
b:不更新文件或目录的最后存取时间;
c:将文件或目录压缩后存放;
d:将文件或目录排除在倾倒操作之外;
i:不得任意更动文件或目录;
s:保密性删除文件或目录;
S:即时更新文件或目录;
u:预防意外删除。

#增加和删除a权限
chattr +a test.txt
chattr -a test.txt

#查看隐藏权限
lsattr

对单个用户设置权限
文件访问权限控制列表 facl

#设置权限
setfacl -Rm u:zhangsan:rwx momo
#查看权限
getfacl momo
展开阅读全文

没有更多推荐了,返回首页