“Linux文件目录的权限和归属”的版本间的差异
(→归属(所有权)) |
|||
第1行: | 第1行: | ||
+ | ==文件类型== | ||
+ | ===普通文件=== | ||
+ | ===目录文件=== | ||
+ | ===链接文件=== | ||
+ | ===设备文件=== | ||
==访问权限== | ==访问权限== | ||
===读取=== | ===读取=== | ||
第39行: | 第44行: | ||
<nowiki>$ ls -l afile | <nowiki>$ ls -l afile | ||
− | -rw- | + | -rw-r--r-- 1 st01 class1 0 Apr 3 16:52 afile |
− | + | ||
− | + | 将其更改为rwxrw-r-- | |
− | + | ||
− | + | 方法一: | |
− | + | ||
− | + | [root@cloud17 test]# chmod u=rwx,g=rw,o=r 1.txt | |
+ | |||
+ | 方法二: | ||
+ | |||
+ | [root@cloud17 test]# chmod u+x,g+w 2.txt | ||
+ | |||
+ | 方法三: | ||
+ | |||
+ | [root@cloud17 test]# chmod 764 3.txt | ||
+ | |||
+ | [root@cloud17 test]# ls -l 2.txt 3.txt | ||
+ | -rwxrw-r--. 1 root root 0 Jun 24 22:20 2.txt | ||
+ | -rwxrw-r--. 1 root root 0 Jun 24 22:20 3.txt | ||
+ | |||
===设置文件/目录的归属=== | ===设置文件/目录的归属=== | ||
第65行: | 第83行: | ||
设置文件属主和属组 | 设置文件属主和属组 | ||
− | <nowiki> | + | [root@cloud17 test]# ll -l |
− | # chown | + | |
− | + | <nowiki>total 0 | |
− | # chown : | + | -rwxrw-r--. 1 root root 0 Jun 24 22:10 1.txt |
− | + | -rwxrw-r--. 1 root root 0 Jun 24 22:20 2.txt | |
− | # | + | -rwxrw-r--. 1 root root 0 Jun 24 22:20 3.txt |
+ | </nowiki> | ||
+ | |||
+ | 将文件的拥有者由root改为horse: | ||
+ | |||
+ | [root@cloud17 test]# chown horse *.txt | ||
+ | |||
+ | [root@cloud17 test]# ll -l | ||
+ | |||
+ | <nowiki>total 0 | ||
+ | -rwxrw-r--. 1 horse root 0 Jun 24 22:10 1.txt | ||
+ | -rwxrw-r--. 1 horse root 0 Jun 24 22:20 2.txt | ||
+ | -rwxrw-r--. 1 horse root 0 Jun 24 22:20 3.txt</nowiki> | ||
+ | |||
+ | 将文件的拥有者和所属组设置为horse用户和horse组 | ||
+ | |||
+ | [root@cloud17 test]# chown horse:horse *.txt | ||
+ | |||
+ | [root@cloud17 test]# ll -l | ||
+ | |||
+ | <nowiki>total 0 | ||
+ | -rwxrw-r--. 1 horse horse 0 Jun 24 22:10 1.txt | ||
+ | -rwxrw-r--. 1 horse horse 0 Jun 24 22:20 2.txt | ||
+ | -rwxrw-r--. 1 horse horse 0 Jun 24 22:20 3.txt</nowiki> | ||
+ | |||
==使用附加权限== | ==使用附加权限== | ||
第110行: | 第152行: | ||
使用权限数字: | 使用权限数字: | ||
+ | |||
chmod mnnn 可执行文件... | chmod mnnn 可执行文件... | ||
+ | |||
m为4时,对应SUID,2对应SGID,1对应粘滞位,可叠加 | m为4时,对应SUID,2对应SGID,1对应粘滞位,可叠加 | ||
+ | |||
文件ACL权限 | 文件ACL权限 | ||
+ | |||
ACL是 Access Control List 的缩写,主要的目的是在提供传统的owner,group,others的read,write,execute权限之外的细部权限设定。 | ACL是 Access Control List 的缩写,主要的目的是在提供传统的owner,group,others的read,write,execute权限之外的细部权限设定。 | ||
+ | |||
ACL可以针对单一使用者,单一文件或目录来进行r,w,x的权限规范,对于需要特殊权限的使用状况非常有帮助。 | ACL可以针对单一使用者,单一文件或目录来进行r,w,x的权限规范,对于需要特殊权限的使用状况非常有帮助。 | ||
+ | |||
ACL 主要可以针对以下方面来控制权限: | ACL 主要可以针对以下方面来控制权限: | ||
+ | |||
使用者 (user):可以针对使用者来设定权限; | 使用者 (user):可以针对使用者来设定权限; | ||
+ | |||
组群 (group):针对用户组为对象来设定其权限; | 组群 (group):针对用户组为对象来设定其权限; | ||
+ | |||
预设属性 (mask):还可以针对在该目录下在建立新文件/目录时,规范新数据的预设权限 | 预设属性 (mask):还可以针对在该目录下在建立新文件/目录时,规范新数据的预设权限 | ||
+ | |||
管理文件系统访问控制列表� | 管理文件系统访问控制列表� | ||
第130行: | 第182行: | ||
实验案例:用户和文件权限管理 | 实验案例:用户和文件权限管理 | ||
+ | |||
需求描述 | 需求描述 | ||
+ | |||
将/etc/fstab 复制到/var/tmp/fstab ,设置harry可以读写,natasha不能做任何操作,其他用户可读,设置manager组为fstab 所属组 | 将/etc/fstab 复制到/var/tmp/fstab ,设置harry可以读写,natasha不能做任何操作,其他用户可读,设置manager组为fstab 所属组 | ||
+ | |||
设置用户natasha对目录/home/cnrts(创建)有完全控制权限,在目录中创建的文件自动继承组的权限,设置manager组用户对目录有读写执行权行,其他人没有权限,(root除外) | 设置用户natasha对目录/home/cnrts(创建)有完全控制权限,在目录中创建的文件自动继承组的权限,设置manager组用户对目录有读写执行权行,其他人没有权限,(root除外) | ||
+ | |||
完成后,分别运行lab-grade-3和lab-grade-14评估脚本以确定一切已正确完成。 | 完成后,分别运行lab-grade-3和lab-grade-14评估脚本以确定一切已正确完成。 |
2018年6月25日 (一) 13:40的版本
目录
文件类型
普通文件
目录文件
链接文件
设备文件
访问权限
读取
读取:允许查看文件内容、显示目录列表
写入
写入:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行
可执行:允许运行程序、切换目录
归属(所有权)
属主
属主:拥有该文件或目录的用户帐号
属组
属组:拥有该文件或目录的组帐号
查看文件/目录的权限和归属
设置文件/目录的权限
chmod命令
格式1:chmod [ugoa] [+-=] [rwx] 文件或目录...
- u、g、o、a 分别表示属主、属组、其他用户、所有用户
- +、-、= 分别表示增加、去除、设置权限
格式2:chmod nnn 文件或目录...
- nnn:3位八进制数
常用命令选项
-R:递归修改指定目录下所有文件、子目录的权限
文件权限设置实例
使用chmod命令设置文件权限
查看文件权限
$ ls -l afile -rw-r--r-- 1 st01 class1 0 Apr 3 16:52 afile 将其更改为rwxrw-r-- 方法一: [root@cloud17 test]# chmod u=rwx,g=rw,o=r 1.txt 方法二: [root@cloud17 test]# chmod u+x,g+w 2.txt 方法三: [root@cloud17 test]# chmod 764 3.txt [root@cloud17 test]# ls -l 2.txt 3.txt -rwxrw-r--. 1 root root 0 Jun 24 22:20 2.txt -rwxrw-r--. 1 root root 0 Jun 24 22:20 3.txt ===设置文件/目录的归属=== chown命令用于设置文件的属主和属组 命令格式 chown OWNER[:[GROUP]] FILE... 格式: <nowiki>chown 属主 文件或目录 chown :属组 文件或目录 chown 属主:属组 文件或目录
常用命令选项
-R:递归修改指定目录下所有文件、子目录的归属
设置文件属主和属组
[root@cloud17 test]# ll -l
total 0 -rwxrw-r--. 1 root root 0 Jun 24 22:10 1.txt -rwxrw-r--. 1 root root 0 Jun 24 22:20 2.txt -rwxrw-r--. 1 root root 0 Jun 24 22:20 3.txt
将文件的拥有者由root改为horse:
[root@cloud17 test]# chown horse *.txt
[root@cloud17 test]# ll -l
total 0 -rwxrw-r--. 1 horse root 0 Jun 24 22:10 1.txt -rwxrw-r--. 1 horse root 0 Jun 24 22:20 2.txt -rwxrw-r--. 1 horse root 0 Jun 24 22:20 3.txt
将文件的拥有者和所属组设置为horse用户和horse组
[root@cloud17 test]# chown horse:horse *.txt
[root@cloud17 test]# ll -l
total 0 -rwxrw-r--. 1 horse horse 0 Jun 24 22:10 1.txt -rwxrw-r--. 1 horse horse 0 Jun 24 22:20 2.txt -rwxrw-r--. 1 horse horse 0 Jun 24 22:20 3.txt
使用附加权限
SET位权限
主要用途:
为可执行(有 x 权限的)文件设置,权限字符为“s” 其他用户执行该文件时,将拥有属主或属组用户的权限
SET位权限类型:
SUID:表示对属主用户增加SET位权限 SGID:表示对属组内的用户增加SET位权限 如果SGID是设定在目录上面,则在该目录内所建立的文件或目录的所属组,将会自动成为此目录的所属组。
[root@localhost ~]# ls -l /home/cnrts -rw-rwsr-x 1 harry root 19876 2008-07-17 /home/cnrts
粘滞位权限(Sticky)
主要用途:
为公共目录(例如,权限为777的)设置,权限字符为“t”
用户不能删除该目录中其他用户的文件
应用示例:/tmp、/var/tmp
[root@localhost ~]# ls -ld /tmp /var/tmp drwxrwxrwt 8 root root 4096 09-09 15:07 /tmp drwxrwxrwt 2 root root 4096 09-09 07:00 /var/tmp
使用附加权限
- 设置SET位、粘滞位权限
- 使用权限字符
- chmod ug±s 可执行文件...
- chmod o±t 目录名...
使用权限数字:
chmod mnnn 可执行文件...
m为4时,对应SUID,2对应SGID,1对应粘滞位,可叠加
文件ACL权限
ACL是 Access Control List 的缩写,主要的目的是在提供传统的owner,group,others的read,write,execute权限之外的细部权限设定。
ACL可以针对单一使用者,单一文件或目录来进行r,w,x的权限规范,对于需要特殊权限的使用状况非常有帮助。
ACL 主要可以针对以下方面来控制权限:
使用者 (user):可以针对使用者来设定权限;
组群 (group):针对用户组为对象来设定其权限;
预设属性 (mask):还可以针对在该目录下在建立新文件/目录时,规范新数据的预设权限
管理文件系统访问控制列表�
查看:
$ getfacl filename
修改 : $ setfacl -m u:username:rw filename $ setfacl -m g:groupname:rw filename 删除 : $ setfacl -x u:username filename
实验案例:用户和文件权限管理
需求描述
将/etc/fstab 复制到/var/tmp/fstab ,设置harry可以读写,natasha不能做任何操作,其他用户可读,设置manager组为fstab 所属组
设置用户natasha对目录/home/cnrts(创建)有完全控制权限,在目录中创建的文件自动继承组的权限,设置manager组用户对目录有读写执行权行,其他人没有权限,(root除外)
完成后,分别运行lab-grade-3和lab-grade-14评估脚本以确定一切已正确完成。