zoukankan      html  css  js  c++  java
  • 【Linux】文件权限

    Linux的每一个文件都跟多种类型相关联。在这些权限中,我们通常需要和三类权限打交道(用户、用户组以及其他实体)。

    1.文件权限查看ls –l

    Linux:/qinys # ls -l
    total 60
    -rwxr--r-- 1 root root   30 Jan 15 01:46 A.txt
    -rw-r--r-- 1 root root   30 Jan 15 01:46 B.txt
    -rw-r--r-- 1 root root    8 Jan 15 01:48 C.txt
    -rw-r--r-- 1 root root   11 Jan 15 01:33 D.txt
    drwxr-xr-x 2 root root 4096 Jan 15 04:33 a.sh
    drwxr-xr-x 2 root root 4096 Jan 15 02:24 data

    第一行:total 60 :告诉我们该目录所占用的空间;

    第一列:第一个字母明确指出对象类型

    "-" :普通文件

    "d" :目录

    "c" :字符设备

    "b" :块设备

    "l" :符号链接

    "s" :套接字

    "p" :管道

    第二列:表示硬链接的数目

    2.用户、用户组、其他用户权限

    除去第一个字母,剩下的部分可以分为三段,每段3个字符;其中:

    • 第一段对应用户权限
    • 第二段对应用户组权限
    • 第三段对应其他用户权限

    例如:-rw-r--r-- 1 root root   30 Jan 15 01:46 B.txt

    -代表该文件问普通文件,rw-代表用户权限为可读写,r--代表用户组权限为可读,r--代表其他用户权限为可读

    3.设置文件权限

    3.1 一般授权

    3.1.1 chmod命令的一般格式为:

    chmod [who] operator [permission] filename

    说明:

    who的含义

    u :指定用户权限

    g :指定用户组权限

    o :指定其他实体权限

    a :表示所有(用户、用户组、其他实体用户)

    operator的含义

    + 增加权限

    -  删除权限

    = 设定权限

    permission的含义

    r  读权限

    w 写权限

    x  执行权限

    s  文件属主和组set-ID

    t  粘性位*

    l  给文件加锁,使其他用户无法访问

    3.1.2 chmod命令举例

    假如现在文件per.sh权限为rwx rwx rwx

    Linux:/qinys # ls -lrt per.sh
    -rwxrwxrwx 1 root root 0 Jan 17 15:05 per.sh

    ①收回所有用户组的执行权限

    Linux:/qinys # chmod a-x per.sh
    Linux:/qinys # ls -lrt per.sh
    -rw-rw-rw- 1 root root 0 Jan 17 15:05 per.sh

    ②收回同用户组好其他用户组的写权限

    Linux:/qinys # chmod go-w per.sh

    Linux:/qinys # ls -lrt per.sh
    -rw-r--r-- 1 root root 0 Jan 17 15:05 per.sh

    ③赋予同组用户写权限

    Linux:/qinys # chmod g+w per.sh
    Linux:/qinys # ls -lrt per.sh
    -rw-rw-r-- 1 root root 0 Jan 17 15:05 per.sh

    ④赋予文件属主可执行权限

    Linux:/qinys # chmod u+x per.sh
    Linux:/qinys # ls -lrt per.sh
    -rwxrw-r-- 1 root root 0 Jan 17 15:05 per.sh

    ⑤赋予同组用户和其他用户可执行权限

    Linux:/qinys # chmod go+x per.sh
    Linux:/qinys # ls -lrt per.sh
    -rwxrwxr-x 1 root root 0 Jan 17 15:05 per.sh


    3.1 八进制授权

    也可以使用八进制来设置权限,权限由3位八进制数来表示,每一位按照顺序分别对应用户、用户组、其他用户

    读、写和执行都有与之对应的八进制数

    • r--=4
    • -w-=2
    • --x=1

    我们可以对权限进行组合,例如:可读可写权限

    rw-=4+2

    777表示的是:用户、用户组、其他用户都具有可读、可写、可执行权限

    示例:chmod 777 filename #授予用户、用户组、其他用户都具有可读、可写、可执行权限

    特殊:chmod 7 filename #将其他用户权限授予可读、可写、可执行,用户与用户组的权限则全部收回

    image

    可以使用-R选项连同子目录下的文件一起设置权限,但是需要谨慎,只有在需要改变目录树下全部文件权限时候才可以使用。

    4.更改文件的所有权

    使用chown命令进行修改

    4.1 查看当前文件所属

    Linux:/qinys/oliver # ls -l
    total 4
    ---x--x--x 1 root root
        0 Jan 15 04:34 a.sh

    当前文件所属为root 组为:root

    4.2 修改所属,再次查看

    Linux:/qinys/oliver # chown qinys:root a.sh

    Linux:/qinys/oliver # ls -l
    total 4
    -------rwx 1 qinys root    0 Jan 15 04:34 a.sh

    从上述结果我们可以看到,文件所属已经发生改变




  • 相关阅读:
    CSP2019滚粗记
    [总结] wqs二分学习笔记
    [总结] 圆方树学习笔记
    [CF960G] Bandit Blues
    [总结] 第一类斯特林数
    [EOJ629] 两开花
    [CF286E] Ladies' shop
    [总结] 动态DP学习笔记
    [BZOJ3879] SvT
    [总结] 替罪羊树学习笔记
  • 原文地址:https://www.cnblogs.com/OliverQin/p/10273507.html
Copyright © 2011-2022 走看看