文件与文件夹权限

Posted fengpiaoluoye

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件与文件夹权限相关的知识,希望对你有一定的参考价值。

文件与文件夹权限
    • linux 基本权限
    • linux特殊权限
    • linux隐藏权限
    • linux file ACL 权限

 

    • linux 基本权限
 1 linux基本权限
 2 使用ls -l filename 命令查看文件或文件夹详细权限
 3 ls -l
 4 -rw-r--rw- 1 root root 22 Jan 6 15:42 abc
 5 - --- --- ---
 6 - 文件类型
 7 --- 文件所有者的权限 root rw- r 读 w 写 x 执行
 8 --- 文件所属的组中的成员对其权限 root r--
 9 --- 其他人 rw-
10 22 文件或文件夹的大小
11 Jan 6 15:42 创建日期
12 abc 文件名

chmod命令

 1 chmod - 改变文件的访问权限
 2 命令语法
 3 chmod [options] mode file...
 4 命令选项
 5 -R 递归设置权限,针对目录有效
 6 mode 谁给什么权限
 7 u(所有者) g(所属组) o(其他人) a(所有人)
 8 + - =
 9 权限 r 读 w 写 x 执行
10 数字权限
11 r 读 4
12 w 写 2
13 x 执行 1
14 chmod 760 abc

chown命令

1 chown 修改文件或文件夹所有者命令
2 命令语法
3 chown [options] user [:group] file...
4 命令选项
5 -R 递归设置,针对文件夹
6 chown 新所有者 文件名
7 chown 新的所有者.新的所属组 文件名
8 -R 递归修改

chgrp命令

1 chgrp 改变所属的组
2 命令语法
3 chgrp [选项] 组文件...
4 命令选项
5 -R 递归设置权限,针对目录有效
6 chgrp 新所有组 文件名
7 chown .新的所属组 文件名
    • linux特殊权限
1 linux特殊权限 7 777
2 suid 4 当一个二进制文件拥有SUID权限后,当其他用户执行该二进制文件的时候,该二进制文件就会以他所有者的权限去执行
3 sgid 2
4 要求文件夹下的新建的子文件夹或者子文件继承父文件夹的属组
5 sticky bit 1
6 如果给文件夹 赋予粘连位 则该文件夹下的文件或文件夹只能由所有者及ROOT删除
    • linux隐藏权限

chattr命令

 1 chattr [+-=][ASacdistu] 文件或文件名
 2 命令选项:
 3 + : 增加某个特殊参数,其他原本存在的参数不动。
 4 - : 删除某个特殊参数,其他原本存在的参数不动。
 5 = : 设置一定,且仅有后面接的参数
 6 A : 当设置了A属性时,这个文件(或目录)的存取时间atime(access)将不可被修改,可避免例如手提电脑有磁盘I/O错误的情况发生。
 7 S : 这个功能有点类似sync。就是将数据同步写入磁盘中。可以有效地避免数据流失。
 8 a : 设置a之后,这个文件将只能增加数据,而不能删除,只有root才能设置这个属性。
 9 c : 这个属性设置之后,将会自动将此文件“压缩”,在读取的时候将会自动解压缩,但在存储的时候,将会先进行压缩后再存储(对于大文件有用)。
10 d : 当执行dump(备份)程序的时候,设置d属性将可使该文件(或目录)具有转储功效。
11 i : i的作用很大。它可以让一个文件“不能被删除、改名、设置连接,也无法写入或新增数据”。对于系统安全性有相当大的帮助。
12 j : 当使用ext3文件系统格式时,设置j属性将会使文件在写入时先记录在journal中。但是,当文件系统设置参数为data=journalled时,由于已经设置日志了,所以这个属性无效。
13 s : 当文件设置了s参数时,它将会从这个硬盘空间完全删除。
14 u : 与s相反,当使用u来设置文件时,则数据内容其实还存在磁盘中,可以用来还原删除.
15 注意:这个属性设置上,比较常见的是a与i的设置值,而且很多设置值必须要root才能设置。

lsattr命令

1 lsattr 文件或文件名
2 查看文件或文件夹的隐藏权限
    • linux file ACL 权限

setfacl命令

 1 setfacl - set file access control lists
 2 命令语法
 3 setfacl [选项] file...
 4 命令选项
 5 -m 修改acl
 6 -x 删除acl
 7 -b 删除所有acl
 8 -k 删除默认的acl
 9 -R 递归
10 练习
11 setfacl -m g:groupname:--- haha
12 setfacl -m u:username:rw haha
13 setfacl -x u:username haha
14 setfacl -b haha
15 setfacl --set u::rw,g::---,o::--- haha

getfacl命令

1 getfacl 查看文件权限
2 命令语法
3 getfacl file...

作业

 1 创建用户harry,natasha,tom
 2 harry,natasha附加到admin组
 3 将/etc/fstab复制到/var/tmp下
 4 要求文件权限为644
 5 文件所有者和属组为root
 6 tom能修改fstab
 7 admin 组成员对其无权限
 8 复制/etc/passwd到/vat/tmp
 9 要求文件所有者为harry
10 属组为admin
11 文件权限为606
12 在/var/tmp下新建文件夹command
13 要求所有者为root
14 属组为admin
15 属组成员对其可读写,其他人没有任何权限
16 要求新建的文件或文件夹继承command的属组
17 用户只能删除自己的文件(root除外)
18 为DNS配置文件/etc/resolv.conf设置权限,要求任何人不能修改其文件

以上是关于文件与文件夹权限的主要内容,如果未能解决你的问题,请参考以下文章

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

教程4 - 验证和权限

尝试在 C 中创建对所有人具有完全权限的文件

Django REST框架--认证和权限

***Linux chmod命令修改文件与文件夹权限命令代码

编写一个程序, 将 a.txt 文件中的单词与 b.txt 文件中的 单词交替合并到 c.txt 文件中, a.txt 文件中的单词用回车符 分隔, b.txt 文件中用回车或空格进行分隔。(代码片段