• 【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

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

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

  • 相关阅读:
    Java中的 多线程编程
    Python中的字典详解
    Python中的数据类型
    Python中的字符串操作总结(Python3.6.1版本)
    R语言绘制沈阳地铁线路图
    HIVE中的order by操作
    Hive中order by,sort by,distribute by,cluster by的区别
    HDFS shell命令
    HDFS入门
    Bootstrap_Datatable Ajax请求两次问题的解决
  • 原文地址:https://www.cnblogs.com/qq1148932219/p/10274215.html
Copyright © 2020-2023  润新知