02.linux系统基本权限

发布于 2020-03-13  333 次阅读


  1. Linux系统基本权限

    Linux中的文件或目录的权限和用户及用户组关联很大,Linux中每个文件或目录都有一组共9个基础权限位,每三个字符被分为一组,他们分别是属主权限位(占三个字符)、属组权限位(占三个字符)、其他用户权限位(占三个字符)
    比如rwxr-xr-x linux中正是这9个权限位来控制文件属主(User)、属组(Group)、其他用户(Other)基础权限。

    用户对资源来说, 有三种角色
    User(u):
    属主用户(文件所有者)
    Group(g):
    属组用户(包含组成员)
    Other(o):
    匿名用户(其他人)

    //一个用户访问文件流程如下
    判断用户是否为文件的所有者,如果是,按所有者的权限进行访问
    判断是否为文件的所有组成员,如果是,就按组的权限去访问
    最终用户就是文件的其他的人,按其他人的权限去访问

    rwx, rwx, r-x
    User Group Other

    权限与属主属组

    文件权限对应表

    字母

    含义

    对应权限

    r(read)

    读取权限

    4

    w(write)

    写入权限

    2

    x(execute)

    执行权限

    1

    -(没有权限)

    没有权限

    0

    如果权限位不可读、不可写、不可执行,则用-来表示。

    权限与属主属组作用示例图


    chown: Linux中用来改变某个文件属主的命令, 如漫画中所示, 将某个"资源"()的访问权限给予别人。(卖房)
    chmod: Linux中用来改变某个文件的访问模式的命令, 如漫画中所示chmod 777会将大门敞开, 谁都可以进出。(租房)

  2. 1.权限修改命令chmod

    chmod //修改文件目录权限rwx -R级联修改

     

     

    mkdir dir //建立目录

    touch dir/file //建立文件

     

    示例1

    chmod
    777 dir/ //
    修改dir目录权限为777

    chmod u+rwx,g+rwx,o+rwx

     

    示例2

    chmod
    666 dir/file //
    修改file文件权限为666

    chmod u+rw,g+rw,o+rw

     

    示例3

     

    chmod -R 766 dir/ //修改目录及子目录权限

  3. 2.属主属组修改命令chown

    chown //更改属主以及属组 -R:级联修改

    mkdir dir //创建目录

    touch dir/file_test //创建文件

    mkdir dir/dir_test //创建目录

     

    示例1

    chown bin dir/ //修改所属主为bin

    ll -d dir/ //检查属主

    drwxr-xr-x 2 bin root 4096
    7

    22
    00:50 dir/

     

    示例2

    chown .adm dir/ //修改所属组为adm

    ll -d dir/ //检查属组

    drwxr-xr-x 2 bin adm 4096
    7

    22
    00:50 dir/

     

    示例3

    chown -R root.root dir/ //递归修改目录及目录下的所有文件属主和属组

  4. 3.基础权限设置案例

    权限

    对文件的影响

    对目录的影响

    读取权限(r

    具有读取\阅读文件内容权限

    具有浏览目录及子目录

    写入权限(w

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

    具有增加和删除目录内文件

    执行权限(x

    具有执行文件的权限

    具有访问目录的内容(取决于目录中文件权限)

    文件权限实验案例:

    //默认文件匿名用户仅有读权限

    [root@lxgyw ~]# echo "date" >> filename

    [root@lxgyw ~]# ll filename

    -rw-r--r-- 1 root root 5 Jan 24
    08:24 filename

     

    //测试读权限(无法执行或删除)

    [root@lxgyw ~]# su - bgx

    [bgx@lxgyw ~]$ cat /root/filename

    date

     

    //增加x执行权限

    [root@lxgyw ~]# chmod o+x /root/filename

    [root@lxgyw ~]# ll /root/filename

    -rw-r--r-x 1 root root 5 Jan 24
    08:24 /root/filename

    //测试执行权限

    [bgx@lxgyw ~]$ /root/filename

    Wed Jan 24
    08:28:34 EST 2018

     

    //增加w执行权限

    [root@lxgyw ~]# chmod o+w /root/filename

    [root@lxgyw ~]# ll /root/filename

    -rw-r--rwx 1 root root 5 Jan 24
    08:24 /root/filename

    //测试执行权限

    [bgx@lxgyw ~]$ vim /root/filename

    rwx对文件的影响

    读取权限(r
    文件只有r权限: 具有读取\阅读文件内容权限
    1.
    能使用查看类命令catheadtaillessmore
    2.
    不能复制、不能移动、不能编辑,不能删除

    写入权限(w
    如果文件只有w权限: 具有新增、修改文件内容的权限
    1.
    使用vim编辑会提示权限拒绝, 但可强制保存,会覆盖文件的所有内容
    2.
    使用echocat命令重定向或追加重定向技术可以往文件内写入数据
    3.
    不能复制、不能移动、不能删除,(删除需要看上级目录w的权限)

    执行权限(x
    文件只有x权限,具有执行文件的权限。
    //
    注意: 普通用户需要有r权限,管理员不需要
    1.
    不能执行、查看、编辑、复制、移动、删除

    目录权限实验案例:

    实战案例1: 对目录没有w,对文件有rwx

    [root@lxgyw ~]# mkdir /dirname

    [root@lxgyw ~]# echo "test" >> /dirname/filename

    [root@lxgyw ~]# chmod 777 /dirname/filename

    [root@lxgyw ~]# ll -d /dirname/

    drwxr-xr-x 2 root root 22 Jan 24
    08:40 /dirname/

    [root@lxgyw ~]# ll -d /dirname/filename

    -rwxrwxrwx 1 root root 5 Jan 24
    08:41 /dirname/filename

     

    //普通用户验证权限

    [bgx@lxgyw ~]$ cat /dirname/filename

    test

    [bgx@lxgyw ~]$ rm -f /dirname/filename

    rm: cannot remove '/dirname/filename': Permission denied

     

     

    实战案例2: 对目录有w,对文件没有任何权限

    [root@lxgyw ~]# chmod 777 /dirname/

    [root@lxgyw ~]# chmod 000 /dirname/filename

    [root@lxgyw ~]# ll -d /dirname/

    drwxrwxrwx 2 root root 22 Jan 24
    08:40 /dirname/

    [root@lxgyw ~]# ll -d /dirname/filename

    ---------- 1 root root 5 Jan 24
    08:41 /dirname/filename

     

    file_lxgyw//普通用户验证权限

    [bgx@lxgyw ~]$ cat /dirname/filename

    cat: /dirname/filename: Permission denied

    [bgx@lxgyw ~]$ rm -f /dirname/filename

    [bgx@lxgyw ~]$ touch /dirname/filename_2

    rwx对目录的影响

    目录只有r权限: 具有浏览目录及子目录权限
    1.
    能使用ls命令浏览目录及子目录, 同时会提示权限拒绝
    2.
    能使用ls -l命令浏览目录及子目录, 会带问号,同时只能看到文件名
    总结: 目录只有r权限,仅仅只能浏览内的文件名,无其他操作权限

    写入权限(w
    如果目录只有w权限: 具有增加、删除或修改目录内文件名权限(需要x配合)
    //
    注意: 如果目录有w权限, 可以在目录内创建文件, 删除文件(跟文件本身权限无关)
    不能进入目录、不能复制目录、不能删除目录、不能移动目录

    执行权限(x
    目录只有x权限
    1.
    只能进入目录
    2.
    不能浏览、复制、移动、删除

    权限小结:

    文件rw权限, 可以查看和编辑文件内容
    文件rx权限, 只能查看和执行文件、不能编辑、复制、移动、删除
    目录rx权限, 允许浏览目录内文件以及子目录、并允许在目录内新建文件, 不允许创建、删除文件和目录

    注意事项:

    文件, x权限小心给予,建议赋予rrw即可
    目录, w权限小心给予,建议无特殊需求赋予rx即可

    实验

    1.创建andy,alice用户为ateam, 用户统一使用password为密码
    2.
    要求ateam组的成员可以访问/home/ateam-text目录, 并且可以在目录下创建,删除文件, 在目录下andy创建的文件可以让alice修改.

        


一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。