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

访问权限:

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

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

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

归属:

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

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

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

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

   [root@localhost ~]# ls -l install.log
-rw-r--r-- root root - : install.log

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

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

符号命令设置权限:

chmod命令:

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

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

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

chmod命令:

格式2: chmod nnn 文件或目录

## nnn 为3位八进制数字

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

默认权限:

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

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

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

 [root@localhost ~]# umask 

 [root@localhost ~]# umask  -S
u=rwx,g=rx,o=rx
[root@localhost ~]# umask
[root@localhost ~]# umask

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目录下创建如下图所示的东东,要求(权限、属主属组,名称)完全一致

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

源码如下:

[root@localhost bb]# ll -a
total
drwxr-xr-x. root root Jan : .
drwxr-xr-x. root root Jan : ..
[root@localhost bb]# chmod .
[root@localhost bb]# ll -a
total
drwxrwxr-x. root root Jan : .
drwxr-xr-x. root root Jan : ..
[root@localhost bb]# chmod ..
[root@localhost bb]# ll -a
total
drwxrwxr-x. haha root Jan : .
drwxr-xrwx. root root Jan : ..
[root@localhost bb]# mkdir *_*
[root@localhost bb]# ll -a
total
drwxrwxr-x. haha root Jan : .
drwxr-xrwx. root root Jan : ..
drwxr-xr-x. root root Jan : *_*
[root@localhost bb]# mkdir <haha>
-bash: syntax error near unexpected token `newline'
[root@localhost bb]# mkdir "<haha>"
[root@localhost bb]# ll -a
total
drwxrwxr-x. haha root Jan : .
drwxr-xrwx. root root Jan : ..
drwxr-xr-x. root root Jan : *_*
drwxr-xr-x. root root Jan : <haha>
[root@localhost bb]# chmod *_*
[root@localhost bb]# chmod <haha>
-bash: syntax error near unexpected token `newline'
[root@localhost bb]# chmod "<haha>"
[root@localhost bb]# ll -a
total
drwxrwxr-x. haha root Jan : .
drwxr-xrwx. root root Jan : ..
drwx------. root root Jan : *_*
d-wx-wx-w-. root root Jan : <haha>
[root@localhost bb]# chmod "<haha>"
[root@localhost bb]# ll -a
total
drwxrwxr-x. haha root Jan : .
drwxr-xrwx. root root Jan : ..
drwx------. root root Jan : *_*
dr-xr-xr-x. root root Jan : <haha>
[root@localhost bb]# chown :hello *_*
[root@localhost bb]# chown xixi:xixi "<haha>"
[root@localhost bb]# ll -a
total
drwxrwxr-x. haha root Jan : .
drwxr-xrwx. root root Jan : ..
drwx------. root hello Jan : *_*
dr-xr-xr-x. xixi xixi Jan : <haha>
[root@localhost bb]# touch "haha xixi"
[root@localhost bb]# chmod "haha xixi"
[root@localhost bb]# chown xixi:haha "haha xixi"
[root@localhost bb]# ll -a
total
drwxrwxr-x. haha root Jan : .
drwxr-xrwx. root root Jan : ..
drwx------. root hello Jan : *_*
dr-xr-xr-x. xixi xixi Jan : <haha>
-r-x-wx---. xixi haha Jan : haha xixi
[root@localhost bb]# touch .hello
[root@localhost bb]# chmod .hello
[root@localhost bb]# chown :hello .hello
[root@localhost bb]# ll -a
total
drwxrwxr-x. haha root Jan : .
drwxr-xrwx. root root Jan : ..
drwx------. root hello Jan : *_*
dr-xr-xr-x. xixi xixi Jan : <haha>
-r-x-wx---. xixi haha Jan : haha xixi
-r--r--r-x. root hello Jan : .hello
[root@localhost bb]# chmod .hello
[root@localhost bb]# ll -a
total
drwxrwxr-x. haha root Jan : .
drwxr-xrwx. root root Jan : ..
drwx------. root hello Jan : *_*
dr-xr-xr-x. xixi xixi Jan : <haha>
-r-x-wx---. xixi haha Jan : haha xixi
--w--w-r-x. root hello Jan : .hello

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

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

上一篇:NHibernate3快速上手教程FluentNHibernate配置与DBHelper(已过期,有更好的)


下一篇:Linux下ACL权限控制以及用sudo设置用户对命令的执行权限