回忆录之权限管理

理解权限:

合租房子模型:

自己租得房子(所有者权限),厨房(用户组权限),其他人不具有房子的使用权限(其他人权限),房东(root权限)

权限是相对于目录和文件来说的:
-rw-r–r– | 1 | root | root | 555 |A pr 20 18:25 | test.txt
权限 | 连接数 | 所有者 | 用户组 | 文件容量 | 修改日期 | 文件名

注:连接数是指硬连接数并不是软连接,硬连接是使用同一个i-node而软连接不会,如果是程序员这个很好理解硬连接就相当于对象引用计数,所有引用都不存在了,这个对象才会回收,而这里是文件才会丢失,而软连接是只知道对象的名字,并没有引用对象,因此文件丢失,软连接也会失效。

权限说明:

- | r,w,- | r,-,- | r,-,-
文件类型 | 所有者权限(u):读,写,执行 | 用户组权限(g):读,写,执行 | 其他用户(o):读,写,执行

文件类型:

d | - | l | b | c |
目录|文件|连接文件|存储设备|一次性读取设备(鼠标)

权限数字表示:

r | w | x
4 | 2 | 1
注:由左到右,从大到小
对于目录来说,x代表能够进入这个目录
写权限不仅是字面意思:还包括新建文件和目录,删除文件和目录,重命名,转移目录中得文件和目录

默认权限:

在新建文件或者目录时默认的权限
umask -S

umask 是减权限的,如umask 022
0代表用户不减权限,用户组和其他用户减掉了写权限
默认文件新建时不会加上执行权限,而目录会加上
因此 022 代表
文件(-rw-rw-rw-) - (—–w–w-) => (-rw-r–r–)
目录(drwxrwxrwx) - (d—-w–w-) => (drwxr-xr-x)

细化权限(EXT2,EXT3):

更细致的权限:只能增加数据不能修改,不能被删除等等
chattr +i|-i 不能被删除,改名,设置连接,无法写入数据
+a | -a 只能添加数据,不能删除也不能修改

lsattr [-adR] 列出隐藏属性

特殊权限:

suid,sgid,sbit
4,2,1
suid执行时获得程序所有者权限
sgid执行时获得程序的所属组权限
sbit创建文件时只有自己和root才能删除

大s代表空的权限
而小s才是实际权限的

单独设置权限ACL

如果想单独给某个用户设置权限,可以用上acl

挂载时启动acl

mount -o remount,acl /dev/sda1

设置acl权限

setfacl [-bkRd] [{-m|-x} acl参数] 文件名
-m :设置后续的acl参数
-x :删除后续的acl参数
-b :删除所有的ACL设定参数
-R :递归设置acl参数
-d :设置预设的acl参数(只对目录有效,在该目录新建的文件也会使用此ACL默认值)
-k :删除预设的ACL参数

user :ACL_USER_OBJ和ACL_USER
group :ACL_GROUP_OBJ和ACL_GROUP
mask :ACL_MASK
other :ACL_OTHER

查看acl权限getfacl

getfacl test.txt

注:mask是限制最大权限用的
如:设置了test.sh的最大权限为r,超过r的权限将会是无效的
setfacl -m mask::r test.

getfacl -c test.sh
user::rwx
user:zyq:rwx #effective:r–
group::rw- #effective:r–
mask::r–
other::r–

查看权限

列出文件和目录权限

ls -al

查看是否开启acl

df –>获得文件系统如:/dev/sda1
dumpe2fs /dev/sda1 |grep acl

修改权限:

改变文件所有者:chown
chown [-R] 用户名:组名 文件或者目录
[root 权限]chown -R tester:tester /tmp/test/
注:需要有足够的权限使用这个命令,如果是远程挂载的目录,是不能在本地改所有者的
-R代表递归修改,比如一个目录下所有文件和目录都修改,就加上这个

改变文件用户组: chgrp

chgrp [-R] 用户组 文件或者目录
chgrp tester /tmp/test.txt

直接改变用户权限:chmod

数字方式:

chmod [-R] XYZ 文件或者目录
chmod 777 /tmp/test.txt

字母方式:

chmod [-R] u|g|o|a +|-|= r|w|x 文件或目录
chmod u=rwx,go=rx /tmp/test.sh 所属用户有所有权限,而用户组和其他用户只有读和执行的权限
chmod a+x /tmp/test.sh 所有用户都有执行权限
chmod a-x /tmp/test.sh 去掉所有用户的执行的权限

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值