简述linux的权限设置方法,Linux基础教程之Linux权限管理

linux文件权限

文件的属性和权限的设置对于linux系统来说是相当重要的,如果对这一块的知识没有一个深入的了解,你的系统就有可能有很大的危险。那么首先我们来看一看文件的属性所对应的都是什么意思吧。

1470308066285726.png

上图第一个字符是d,他代表了文件的类型,d的意思就是目录文件,那么除了目录文件还有什么文件呢?

d:目录-:文件l:链接文件b:可以存储的接口设备 c:串行端口设备(键盘,鼠标)

接下来的九个字符以三个为一组分别是

rwx:属主的权限。r-x:属组的权限。r-x:其他人的权限。

r(read):可读取w(write):可写入x(execute):可执行

所以上面这个文件的属主是root。他对文件可读取可写入可执行。文件的属组是root,root组内成员可读取可执行,除了属主属组之外的其他人对该文件可读取可执行。

更改属主属组权限命令

chown:改变文件所属的用户组。

chgrp:改变文件的所有者。

chmod:改变文件的权限。

修改文件的属主:chown

chown[OPTION]…[OWNER][:[GROUP]]FILE…

用法:OWNER

OWNER:GROUP

:GROUP命令中的冒号可用.替换;

-R:递归

chown[OPTION]…–reference=RFILEFILE…

修改文件的属组:chgrp

chgrp[OPTION]…GROUPFILE…

chgrp[OPTION]…–reference=RFILEFILE…

-R递归

修改文件的权限:chmod

文件权限的改变可以使用chmod这个命令,但是权限的设置方法有两种,分别可以使用数字或者是符号来进行更改。

命令使用格式

chmod[OPTION]…OCTAL-MODEFILE…

-R:递归修改权限

chmod[OPTION]…MODE[,MODE]…FILE…MODE:

chmod[OPTION]…–reference=RFILEFILE…参考RFILE文件的权限,将FILE的修改为同RFILE;

数字改变文件权限

linux系统的基本权限有9个,每三个一组,每一组分别对应了owner、group、others三种身份。我们可以使用数字来代表各个权限分别是

r:4w:2x:1

当要设置xx文件权限为[-rwxr-xr-x]

owner=rwx=4+2+1=7

group=r-x=4+1=5

others=r-x=4+1=5

所以在设置权限时,该文件权限的设置数字就是755.执行chmod755xx就可以了。

符号改变文件权限

三种身份用user=u;group=g;others=o来表示,读写执行权限用rwx来表示

1470308765624000.png

当xx文件权限为[-rwxr-xr-x]我们要给它加入所有权限时执行

1、chmoda=rwx

2、chmodg=rwx,u=rwx,a=rwx

3、chmodg+w,o+w

目录/文件的权限意义

权限对文件的意义

r(read):可读取此文件的内容,比如读取文本文件里的内容。

w(write):可以编辑、新增或者是修改该文件的内容。

x(execute):该文件可以被系统执行。

权限对目录的重要性

r:表示具有读取目录结构列表的权限。可以查询该目录结构下的文件列表。

w:表示你具有更改该目录结构列表的权限

如:新建新的文件与目录。

删除已存在的文件与目录(不管该文件的权限如何)。

将已存在的文件或目录进行重命名。

转移该目录内的文件、目录位置。

x:代表的是用户能否进入该目录成为工作目录。

新建文件和目录的默认权限

umask值可以用来保留在创建文件权限

新建FILE权限:666-umask如果所得结果某位存在执行(奇数)权限,则将其权限+1

新建DIR权限:777-umask

非特权用户umask是002root的umask是022

umask:查看

umask#:设定

umask002

umask–S模式方式显示

umask–p输出可被调用

全局设置:/etc/bashrc用户设置:~/.bashrc

这里加入我们新建一个文件默认让它没有权限,根据规则,命令为:

umask777

666-777=-1-1-1

每一项加1得000

1470308754546207.png

linux系统中三种特殊权限

SUID, 表现为s 数字为4(作用在二进制程序)

