• Linux 文件普通权限_011


    一、文件权限10个字符对应类型和权限

    二、Linux普通文件和Linux目录读、写、执行权限说明

    标注:Linux 中的文件名是存在于父目录的block里面,并指向这个文件的inode节点

    1、linux 普通文件读、写、执行权限说明

    权限

    描述

    范例

    可读 r

    表示具有读取文件内容的权限

    范例1

    可写 w

    表示具有新增、修改文件内容的权限

    1、如果没有r,那么vi会提示无法编辑(可强制编辑),echo 可以重定向或追加

    2、特别提示,删除(修改文件名等)的权限是受父目录的权限控制,和文件本身权限无关

    范例2

    可执行 x

    表示具有执行文件的权限

    1、文件本身要能够执行

    2、普通用户同时还需具备r的权限才能

    3、root 只要有x的权限就能执行

    win 32下可执行文件 *.exe *.bat *.com

    linux  下可执行文件 *.sh  *.py  *.perl等

    范例3

    2、linux 目录的读、写、执行权限说明

    权限

    描述

    范例

    可读 r

    表示具有浏览目录下面文件及子目录的权限,即 ls   dir

    1、如果没有x权限,不能进到目录里,即无法cd dir

    2、如果没有x权限,ls 列表时可以看到所有文件名,但是会提示无权访问目录下文件

    3、如果ls -l 列表,所有的属性会带有问号,也会提示无权访问目录下文件。但可以

    看到所有文件名。

    范例4

    可写 w

    表示具有增加、删除或修改目录内文件名(一般指文件名)的权限(需要x权限配合使用)

    范例5

    可执行 x

    表示具有进入目录的权限,例如 cd dir

    但是没有r无法列表文件及目录,没有w无法新建和删除

    范例6

    三、环境模拟实践

    chmod  (change mode)   改变文件或目录权限的命令

    chmod命令可以通过两种方法设置权限,第一种是权限字母和操作符表达式,第二种是数字方法(八进制),推荐使用数字方法。

    第一种方法:文件权限对应的数字方法(八进制)表示

    chmod   [数字组合]    文件名

    第二种方法:权限字母和操作符表达式

    chmod  [用户类型] [+|-|=]  [字符权限]  文件名

    权限字母

    功能

    权限

    备注说明

    u (user)

    +  增加

    -      减少

    =  设置

    r   读操作

    w  写操作

    x  执行操作

    -      无权限

    +  添加某个权限

    -  取消某个权限

    =  取消其它所有权限赋予给定的权限

    g (group)

    o (others)

    a (all)

    模拟测试准备:

    1、创建一个用户组 incahome(主人的家庭,即用户组)

    2、创建三个用户

    oldboy  (主人,即用户)  

    oldgirl  (主人的家人,即用户)  

    3、test  (其他人,即用户)

    创建一个目录oldboy 并且目录里创建一个文件 test.sh

    模拟操作:

    [root@oldboy ~]# groupadd incahome   ##创建一个用户组

    [root@oldboy ~]# useradd oldboy -g incahome   ##创建一个用户并分配到指定的incahome用户组,如果oldboy用户存在需使用usermod修改用户组命令

    [root@oldboy ~]# useradd oldgirl

    [root@oldboy ~]# usermod -g incahome oldgirl  ##修改用户oldgirl所属用户组 用户必须已创建

    [root@oldboy ~]# id oldboy  ##查看oldoyb UID和GID

    uid=500(oldboy) gid=500(oldboy) groups=500(oldboy)

    [root@oldboy ~]# id oldgirl

    uid=501(oldgirl) gid=502(incahome) groups=502(incahome)

    [root@oldboy ~]# useradd test

    [root@oldboy ~]# id test       

    uid=502(test) gid=503(test) groups=503(test)

    ##创建oldboy目录,并在oldboy目录下创建一个文件test.sh

    [root@oldboy ~]# mkdir /oldboy

    [root@oldboy ~]# ls -ld /oldboy/

    drwxr-xr-x 2 root root 4096 Dec  1 16:30 /oldboy/

    [root@oldboy ~]# echo "echo oldboylinux" > /oldboy/test.sh

    [root@oldboy ~]# ls -l /oldboy/test.sh

    -rw-r--r-- 1 root root 17 Dec  1 16:33 /oldboy/test.sh

    [root@oldboy ~]# chmod +x /oldboy/test.sh

    [root@oldboy ~]# ls -l /oldboy/test.sh

    -rwxr-xr-x 1 root root 17 Dec  1 16:33 /oldboy/test.sh

    [root@oldboy ~]# chown oldboy.incahome /oldboy/test.sh   ##修改文件所属主和属组

    [root@oldboy ~]# chown oldboy.incahome /oldboy/

    [root@oldboy ~]# ls -l /oldboy/test.sh

    -rwxr-xr-x 1 oldboy incahome 32 Dec  3 10:36 /oldboy/test.sh

    [root@oldboy ~]# ls -ld /oldboy/

    drwxr-xr-- 2 oldboy incahome 4096 Dec  4 17:01 /oldboy/

    范例1:

    [root@oldboy ~]# ls -l /oldboy/test.sh

    -rwxr-xr-x 1 oldboy incahome 32 Dec  3 10:36 /oldboy/test.sh

    [root@oldboy ~]# chmod 740 /oldboy/test.sh

    [root@oldboy ~]# ls -l /oldboy/test.sh

    -rwxr----- 1 oldboy incahome 17 Dec  4 17:01 /oldboy/test.sh

    [root@oldboy ~]# su - oldgirl

    [oldgirl@oldboy ~]$ cat /oldboy/test.sh

    echo oldboylinux

    [oldgirl@oldboy ~]$ /oldboy/test.sh

    -bash: /oldboy/test.sh: Permission denied

    [oldgirl@oldboy ~]$ rm -f /oldboy/test.sh

    rm: cannot remove `/oldboy/test.sh': Permission denied

    [oldgirl@oldboy ~]$ su - test

    Password:

    [test@oldboy ~]$ cat /oldboy/test.sh

    cat: /oldboy/test.sh: Permission denied

    [test@oldboy ~]$ /oldboy/test.sh

    -bash: /oldboy/test.sh: Permission denied

    [test@oldboy ~]$ rm  /oldboy/test.sh

    rm: cannot remove `/oldboy/test.sh': Permission denied

    范例2:

    [root@oldboy ~]# chmod 762 /oldboy/test.sh

    [root@oldboy ~]# ls -l /oldboy/test.sh

    -rwxrw--w- 1 oldboy incahome 17 Dec  4 17:01 /oldboy/test.sh

    [oldgirl@oldboy ~]$ ls -ld /oldboy/

    drwxr-xr-x 2 root root 4096 Dec  4 17:01 /oldboy/

    [oldgirl@oldboy ~]$ rm /oldboy/test.sh     ##文件名存在于oldboy目录的block里

    rm: cannot remove `/oldboy/test.sh': Permission denied

    [oldgirl@oldboy ~]$ echo "testdata" >> /oldboy/test.sh

    [oldgirl@oldboy ~]$ cat /oldboy/test.sh

    echo oldboylinux

    testdata

    [oldgirl@oldboy ~]$ su - test

    Password:

    [test@oldboy ~]$ rm /oldboy/test.sh

    rm: cannot remove `/oldboy/test.sh': Permission denied

    [test@oldboy ~]$ echo "othersdata" >> /oldboy/test.sh

    [test@oldboy ~]$ cat /oldboy/test.sh

    cat: /oldboy/test.sh: Permission denied

    范例3:

    [root@oldboy ~]# ls -l /oldboy/test.sh

    -rwxr-x--x 1 oldboy incahome 17 Dec  4 17:47 /oldboy/test.sh

    [root@oldboy ~]# su - oldgirl

    [oldgirl@oldboy ~]$ cat /oldboy/test.sh

    echo oldboylinux

    [oldgirl@oldboy ~]$ /oldboy/test.sh

    oldboylinux

    [oldgirl@oldboy ~]$ su - test

    Password:

    [test@oldboy ~]$ cat /oldboy/test.sh

    cat: /oldboy/test.sh: Permission denied

    [test@oldboy ~]$ /oldboy/test.sh

    bash: /oldboy/test.sh: Permission denied

    范例4:

    [root@oldboy ~]# chmod 754 /oldboy/

    [root@oldboy ~]# ls -ld /oldboy/

    drwxr-xr-- 2 oldboy incahome 4096 Dec  4 17:01 /oldboy/

    [root@oldboy ~]# su - oldgirl

    [oldgirl@oldboy ~]$ cd /oldboy/

    [oldgirl@oldboy oldboy]$ ls /oldboy/

    abc.txt  test.sh

    [oldgirl@oldboy oldboy]$ ls -l /oldboy/

    total 4

    -rw-r--r-- 1 oldgirl incahome  0 Dec  3 10:41 abc.txt

    -rwxr-x--x 1 oldboy  incahome 17 Dec  4 17:47 test.sh

    [oldgirl@oldboy oldboy]$ su - test

    Password:

    [test@oldboy ~]$ cd /oldboy/

    -bash: cd: /oldboy/: Permission denied

    [test@oldboy ~]$ ls /oldboy/

    ls: cannot access /oldboy/test.sh: Permission denied

    ls: cannot access /oldboy/abc.txt: Permission denied

    abc.txt  test.sh

    [test@oldboy ~]$ ls -l /oldboy/

    ls: cannot access /oldboy/test.sh: Permission denied

    ls: cannot access /oldboy/abc.txt: Permission denied

    total 0

    -????????? ? ? ? ?            ? abc.txt

    -????????? ? ? ? ?            ? test.sh

    范例5:

    [root@oldboy ~]# chmod 777 /oldboy/test.sh /oldboy/file.txt

    [root@oldboy ~]# chmod 731 /oldboy/

    [root@oldboy ~]# ls -ld /oldboy/

    drwx-wx--x 2 oldboy incahome 4096 Dec  4 18:05 /oldboy/

    [root@oldboy ~]# ls -l /oldboy/

    total 8

    -rwxrwxrwx 1 root   root      9 Dec  4 18:05 file.txt

    -rwxrwxrwx 1 oldboy incahome 17 Dec  4 17:47 test.sh

    [root@oldboy ~]# su - oldgirl

    [oldgirl@oldboy ~]$ rm /oldboy/file.txt

    [oldgirl@oldboy ~]$ ls -l /oldboy/

    ls: cannot open directory /oldboy/: Permission denied

    [oldgirl@oldboy ~]$ exit

    logout

    [root@oldboy ~]# ls -l /oldboy/

    total 4

    -rwxrwxrwx 1 oldboy incahome 17 Dec  4 17:47 test.sh

    [root@oldboy ~]# su - test

    [test@oldboy ~]$ rm /oldboy/test.sh

    rm: cannot remove `/oldboy/test.sh': Permission denied

    范例6:

    [root@oldboy ~]# chmod 716 /oldboy/

    [root@oldboy ~]# ls -ld /oldboy/

    drwx--xrw- 2 oldboy incahome 4096 Dec  4 18:11 /oldboy/

    [root@oldboy ~]# su - oldgirl

    [oldgirl@oldboy ~]$ cd /oldboy/

    [oldgirl@oldboy oldboy]$ pwd

    /oldboy

    [oldgirl@oldboy oldboy]$ su - test

    Password:

    [test@oldboy ~]$ cd /oldboy/

    -bash: cd: /oldboy/: Permission denied

    [test@oldboy ~]$ ls -l /oldboy/

    ls: cannot access /oldboy/test.sh: Permission denied

    total 0

    -????????? ? ? ? ?            ? test.sh

  • 相关阅读:
    linux usb 驱动详解
    md5sum.c, md5.c, md5.h
    安装 Kali Linux 后需要做的 20 件事
    Readprocessmemory使用方法
    在Centos下安装matlab
    PE文件简单介绍
    MATLAB中导入数据:importdata函数
    数据交换工具Kettle
    编写你自己的单点登录(SSO)服务
    AVL树
  • 原文地址:https://www.cnblogs.com/zoulongbin/p/10512208.html
Copyright © 2020-2023  润新知