Linux基本权限day11

作者: 静如止水yw | 来源:发表于2019-08-07 17:34 被阅读0次

    1.权限基本概述
    2.权限设置案例
    3.属主属组设置


    一、权限基本概述


    1.什么是权限
    是指操作系统对用户能够所执行的功能设立的限制,主要是用来约束用户能对系统所做的操作,以及内容访问的范围,或者说,权限是指某个特定的用户具有特定的系统资源使用权力。
    2.为什么要使用权限
    因为在系统中不会只存在一个root用户,而是存在着多个用户,为了保护每个登录用户的隐性和工作环境,所以就有了权限。
    3.权限与用户为之间的关系
    在Linux系统中,针对文件定义了三种身份:属主权限位(oener)、属组权限位(group)和其他用户权限位(others),每一种身份有代表了三种权限:可读(readable)、可写(writable)和可执行(excutable)。

    image.png
    用户访问文件的流程
    1)判断用户是否为文件所有者,如果是则按所有者的权限进行访问
    2)判断用户是否为文件所有组成员,如果是则按组的权限进行访问
    3)如果不是所有者,也不是该文件所属组,则按匿名权限进行访问
    4.权限中的rwx是什么
    当我们使用ll查看一个文件时,看到的每个文件都有一个9位的权限位,如:rw-r--r--,其中每三个字符为一组,分别是属主权限位、属组权限位和其他用户权限位。
    字母 含义 对应权限
    r(read) 读取权限 4
    w(write) 写入权限 2
    x(execute) 执行权限 1
    -(没有权限) 没有权限 0

    二、权限设置案例


    1.如何设定权限
    使用chmod设定权限

    • ugo(user group other all)
    [root@wyw ~]# touch file                     #创建文件
    [root@wyw ~]# chmod a=rwx file               #给所有人添加读写执行权限
    [root@wyw~]# chmod a=-rwx file               #取消所有的权限
    [root@wyw~]# chmod u=rwx,g=rw,o=- file       #属主读写执行,属组读写,其他人无权限
    [root@wyw~]# chmod ug=rwx,o=r file           #属主属组读写执行,其他人读权限
    [root@wyw ~]# ll file
    -rwxrw-r-- 1 root root 0 Apr 13 03:29 file
    
    • number(数字 r=4 w=2 x=1 -=0)
    ## 针对文件最高设定为 777   但是一般都是666
    #1.设定属主(读写) 属组(读)权限  其他人(无)    rw-r------    翻译为数字 640 
    [root@oldboyedu opt]# chmod 640 1.txt 
    [root@oldboyedu opt]# ll 1.txt 
    -rw-r-----. 1 oldboy root 8 Aug  7 10:07 1.txt
    #2. 设定属主(读写) 属组(无)权限  其他人(无) 
    [root@oldboyedu opt]# chmod 600 1.txt 
    [root@oldboyedu opt]# ll total 4
    -rw-------. 1 oldboy root 8 Aug  7 10:07 1.txt
    ## 针对目录设定的权限
    #选项:  -R递归修改
    [root@bgx ~]# mkdir dir 
    [root@bgx ~]# chmod 777 dir/    #修改目录允许所有人访问 
    [root@bgx ~]# chmod -R 755 dir/ #修改目录及子目录权限 
    [root@bgx ~]# ll -d dir/ 
    drwxr-xr-x 2 root root 6 Apr 13 03:34 dir/
    

    2.权限验证
    权限对文件和对目录的影响的区别

    权限 对文件的影响 对目录的影响
    r 能读取文件的内容(cat head less tail more) 具有浏览目录的权限,却无法进入目录,使用ls查看目录下的文件时会报错,但显示文件名称,使用ls -l只能看到文件名称,其他不显示
    w 能写入文件(vim),不能查看 什么权限也没有
    x 能执行文件(若没有r权限,单有x权限,则不能使用) 能进入到目录,却不能查看
    rw 可查看、可编辑文件,不能执行/删除/移动/复制 不能查看/编辑/执行等一系列操作
    rx 可查看、可执行文件,不能编辑/删除/移动/复制 进入目录,可查看目录下的文件,操作文件时,需要文件本身的权限
    rwx 可查看编辑执行文件,不能删除/移动/复制 赋予了w权限,此目录下的文件可读取、编辑、执行、删除、复制、移动、修改等

    PS:
    文件使用最多的组合:rw=6 rx=5 644
    目录使用最多的组合:rx=5 755
    文件权限举例

    # 新建文件,并添加内容至文件中,默认文件匿名用户仅有读权限
    [root@wyw ~]# echo "date" > filename
    [root@wyw~]# ll filename
    -rw-r--r-- 1 root root 5 Jan 24 08:24 filename
    
    #2.切换xiaowang普通用户
    [root@wyw~]# su - bgx
    
    #3.对文件拥有读取的权限,但bgx用户对文件没有执行和删除的权限
    [bgx@wyw ~]$ cat  /root/filename
    date
    
    #4.使用root增加x执行权限
    [root@wyw~]# chmod o+x /root/filename
    [root@wyw ~]# ll /root/filename
    -rw-r--r-x 1 root root 5 Jan 24 08:24 /root/filename
    
    #5.测试x权限是否真的能执行该文件
    [bgx@wyw ~]$ /root/filename
    Wed Jan 24 08:28:34 EST 2018
    
    #6.增加w执行权限
    [root@wyw~]# chmod o+w /root/filename
    [root@wyw~]# ll /root/filename
    -rw-r--rwx 1 root root 5 Jan 24 08:24 /root/filename
    
    #7.测试执行权限
    [bgx@wyw~]$ vim /root/filename
    

    目录权限举例

    # 示例1:创建目录,并在该目录下创建文件,匿名用户对目录没有w权限,对文件有777权限 
    [root@wyw ~]# mkdir /dirname
    [root@wyw ~]# echo "test" >> /dirname/filename
    [root@wyw ~]# chmod 777 /dirname/filename
    
    #普通用户验证权限,能正常查看,但无法删除
    [yw@wyw ~]$ cat /dirname/filename
    test
    [yw@wyw ~]$ rm -f /dirname/filename
    rm: cannot remove ‘/dirname/filename’: Permission denied
    
    
    #示例2: 设置目录777权限,相当于匿名用户对目录有w权限,对文件没有任何权限
    [root@wyw ~]# chmod 777 /dirname/
    [root@wyw ~]# chmod 000 /dirname/filename
    
    #普通用户验证权限
    [yw@wyw ~]$ cat /dirname/filename
    cat: /dirname/filename: Permission denied
    [yw@wyw ~]$ rm -f /dirname/filename
    [yw@wyw ~]$ touch /dirname/filename_2
    

    三、属主属组设置


    变更Linux系统中的属主和属组,需要使用chown和chgrp命令实现。其中chown既可以变更属主,也可以变更属组,而chgrp只能变更属组。

    #chown 更改属主以及属组 -R:递归修改
    #准备环境,创建文件和目录 
    [root@yw ~]# mkdir dir/test1 && touch dir/file
    #示例1: 修改所属主为bin 
    [root@yw ~]# chown bin dir/
    #示例2: 修改所属组为adm 
    [root@yw ~]# chown .adm dir/
    #示例3: 递归修改目录及目录下的所有文件属主和属组 
    [root@yw ~]# chown -R root.root dir/
    

    相关文章

      网友评论

        本文标题:Linux基本权限day11

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