【Linux】文件、目录权限及归属

访问权限:

  可读(read):允许查看文件内容、显示目录列表

  可写(write):允许修改文件内容,允许在目录中新建、移动、删除文件或子目录

  可执行(execute):允许运行程序、切换目录

归属:

  文件拥有者(owner):拥有该文件或目录的用户账号

  属组(group):拥有该文件或目录的组账号

  其他人(others):除了属主和属组的其他人

 

对于一个文件能否删除,要看文件所在的目录有没有写的权限。

1   [root@localhost ~]# ls -l install.log
2   -rw-r--r--   1    root    root    34298    04-02   00:23    install.log

这就是一个文件的简单权限查看。

 

符号命令设置权限:

chmod命令:

格式1: chmod 【ugoa】 【+ - =】 【rwx】 文件或目录...

##u.g.o.a分别表示属主、属组、其他用户、所有用户,+ - = 分别表示增加、去除、设置新权限。

常用命令选项: -R  递归修改指定目录下的所有文件、子目录的权限

 

chmod命令:

格式2: chmod nnn 文件或目录

## nnn 为3位八进制数字

 

默认权限:

在内核级别:文件的初始权限为666

在内核级别,文件夹的初始权限为777

用umask命令控制默认权限,临时有效

1 [root@localhost ~]# umask 
2 0022
3 [root@localhost ~]# umask  -S
4 u=rwx,g=rx,o=rx
5 [root@localhost ~]# umask 077
6 [root@localhost ~]# umask
7 0077

 

chown命令:

·必须是root

·用户和组必须存在

·格式: chown 属主 文件

    chown  :属组 文件

    chown 属主:属组 文件

    chown 属主:文件

 

chgrp命令:

格式:chgrp 属组 文件

必须是root或者是文件的所有者

常用命令选项: -R 递归修改指定目录下的所有文件。子目录的归属

 

文件及目录的隐藏属性:

chatter命令: 设置文件的隐藏属性

格式:chatter 【+ - =】 【ai】 文件或目录

常用命令选项:-R 递归修改

       -a:可以追加文件内容,但不能修改和删除

       -i:锁定保护文件

lsatter命令:查看文件的隐藏属性

格式:lsatter 【Rda】 文件或目录

常用命令选项:-R :递归修改

       -d:查看目录

例如:要求root在/tmp目录下创建/tmp/aa/bb这个目录,要求在这个bb目录下创建如下图所示的东东,要求(权限、属主属组,名称)完全一致

    

源码如下:

