linux基本权限和归属、附加权限、ACL策略管理、权限控制

基本权限与归属:

访问权限

读取:允许查看内容 -r read 4 写入:允许修改内容 -w write 2 可执行:允许运行和执行 -x excute 1 对于文本文件:

 

r:cat less head tail grep  
w:vim(可以保存) > >>  
x:针对shell脚本  

对于目录:

r:可以查看目录下的内容
w:可以在目录下创建、改名、删除、移动。。
x:可以切换到目录里

归属

所有者(属主):拥有此文件/目录的用户 -u user 所属组(属组):拥有此文件/目录的组 -g group

所有者的基本组会默认成为所有组

其他用户:除所有者所有组以外的用户 -o other ls -l -d 查看目录本身的详细信息

文本文件以 – 开头 目录以d开头 快捷方式以l开头

-rw-r–r–. 1 root root 2521 1月 16 01:22 /etc/passwd

 

1 含义:  
如果是目录 表示子目录的个数  
如果是文件 表示硬链接的个数  
第一个root 是所有者
第二个root 是所属组

文件目录默认权限

 

目录:755
文件:644
    
umask值 决定了文件目录的默认权限

查看命令 umask  
-S 创建目录,默认权限
0022  权限掩码值  
第一位附加权限 7-0 7  
目录使用 777-022 755  
文件使用 666-022 644 (linux为了安全默认文件没有执行权限)  

设置umask  

umask 077  

0077  

归属关系

 

chown -R

修改所有者 所有组
chown 所有者:所有组 /opt/t.txt

修改所有者
chown 所有者 /opt/t.txt

修改所有组
chown :所有组 /opt/t.txt
匹配即停止:
先判断所有者,再到所属组,最后其他人

附加权限

 

Set GID 也称 SGID

标识 s 占用属组的x位

添加命令

 

chmod g+s /nsd06
drwxr-sr-x. 2 gelin01 tarena 6 1月  18 16:03 /nsd06
小写 s  代表原来有执行权限
大写 S  代表原来没有执行权限

功能 在具备SGID权限的目录中,新建文档会自动继承父目录的属组身份

Sticky Bit 粘滞位(t 权限)

占用其他人的x位 t

小写 t 代表原来有执行权限 大写 T 代表原来没有执行权限

功能 在设置了粘滞位的文件夹下,即使用户有写入权限,也不能删除或改名其他用户文档

添加命令

 

chmod o+t /opt

Set UID 不常用

 

ACL策略管理

 

文档归属局限性

 

任何人只属于三种角色:属组,属主,其他人
无法实现更精细的控制

acl访问策略

 

能够对个别用户、个别组设置独立的权限
大多数挂载的EXT3/4,XFS文件系统默认支持

定义ACL控制权限 setfacl -m u:lisi:rx NB 查看acl权限

 

getfacl /NB

getfacl: Removing leading '/' from absolute path names
# file: opt/NB
# owner: root
# group: root
user::rwx
user:zhu:r-x
group::r-x
mask::r-x
other::---

定义之后属组权限显示的是mask(掩码值),没有任何意义
drwxr-x---+ 2 root root 6 1月  19 19:52 /opt/NB

+ 代表又额外的ack权限

设置权限

 

setfacl 【选项】u:用户名:权限 文件  
setfacl 【选项】g:组名:权限 文件   

-m 定义一条ACL策略
-x 清楚指定的ACL策略
-b 清楚所有已设置的ACL策略
-R 递归设置ACL策略

setfacl -Rm u:zhu:rwx /opt/NB

递归设置权限,Rm位置不能颠倒

单独拒绝一个人

 

setfacl -m u:zhu:--- /opt/NB

权限控制

 

chmod 命令  
格式:chmod 【ugoa】无空格【+-=】无空格【rwx】 文件  
chmod 【nnn】 文件  
-R:递归修改权限

赋予所有者读写执行权限

chmod u=rwx /opt/time.txt

赋予所有者读写执行权限,所有组可读可执行

chmod u=rwx,g=rx /opt/time.txt

禁止所有者的执行权限

chmod u-x /opt/time.txt

给所有者添加执行权限

chmod u+x /opt/time.txt

设置目录opt 以及其下的子文档均为对其他成员可读可写可执行

 

chmod -R o=rwx /opt
chmod o=---  /opt/time.txt 关闭其他人的权限

linux中如何判定用户的权限

 

1、首先判断用户对于数据的身份
2、判断该身份对数据的权限

权限数字表示

4 r 2 w 1 x

rwx 7 r-x 5 rw- 6 -wx 3

评论