美文网首页
Linux系统文件目录权限详解

Linux系统文件目录权限详解

作者: gilbertch | 来源:发表于2019-08-23 16:14 被阅读0次

    Linux系统对文件的权限分为读(Read), 写(Write), 可执行(Exeute),对于操作者又分为三种不同的身份:文件所有者,用户组,其他人。

    gilbert@gilbert-xp:~/test$ ls -l
    total 0
    -rw-r--r-- 1 gilbert gilbert 0 2013-03-16 14:50 readme
    
    Linux文件权限

    一、文件权限

    1. 读(r):可以读取文件的内容。

    2. 写(w):可以编辑,修改文件内容。(但不能删除文件)
    3. 执行(x):文件可以被系统执行。

    对于文件的权限,主要都是针对“文件内容”而言的。

    gilbert@gilbert-xp:~/test$ ls -l
    total 0
    -rw-r----- 1 gilbert gilbert 0 2013-03-16 14:50 readme #所有者对文件不具有执行权限(x)
    gilbert@gilbert-xp:~/test$ ./readme #文件所有者执行文件
    bash: ./readme: Permission denied   #无权限
    gilbert@gilbert-xp:~/test$ vi readme  #有写权限(w), 编辑文件,写入hello
    gilbert@gilbert-xp:~/test$ cat readme #有读权限(r), 读取文件内容
    hello
    gilbert@gilbert-xp:~/test$ chmod u-r readme #移除所有者对该文件的读权限
    gilbert@gilbert-xp:~/test$ ls -l readme 
    --w-r----- 1 gilbert gilbert 6 2013-03-16 15:41 readme #已移除所有者的读权限
    gilbert@gilbert-xp:~/test$ cat readme  #尝试读取文件
    cat: readme: Permission denied  #读取失败, 无权限
    gilbert@gilbert-xp:~/test$ chmod u-w readme  #移除所有者对该文件的写权限
    gilbert@gilbert-xp:~/test$ ls -l
    total 4
    ----r----- 1 gilbert gilbert 6 2013-03-16 15:41 readme #已移除所有者的写权限
    gilbert@gilbert-xp:~/test$ vi readme #尝试编辑文件,会打开编辑器,但内容为空,提示无权限
    

    二、目录权限

    目录主要的内容是记录文件名列表。

    1. 读(r):表示具有读取目录结构列表的权限,表示你可以查询该目录下的文件名数据,可以利用ls命令将该目录的内容列表显示出来。 2. 写(w):表示你具有更改目录结构列表的权限,包括以下权限:

    • 新建文件和目录
    • 删除已存在的文件和目录
    • 重命名已存在的文件和目录
    • 转移该目录下的文件和目录

    3. 执行(x):表示用户可以进入该目录作为工作目录。

    gilbert@gilbert-xp:~/test$ ls -l
    total 8
    drwxr-xr-x 2 gilbert gilbert 4096 2013-03-16 15:51 dir  #所有者对该目录具有rwx所有权限
    ----r----- 1 gilbert gilbert    6 2013-03-16 15:41 readme
    gilbert@gilbert-xp:~/test$ cd dir #具有x权限, 可以进入作为工作目录
    gilbert@gilbert-xp:~/test/dir$ ls #具有r权限, 可以查看文件夹内文件列表
    gilbert@gilbert-xp:~/test/dir$ touch file #具有w权限, 可以创建文件
    gilbert@gilbert-xp:~/test/dir$ ls
    file  #文件创建成功
    gilbert@gilbert-xp:~/test/dir$ touch file1 #创建文件file1
    gilbert@gilbert-xp:~/test/dir$ ls
    file  file1
    gilbert@gilbert-xp:~/test/dir$ rm file1 #具有w权限, 可以删除文件
    gilbert@gilbert-xp:~/test/dir$ ls
    file  #文件file1已删除
    gilbert@gilbert-xp:~/test/dir$ cd ..
    gilbert@gilbert-xp:~/test$ chmod u-w dir/  #移除w权限
    gilbert@gilbert-xp:~/test$ ls -l
    total 8
    dr-xr-xr-x 2 gilbert gilbert 4096 2013-03-16 15:53 dir  #已移除w权限
    ----r----- 1 gilbert gilbert    6 2013-03-16 15:41 readme
    gilbert@gilbert-xp:~/test$ cd dir/
    gilbert@gilbert-xp:~/test/dir$ ls
    file
    gilbert@gilbert-xp:~/test/dir$ touch file1  #尝试创建文件
    touch: cannot touch `file1': Permission denied  #创建失败, 无权限
    gilbert@gilbert-xp:~/test/dir$ rm file  #尝试删除文件
    rm: cannot remove `file': Permission denied  #删除失败, 无权限
    gilbert@gilbert-xp:~/test/dir$ cd ..
    gilbert@gilbert-xp:~/test$ chmod u-r dir  #移除r权限
    gilbert@gilbert-xp:~/test$ ls -l
    total 8
    d--xr-xr-x 2 gilbert gilbert 4096 2013-03-16 15:53 dir #已移除r权限
    ----r----- 1 gilbert gilbert    6 2013-03-16 15:41 readme
    gilbert@gilbert-xp:~/test$ ls -l dir/ #尝试读取文件夹内容
    ls: cannot open directory dir/: Permission denied #读取失败, 无权限
    gilbert@gilbert-xp:~/test$ cd dir/
    gilbert@gilbert-xp:~/test/dir$ ls
    ls: cannot open directory .: Permission denied  #读取失败, 无权限
    gilbert@gilbert-xp:~/test/dir$ cd ..
    gilbert@gilbert-xp:~/test$ chmod u-x dir/  #移除x权限
    gilbert@gilbert-xp:~/test$ ls -l
    total 8
    d---r-xr-x 2 gilbert gilbert 4096 2013-03-16 15:53 dir #已移除x权限
    ----r----- 1 gilbert gilbert    6 2013-03-16 15:41 readme
    gilbert@gilbert-xp:~/test$ cd dir/  #切换到dir目录
    bash: cd: dir/: Permission denied  #切换失败, 不具有x权限, 不能用该目录作为工作目录
    

    原文链接

    相关文章

      网友评论

          本文标题:Linux系统文件目录权限详解

          本文链接:https://www.haomeiwen.com/subject/bgstectx.html