[root@localhost bb]# ll -a
total 8
drwxr-xr-x. 2 root root 4096 Jan  2 22:57 .
drwxr-xr-x. 3 root root 4096 Jan  2 22:57 ..
[root@localhost bb]# chmod 775 .
[root@localhost bb]# ll -a
total 8
drwxrwxr-x. 2 root root 4096 Jan  2 22:57 .
drwxr-xr-x. 3 root root 4096 Jan  2 22:57 ..
[root@localhost bb]# chmod 757 ..
[root@localhost bb]# ll -a
total 8
drwxrwxr-x. 2 haha root 4096 Jan  2 22:57 .
drwxr-xrwx. 3 root root 4096 Jan  2 22:57 ..
[root@localhost bb]# mkdir *_*
[root@localhost bb]# ll -a
total 12
drwxrwxr-x. 3 haha root 4096 Jan  2 23:02 .
drwxr-xrwx. 3 root root 4096 Jan  2 22:57 ..
drwxr-xr-x. 2 root root 4096 Jan  2 23:02 *_*
[root@localhost bb]# mkdir <haha>
-bash: syntax error near unexpected token `newline'
[root@localhost bb]# mkdir "<haha>"
[root@localhost bb]# ll -a
total 16
drwxrwxr-x. 4 haha root 4096 Jan  2 23:03 .
drwxr-xrwx. 3 root root 4096 Jan  2 22:57 ..
drwxr-xr-x. 2 root root 4096 Jan  2 23:02 *_*
drwxr-xr-x. 2 root root 4096 Jan  2 23:03 <haha>
[root@localhost bb]# chmod 700 *_*
[root@localhost bb]# chmod 332 <haha>
-bash: syntax error near unexpected token `newline'
[root@localhost bb]# chmod 332 "<haha>"
[root@localhost bb]# ll -a
total 16
drwxrwxr-x. 4 haha root 4096 Jan  2 23:03 .
drwxr-xrwx. 3 root root 4096 Jan  2 22:57 ..
drwx------. 2 root root 4096 Jan  2 23:02 *_*
d-wx-wx-w-. 2 root root 4096 Jan  2 23:03 <haha>
[root@localhost bb]# chmod 555 "<haha>"
[root@localhost bb]# ll -a
total 16
drwxrwxr-x. 4 haha root 4096 Jan  2 23:03 .
drwxr-xrwx. 3 root root 4096 Jan  2 22:57 ..
drwx------. 2 root root 4096 Jan  2 23:02 *_*
dr-xr-xr-x. 2 root root 4096 Jan  2 23:03 <haha>
[root@localhost bb]# chown :hello *_*
[root@localhost bb]# chown xixi:xixi "<haha>"
[root@localhost bb]# ll -a
total 16
drwxrwxr-x. 4 haha root  4096 Jan  2 23:06 .
drwxr-xrwx. 3 root root  4096 Jan  2 22:57 ..
drwx------. 2 root hello 4096 Jan  2 23:02 *_*
dr-xr-xr-x. 2 xixi xixi  4096 Jan  2 23:03 <haha>
[root@localhost bb]# touch "haha xixi"
[root@localhost bb]# chmod 530 "haha xixi"
[root@localhost bb]# chown xixi:haha "haha xixi"
[root@localhost bb]# ll -a
total 16
drwxrwxr-x. 4 haha root  4096 Jan  2 23:07 .
drwxr-xrwx. 3 root root  4096 Jan  2 22:57 ..
drwx------. 2 root hello 4096 Jan  2 23:02 *_*
dr-xr-xr-x. 2 xixi xixi  4096 Jan  2 23:03 <haha>
-r-x-wx---. 1 xixi haha     0 Jan  2 23:07 haha xixi
[root@localhost bb]# touch .hello
[root@localhost bb]# chmod 445 .hello
[root@localhost bb]# chown :hello .hello
[root@localhost bb]# ll -a
total 16
drwxrwxr-x. 4 haha root  4096 Jan  2 23:09 .
drwxr-xrwx. 3 root root  4096 Jan  2 22:57 ..
drwx------. 2 root hello 4096 Jan  2 23:02 *_*
dr-xr-xr-x. 2 xixi xixi  4096 Jan  2 23:03 <haha>
-r-x-wx---. 1 xixi haha     0 Jan  2 23:07 haha xixi
-r--r--r-x. 1 root hello    0 Jan  2 23:09 .hello
[root@localhost bb]# chmod 225 .hello
[root@localhost bb]# ll -a
total 16
drwxrwxr-x. 4 haha root  4096 Jan  2 23:09 .
drwxr-xrwx. 3 root root  4096 Jan  2 22:57 ..
drwx------. 2 root hello 4096 Jan  2 23:02 *_*
dr-xr-xr-x. 2 xixi xixi  4096 Jan  2 23:03 <haha>
-r-x-wx---. 1 xixi haha     0 Jan  2 23:07 haha xixi
--w--w-r-x. 1 root hello    0 Jan  2 23:09 .hello

 

总的来说。熟练掌握基本权限的设置方法,熟练掌握所有权的意义和用法是掌握文件权限和归属的关键

这就是文件以及目录权限及归属的介绍。

 

posted @ 2019-01-15 20:47  ToMrYuTao  阅读(1184)  评论(0编辑  收藏  举报