文件或目录的权限与属性

简介:

   在开始今天的话题之前,我们首先来回顾下ls命令。在ls命令中参数“-l”会显示出来目标的详细信息,如下所示:

1
2
3
4
5
6
7
8
[root@server02 ~]# ls -l /tmp/
总用量 4
-rwx------. 1 root root 836 5月  27 06:19 ks-script-ogzDFA
drwxr-xr-x. 5 root root  75 5月  30 05:26 test
drwxr-xr-x. 2 root root   6 5月  30 04:15 test1
drwxr-xr-x. 3 root root  17 5月  30 04:16 test2
-rw-------. 1 root root   0 5月  27 06:10 yum.log
[root@server02 ~]#

    在前几帖中,我们曾提到过第一列(上图的“-”和“d”等)标记的是对象的文件类型。而后面还有10位,最后一位“.”表示开启了selinux,当关闭后,这个标识位将会消失。而中间的“rwxr-xr-x”等9位字符标记的是对象的权限。

    这9位字符中,前三位描述的是所有者(如上图某行的第一个root,表示所有者是root用户)的权限,中间三位描述的是所属组(如上图某行的第二个root,表示所属组是root组)的权限,最后三位则描述的是除所有者和所属组外其他人的权限。其中“r”表示可读,“w”表示可写,“x”表示可执行,而“-”则表示的是没有该项权限。

    在使用时,我们把“r”规定值为4,“w”为2,“x”为1,以及“-”为0,如rwx=7、r-x=5等。这样也就方便我们描述对象的权限。


chmod

1、命令作用

  赋予文件或目录权限

2、命令格式

  chmod [options] file

3、参数

  -R 对目前目录下的所有文件和子目录进行相同的权限变更。

4、样例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@server02 test]# ll
总用量 0
-rw-r--r--. 1 root root 0 5月  30 07:03 1.txt
-rw-r--r--. 1 root root 0 5月  30 07:03 2.txt
drwxr-xr-x. 2 root root 6 5月  30 07:04 file1
[root@server02 test]# chmod 777 1.txt
[root@server02 test]# chmod u=rwx,g=rw,o=r 2.txt
[root@server02 test]# chmod g+w file1
[root@server02 test]# ll
总用量 0
-rwxrwxrwx. 1 root root 0 5月  30 07:03 1.txt
-rwxrw-r--. 1 root root 0 5月  30 07:06 2.txt
drwxrwxr-x. 2 root root 6 5月  30 07:04 file1
[root@server02 test]#

注:推荐使用数字的方式赋予权限。


chown

1、命令作用

  更改文件或目录的所有者或所属组

2、命令格式

  chown [options] file

3、参数

  -R 对目前目录下的所有文件和子目录进行相同的权限变更。

4、样例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@server02 test]# ll
总用量 0
-rwxrwxrwx. 1 root root 0 5月  30 07:03 1.txt
-rwxrw-r--. 1 root root 0 5月  30 07:03 2.txt
drwxrwxr-x. 2 root root 6 5月  30 07:04 file1
[root@server02 test]# chown user1 1.txt
[root@server02 test]# chown user2:user2 2.txt
[root@server02 test]# chown :user3 file1
[root@server02 test]# ll
总用量 0
-rwxrwxrwx. 1 user1 root  0 5月  30 07:03 1.txt
-rwxrw-r--. 1 user2 user2 0 5月  30 07:03 2.txt
drwxrwxr-x. 2 root  user3 6 5月  30 07:04 file1
[root@server02 test]#

注:chgrp命令也可以更改所属组,因为chown也可以更改,不推荐使用


   通过chown和chgrp两条命令,我们可以赋予文件或目录权限,也可以更换其所有者和所属组。那么,当一个新的文件和目录被创建的时候,它们的权限是怎么设置的呢?

1
2
3
4
5
6
7
[root@server02 test]# mkdir directory
[root@server02 test]# touch 1.txt
[root@server02 test]# ll
总用量 0
-rw-r--r--. 1 root root 0 5月  30 07:29 1.txt
drwxr-xr-x. 2 root root 6 5月  30 07:28 directory
[root@server02 test]#

    可以看到默认生成的目录权限是755,文件权限是644。这样设置的原因是,目录需要执行权限才能cd进入目录下,而文件不需要执行权限,这样更安全些。而完成这个权限设置的功臣就是linux系统内的umask值。

