linux系统文件权限

目录

文件权限

权限解释

权限的影响

权限对目录的影响

权限对文件的影响

注意

权限掩码

root用户默认最高权限

普通用户默认最高权限

权限更改

chmod:为文件或目录设置访问权限

符号修改

数字修改

chown:改变文件或目录的所属主以及所属组

chgrp

高级权限

高级权限类型

设置特殊权限

Set UID

Set GID

Sticky Bit

sudo

访问控制权限


文件权限

linux服务器上有严格的权限等级,如果权限过高导致误操作会增加服务器的风险

权限解释

-rw-r--r--.
第1位是文件类型:-普通文件,d目录,l链接,s本地通信,b块设备,c字符文件,l软连接,p管道文件
第2-4位是属主权限
第5-7位是属组权限
第8-10位是其他人权限
第11位是文件的扩展权限
​
权限对象:
属主   u 所有者
属组   g    
其他人 o  
所有人 a  
​
基本权限类型:
读(read): r    4
写(write):w    2
执行(exec):x   1

权限的影响

权限对目录的影响
r(读取)     可列出目录内容
w(写)       可在目录内创建和删除文件
x(执行)     可访问目录内容(取决于目录中文件的权限)
​
r  可以使用命令:ls             如果只有r权限,可以看到目录下的内容,没有x权限会有报错内容
w  可以使用命令:touch、rm      可以对目录下的文件创建和删除,没有x权限无法创删
x  可以使用命令:cd             可以进入目录
权限对文件的影响
r(读取)     可读取文件内容
w(写)       可更改文件内容
x(执行)     可执行文件
​
r  可以使用命令:cat、vim、tail、head、more、less 可以查看文件内容
w  可以使用命令:vi、vim、echo、>、>>             可以修改文件内容,没有r权限无法查看文件内容
x  可以使用命令:sh 文件 、bash 文件、. 文件、source 文件  可以执行文件,没有r权限无法执行
注意
对目录有w权限,可以在目录中创建新文件,可以删除目录中的文件(与文件自身权限无关)
​
对文件而言: x 权限小心给予   
对目录而言: w 权限小心给予  

权限掩码

umask:管理权限掩码

root用户默认最高权限
umask 0022 root账户默认
umask 四位数字 修改umask
​
目录 777 
文件 666
普通用户默认最高权限
umask 0002 普通用户默认
umask 四位数字 修改umask
​
目录 775
文件 664

权限更改

chmod:为文件或目录设置访问权限
符号修改
u用户 g组 o其他 a所有 r读 w写 x执行 +增加 -取消 =覆盖
​
chmod 对象(u/g/o/a)赋值符(+/-/=)权限类型(r/w/x) 文件名/目录名
数字修改
4读 2写 1执行(这里权限赋予写的是数字之和)
​
chmod 第一个数字是所有者权限 第二个数字是属组权限 第三个数字是其他人权限 文件名/目录名
chown:改变文件或目录的所属主以及所属组
修改文件或目录的所属关系 用户名和组名之间使用符号(:)(.)
​
chown 用户名.组名 文件名/目录名    修改文件或目录的所属关系
​
chown -R 用户名:组名 目录名       修改目录以及目录下所有文件的所属关系
​
chown 属主  文件名或目录名        修改文件或目录的所有者
​
chown :属组  文件名或目录名       修改文件或目录的所属组
chgrp
修改文件或目录的所属组(只能修改组的归属)

高级权限

在高级权限中
suid是针对二进制可执行文件
sgid,sticky是针对目录
高级权限类型
suid    4 只对二进制命令文件生效   功能:让普通用户像root用户一样执行系统命令
​
sgid    2 只能对目录设置          功能:继承上层目录属组的权限
​
sticky  1 粘滞位,只能对目录设置   功能:目录下的文件只允许所有者和root删除,不允许其他用户删除
设置特殊权限
因为高级权限覆盖在ugo的x权限的上面,所以:
如果有执行权限,加高级权限是小写字母
如果没有执行权限,加高级权限是大写字母
​
赋予特殊权限字符:
chmod u+s 文件   suid
chmod g+s 目录   sgid
chmod o+t 目录   sticky
​
取消特殊权限
chmod u-s 文件   suid
chmod g-s 目录   sgid
chmod o-t 目录   sticky
​
数字
chmod 4777 文件   suid
chmod 2770 目录   sgid
chmod 1770 目录   sticky
Set UID
普通用户可以像root用户一样执行命令
​
chmod u+s 文件   //赋予该文件suid权限
​
chmod u-s 文件   //移除该文件suid权限
​
chmod 4777 文件  //数字方式赋予该文件suid权限
Set GID
继承父目录的属组
​
chmod g+s 目录     //赋予该目录sgid权限
​
chmod g-s 目录     //移除该目录sgid权限
​
chmod 2777 目录    //数字方式赋予该目录sgid权限
Sticky Bit
该目录下只允许自己和root删除自己创建的文件
 
chmod o+t 目录   //赋予目录stycky权限
​
chmod o-t 目录   //移除目录stycky权限
​
chmod 1777 目录  //数字方式赋予目录stycky权限
sudo
sudo: 有针对性,例如针对某个用户以能够以root的身份执行某些命令。
​
//编辑sudo文件的方式:
visudo|vim /etc/sudoers
​
//给一个用户赋予root权限
root    ALL=(ALL)   ALL
jack    ALL=(ALL)   NOPASSWD:ALL                        //用户不需要密码使用root权限
tom     ALL=(ALL)   NOPASSWD:/usr/bin/cat,/usr/bin/ls   //用户获得root一部分命令的权限
​
%wheel  ALL=(ALL)   NOPASSWD:ALL    //将一个用户加入wheel组
​
更改完成后,需要检查一下语法
visudo -c 
访问控制权限
getfacl 文件名 查看文件特殊权限
​
setfacl -m u:用户名:rwx  文件名     //赋予用户这个文件的rwx权限
​
setfacl -x u:用户名 文件名         //收回用户这个文件的特殊权限
​
setfacl -b 文件名                 //收回这个文件所有特殊权限

你可能感兴趣的:(linux,linux)