美文网首页Linux
28.linux文件权限讨论

28.linux文件权限讨论

作者: 扶桑啊啊 | 来源:发表于2018-05-16 17:27 被阅读0次

一:普通权限

1.umask查看缺省权限,一般默认为0022

根据缺省权限来配置件的权限,777-022=755。

1.1所以,创建目录的默认权限是755,rwxr_xr_x;

ls -ld aaa  //查看当前目录aaa的信息

ls -i   //查看节点号iNode

1.2创建文件的默认权限是644,rw_r__r__;(为安全考虑,默认文件不具有可执行权限)

1.3如何来理解这几种读写权限呢?r意味着对文件具有读权限,w意味着对文件具有写权限,x意味着对文件具有执行权限。所以对文件和目录分别来说,具体可执行的命令如下:

对文件来说,

r: cat  /more  /head  /tail  /less

w: vim

x: script  command

对目录来说,

r: ls

w: touch  /mkdir  /rmdir  /rm

x: cd

2.关于权限几个小问题

问:某用户建立的文件,另一个用户可不可以对其进行删除呢?

答:可以的,删除一个文件的前提是,对这个文件所在的目录具有写权限,如果一个目录的权限是777,那么任何用户都对当前目录下的文件进行删除操作。


问:某用户创建一个文件后,想将其所有者改为root,可不可以?

答:不可以,只有root可以改变文件的所有者,文件的创建者都不可以。

如下例,dazhutizi建立的abcd文件,只有root才可以将所有者改为root

切换到root下,将刚刚普通用户创建的文件abcd的所有者改为root。


删除一个非空目录时,虽然被终止了删除操作,但是终止之前的操作已经完成了,所以如下图我们可以看到文件a3和目录a4已经被删除了。


二:特殊权限:ACL权限

用处:身份不够用时(身份包括,所有者所属组合其他人三种),需用ACL权限

1.查看acl权限是否开启

2.可以看到本系统是默认开启的,如果没有开启,有两种方式来开启ACL权限

2.1.mount -o remount,acl //用mount命令将根分区重新挂载,挂载的时候开启ACL权限,这种方法是临时生效的

2.2.vi /etc/fstab  //在根分区的挂载行,defaults后面加,acl

mount -o remount  //重新挂载文件系统或重启,使修改生效。

3.设置acl权限

实验:

3.1新建两个普通用户,一个组,然后将这两个用户加入到新组里

3.2创建本次测试的目录,观察其初始权限为755,将其权限改为770,此时作为当前目录的所有者root对目录具有7的权限,所属组root有7的权限,其他人没有任何权限

3.3修改/tmp/project的所有者和所属组,使得刚刚新建的用户user1和user2(在组aclgroup里)能够拥有7的权限,此时其他人仍没有权限

3.4新建一个其他人用户,因为他对这个/tmp/project目录没有任何权限。但其需要对目录进行读和执行的访问,所以为他设定acl权限。

3.5查看/tmp/project目录的权限,可以看到所有者root具有7,普通用户dazhutizi有5,所属组aclgroup有7的权限,其他人没有权限。

4.删除acl权限

setfacl -b +目录 //删除当前目录的所有acl权限

setfacl -x +目录 //删除当前目录的指定用户acl权限

setfacl -g +目录 //删除当前目录的指定组acl权限

5.递归与默认ACL权限

setfacl -m u:user:rx -R /tmp/project  //递归,对子文件和子目录也生效

setfacl -m d:u:user:rx /tmp/project  //设置默认参数,目录内的子文件继承父文件的acl权限

6.mask:最大有效权限,一般设为rwx

上图中出现了mask权限,mask为最大有效权限,它限制其他用户的权限

acl与所属组对当前文件设定的权限,与mask相与之后,才是真正的权限。


三:特殊权限:SetUID,SetGID...

SetUID设置chmod 4755 xx,4表示SetUID

只针对可执行文件,

执行者需要有x的权限

比如passwd命令,passwd命令修改密码时,会修改/etc/shadow文件,可以看到shadow文件的权限是000,只有root能对其进行读写执行操作,

但是有passwd权限下suid,所以passwd命令在普通用户下执行时,普通用户相当于暂时变成超级用户,故能修改/etc/shadow文件。

但cat命令是不具有suid的,所以它在普通用户下都不能查看/etc/shadow。

给它加一个suid,那么普通用户在使用cat命令时会变身超级用户,此时可以查看/etc/shadow文件了。

结束后删除suid权限

定期查看系统中有哪些SUID和SGID文件:

find / -type f \( -perm -4000 -o -perm -2000 \) -ls


四、特殊权限:文件系统属性权限Chattr,用+-=来设置

-i  ——文件,只能查看文件,不能删除修改重命名

        ——目录,不能在目录下建立和删除文件,但可以修改目录中的文件

-a ——文件,可以用echo追加文件内容,不能删除和修改文件内容

    ——目录,可以在目录中建立和修改文件,不允许删除

查看文件的chattr权限,用lsattr命令


五、特殊权限:sudo+操作命令

visudo  //通过配置/etc/sudoers文件,来实现sudo命令

sudo+操作命令

特殊用法:可以授权普通用户有重启服务器的权限,visudo命令在文件内写入

user1  ALL=/sbin/shutdown -r now

相关文章

  • 28.linux文件权限讨论

    一:普通权限 1.umask查看缺省权限,一般默认为0022 根据缺省权限来配置件的权限,777-022=755。...

  • Linux学习--文件权限

    February 1, 2017 常用的文件类型 文件权限 目录文件的权限 特殊权限 常用的文件类型 文件权限 目...

  • 第十六天课堂笔记 3月21号

    学习内容【文件】权限 【目录】权限***、 【文件】权限 【目录】权限*** 字符和数字(8进制)权限知识****...

  • 操作系统(5)——文件权限

    一、文件权限设置 1、文件权限概念: 2、文件权限设置 3、文件属主和属组设置

  • shell命令整理(四)之文件权限管理(下)

    文件权限--高级权限 高级权限的类型 设置权限方法 Set UID 1、SUID权限仅对命令文件(二进制文件)有效...

  • Linux--常用命令--权限问题

    一.权限 > 关于权限查看 文件类型 文件权限 个数 文件所属者 文件所属组 文件大小 - rw-...

  • 20170724 文件权限

    概要 linux文件权限linux文件特殊权限ACL 访问控制列表 一、linux文件权限 (一)linux文件属...

  • 预习2019-03-20

    #权限知识及应用实践 文件权限简介:Linux系统中的文件权限和文件对应的用户及用户组关联很大。 文件权限为说明 ...

  • 系统权限指令

    系统权限指令 chmod 改变文件或者文件的权限 2.其他权限管理命令chown 改变文件目录或者文件的...

  • Linux笔记(二)

    Linux用户权限 给文件修改权限 chmod 命令:给文件添加权限例如:将“test.txt”文件的权限设置为:...

网友评论

    本文标题:28.linux文件权限讨论

    本文链接:https://www.haomeiwen.com/subject/kkvicftx.html