1
2
3
[root@server02 test]# umask
0022
[root@server02 test]#

   umask值默认为0022。目录采用777(rwxrwxrwx),文件采用666(rw-rw-rw-)的初始值,和umask值通过减权限(不是减法)的方式运算出目录和文件的初始权限。

1
2
3
4
5
6
例1:umask 002    002<-------w->  
当创建一个文件   666<rw-rw-rw-> - 002<-------w-> = 664<rw-rw-r-->
当创建一个目录   777<rwxrwxrwx> - 002<-------w-> = 775<rwxrwxr-x>
例2: umask 033   033<----wx-wx>
当创建一个文件   666<rw-rw-rw-> - 033<----wx-wx> = 644<rw-r--r-->
当创建一个目录   777<rwxrwxrwx> - 033<----wx-wx> = 744<rwxr--r-->


chattr

1、命令作用

  改变文件或目录属性

2、命令格式

  chattr [options] file

3、参数

  -i 不可以增加、追加、删除和更改,重命名任何内容和信息。

  -a 只可以追加内容,不可以删除、更改和重命名。

4、样例

1
2
3
[root@server02 test]# chattr +i 1.txt
[root@server02 test]# chattr +a 2.txt
[root@server02 test]# chattr -i 1.txt


lsattr

1、命令作用

  查看文件或目录属性

2、命令格式

  lsattr [options] file

3、参数

  -d 列出目录的属性信息。

  -a 列出当前文件或目录下的所有文件(包含隐藏文件)的属性信息。

  -R 列出目录下的所有文件和子目录及其下的所有文件的属性信息。

4、样例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@server02 test]# lsattr
---------------- ./directory
----i----------- ./1.txt
-----a---------- ./2.txt
----i----------- ./dir1
[root@server02 test]# lsattr -a
---------------- ./.
---------------- ./..
---------------- ./directory
----i----------- ./1.txt
-----a---------- ./2.txt
----i----------- ./dir1
---------------- ./.3.txt
[root@server02 test]# lsattr -d
---------------- .
[root@server02 test]# lsattr -R directory
-----a---------- directory/test.txt
---------------- directory/dir2
 
directory/dir2:
-----a---------- directory/dir2/100.txt
 
[root@server02 test]#











本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1933264,如需转载请自行联系原作者

相关文章
|
2月前
chmod 更改文件或目录权限
【1月更文挑战第2天】
53 0
|
9月前
|
Java
Java 创建文件自动新增父目录、查询目录文件、删除文件目录下面的文件
要处理文件保存和删除的操作,记录一下以免遗忘: 1、创建文件,并且自动创建父目录 2、删除目录下面的所有文件
124 0
|
11月前
|
安全 Linux
6.4 文件与目录的默认权限与隐藏权限
6.4 文件与目录的默认权限与隐藏权限
63 0
|
11月前
|
Linux 数据库 数据安全/隐私保护
5.2.3目录与文件之权限意义
5.2.3目录与文件之权限意义
58 0
|
12月前
|
搜索推荐
更改目录
写完了一篇文章,进行对标题实现一个自动更改的目的,通过word对文章标题实现一个自动更改目录的功能,在更改的过程中遇到了出现了很多不明白的地方的,也是让自己陷入了两难的境界。
38 0
|
人工智能 Linux
如何在Linux使用 chattr 命令更改文件或目录的扩展属性?
如何在Linux使用 chattr 命令更改文件或目录的扩展属性?
156 0
|
Linux Go
linux中的chmod改变权限、修改bigbig.txt文件使其所属主用户只有读权限、修改bigbig.txt文件使其所属组用户具有写权限linux中的文件权限类、rwx 作用文件和目录的不同解释
linux中的chmod改变权限、修改bigbig.txt文件使其所属主用户只有读权限、修改bigbig.txt文件使其所属组用户具有写权限linux中的文件权限类、rwx 作用文件和目录的不同解释
linux中的chmod改变权限、修改bigbig.txt文件使其所属主用户只有读权限、修改bigbig.txt文件使其所属组用户具有写权限linux中的文件权限类、rwx 作用文件和目录的不同解释
|
存储 缓存 自然语言处理
【Linux】文件与目录的默认权限与隐藏权限(2)
【Linux】文件与目录的默认权限与隐藏权限
106 0
【Linux】文件与目录的默认权限与隐藏权限(2)
|
存储 Oracle 关系型数据库
【Linux】文件与目录的默认权限与隐藏权限(1)
【Linux】文件与目录的默认权限与隐藏权限
129 0
【Linux】文件与目录的默认权限与隐藏权限(1)