SGID, 表现为s 数字为2(作用在二进制程序)

Sticky表现为t 数字为1(作用在目录上)

安全上下文

SUID

前提:进程有属主和属组;文件有属主和属组

(1)任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限

(2)启动为进程之后,其进程的属主为发起者;进程的属组为发起者所属的组

(3)进程访问文件时的权限,取决于进程的发起者

(a)进程的发起者,同文件的属主:则应用文件属主权限

(b)进程的发起者,属于文件属组;则应用文件属组权限

(c)应用文件“其它”权限

SGID

任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限

启动为进程之后,其进程的属主为原程序文件的属主

SUID只对二进制可执行程序有效

SUID设置在目录上无意义

当一个目录有S权限时在该目录下创建的所有新文件子目录文件自动继承该目录的属组

Sticky(粘滞位:可以让其他人不能删除文件。)

具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权

在目录设置Sticky位,只有文件的所有者或root可以删除该文件

sticky设置在文件上无意义

权限设定:chmodo+tDIR…chmodo-tDIR…

例如:

ls-ld/tmpdrwxrwxrwt12rootroot4096Nov215:44/tmp

注意:对文件夹来说其他权限必须配合x权限。

设定文件的特殊属性

chattr+i不能删除,改名,更改

chattr+a只能增加读取。

chattr+A锁定文件访问时将。

lsattr显示特定属性

1470308719995442.png

访问控制列表(ACL:AccessControlList)

ACL:AccessControlList,实现灵活的权限管理

除了文件的所有者,所属组和其它人,可以对更多的用户设置权限

CentOS7.0默认创建的xfs和ext4文件系统有ACL功能。

CentOS7.X之前版本,默认手工创建的ext4文件系统无ACL功能。需手动增加:tune2fs–oacl/dev/sdb1mount–oacl/dev/sdb1/mnt

ACL生效顺序:所有者,自定义用户,自定义组,其他人

FAT分区不支持权限。

有关acl的命令例

为多用户或者组的文件和目录赋予访问权限rwx

mount-oacl/directory

getfaclfile|directory 查看目录的具体acl权限

setfacl-mu:user:rwxfile|directory

setfacl-Rmg:user:rwXdirectory 对于

setfacl-Mfile.aclfile|directory 读取文件内容设置目标目录权限

setfacl-mg:user:rwfile|directory

setfacl-md:u:user:rxdirectory

setfacl-mm::rdirectory 更改所有目录的有效权限

setfacl-xu:userfile|directory 删除用户权限

setfacl-Xfile.acldirectory读取文件内容删除目标目录权限

setfacl-bdirectory彻底清空文件acl权限

添加acl时目录所属组的权限更新为mask权限。但是mask权限只影响添加进acl的用户权限与用户组的权限

acl访问控制列表

ACL文件上的group权限是mask值(自定义用户,自定义组,拥有组的最大权限),而非传统的组权限

getfacl可看到特殊权限:flags

默认ACL权限给了x,文件也不会继承x权限。

baseACL不能删除

setfacl-kdir删除默认ACL权限

setfacl-bfile1清除所有ACL权限

getfaclfile1|setfacl–set-file=-file2复制file1的acl权限给file2

mask只影响除所有者和other的之外的人和组的最大权限Mask需要与用户的权限进行逻辑与运算后,才能变成有限的权限(EffectivePermission)用户或组的设置必须存在于mask权限设定范围内才会生效。setfacl-mmask::rxfile

–set选项会把原有的ACL项都删除,用新的替代,需要注意的是一定要包含UGO的设置,不能象-m一样只是添加ACL就可以.如:

setfacl–setu::rw,u:wang:rw,g::r,o::-file1

备份和恢复ACL

主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p参数。但是tar等常见的备份工具是不会保留目录和文件的ACL信息

#getfacl-R/tmp/dir1>acl.txt

#setfacl-R-b/tmp/dir1

#setfacl-R–set-file=acl.txt/tmp/dir1

#getfacl-R/tmp/dir1

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值