zoukankan      html  css  js  c++  java
  • linux系统权限(基本权限)

    linux的系统权限:
    r--  100 4
    -w- 010 2
    --x  001 1

    [root@localhost ~]# ll -d dir
    drwxrwxrwx 2 root root 18 Nov 5 12:21 dir
    [root@localhost ~]# ll -d dir/file 
    -rw-r--r-- 1 root root 0 Nov 5 12:21 dir/file

    1).权限描述
    /root/dir的权限是所属用户root读写执行,所属组root读执行,其他用户读执行
    /root/dir/file的权限是所属用户root读写,所属组root读,其他用户读
    2)判断使用者的所属

    chown [user].[group] [-R] filename
    [root@localhost ~]# chown oldboy dir/
    [root@localhost ~]# ll -d dir/
    drw-r----- 2 oldboy root 51 Nov 5 21:01 dir/
    [root@localhost ~]# chown .dba dir/
    [root@localhost ~]# ll -d dir/
    drw-r----- 2 oldboy dba 51 Nov 5 21:01 dir/
    [root@localhost ~]# chown root.root dir/
    [root@localhost ~]# ll -d dir/
    drw-r----- 2 root root 51 Nov 5 21:01 dir/
    [root@localhost ~]# chown oldboy:dba dir/
    [root@localhost ~]# ll -d dir/
    drw-r----- 2 oldboy dba 51 Nov 5 21:01 dir/

    3)修改权限
    第一种方式:
    chmod [ugoa] [+-=] [rwx] [-R] filename

    [root@localhost ~]# chmod 777 dir/
    [root@localhost ~]# ll -d dir/
    drwxrwxrwx 2 root root 18 Nov 5 12:21 dir/
    [root@localhost ~]# chmod go-w dir/
    [root@localhost ~]# ll -d dir/
    drwxr-xr-x 2 root root 18 Nov 5 12:21 dir/
    [root@localhost ~]# chmod g=rwx,o= dir/
    [root@localhost ~]# ll -d dir/
    drwxrwx--- 2 root root 18 Nov 5 12:21 dir/
    [root@localhost ~]# chmod a=rwx dir/
    [root@localhost ~]# ll -d dir/
    drwxrwxrwx 2 root root 18 Nov 5 12:21 dir/
    [root@localhost ~]# chmod -R 444 dir/ 
    [root@localhost ~]# ll -d dir/ dir/file 
    dr--r--r-- 2 root root 18 Nov 5 12:21 dir/
    -r--r--r-- 1 root root 0 Nov 5 12:21 dir/file
    [root@localhost ~]# chmod -R =wx dir/
    [root@localhost ~]# ll -d dir/
    d-wx--x--x 2 root root 18 Nov 5 12:21 dir/
    [root@localhost ~]# ll -d dir/file 
    --wx--x--x 1 root root 0 Nov 5 12:21 dir/file


    第二种方式:
    chmod nnn filename
    第一个n:U
    第二个n:G
    第三个n:O
    所属用户rw,属组用户只读,其他用户无权限
    6                       4                               0

    [root@localhost ~]# ll -d dir/
    drw-r----- 2 root root 51 Nov 5 21:01 dir/
    常用几种组合
    默认目录:755
    默认文件:644
    目录:755 750 700
    文件:644 640 600

    linux系统基本权限

    autorun
    linux系统特殊权限
    linux系统ACL

    linux中的文件或目录和用户及用户组关联很大,linux这种每个文件或目录都有一组共9个基础权限位,每三个字符被分为一组,他们分别是
    属主权限位(占三个字符)、属组权限位(占三个字符)、其他用户权限位(占三个字符)。

    比如rwxr-xr-x linux中正是这9个权限位来控制文件数字(User)、属组(Group)、其他用户(Other)基础权限

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

    判断用户是否为文件的所有者,如果是,按所有者的权限进行访问
    判断是否为文件的所有组成员,如果是,就按组的权限去访问
    不满足上面条件的用户就是文件的其他的人,按其他的人的权限去访问

    rwx,rwx ,r-x
    User Group Other

    权限与属主属组 ,如图1

                                                        图1  权限与属主属组

    文件权限对应表
    字母                 含义       对应权限
    r(read)         读写权限           4
    w(write)       写入权限           2
    x(execute)   执行权限           1
    -(无权限) 没有权限 0

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

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

                                               漫画 


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

    1.权限修改命令chmod
    chmod [ugoa] [+-=] [rwx] filename
    chmod //修改文件目录权限rwx -R级联修改

    mkdir -pv 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 700 dir/ //递归修改目录权限(修改目录及子目录权限)

    2.属主属组修改命令chown
    chown //更改属主以及属组 -R;级联修改

    示例1:
    [root@localhost ~]# chown oldboy dir/ //修改所属主为bin
    [root@localhost ~]# ll -d dir/ //检查属主
    drw-r----- 2 oldboy root 51 Nov 5 21:01 dir/
    
    示例2:
    [root@localhost ~]# chown .adm dir/ //修改所属组为adm
    [root@localhost ~]# ll -d dir/ //检查属组
    drw-r----- 2 oldboy adm 51 Nov 5 21:01 dir/

    3.基础权限设置案例
    权限                            对文件的影响                           对目录的影响
    读取权限(r)      具有读取阅读文件内容权限           具有浏览目录及子目录
    写入权限(w)    具有新增、修改文件内容权限        具有增加和删除目录内容文件
    执行权限(x)     具有执行文件的权限                      具有访问目录内容(取决于目录中的文件权限)

    文件权限实验案例
    //默认文件其他用户仅有读权限
    [root@localhost ~]# echo "date" > /tmp/date.txt
    [root@localhost ~]# ll /tmp/date.txt 
    -rw-r--r-- 1 root root 5 Nov 5 22:19 /tmp/date.txt
    
    //测试读权限(无法执行或删除)
    [root@localhost ~]# su - oldboy
    [oldboy@localhost ~]$ cat /tmp/date.txt 
    date
    [oldboy@localhost ~]$ echo "test">/tmp/date.txt 
    -bash: /tmp/date.txt: Permission denied
    [oldboy@localhost ~]$ /tmp/date.txt
    -bash: /tmp/date.txt: Permission denied
    
    //增加x执行权限
    [root@localhost ~]# chmod 645 /tmp/date.txt 
    [root@localhost ~]# ls -lih /tmp/date.txt 
    16777293 -rw-r--r-x 1 root root 5 Nov 5 22:19 /tmp/date.txt
    [root@localhost ~]# su - oldboy -c '/tmp/date.txt' //测试执行权限
    Tue Nov 5 22:26:49 CST 2019

    rwx对文件的影响
    读取权限(r)
    文件只有r权限,具有读取阅读文件内容权限
    1.能使用查看类命令cat、head、tail、less、more
    2.不能复制、不能移动、不能编辑、不能删除

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

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

    目录权限实验案例:
    实验案例1:对目录没有w,对文件有rwx
    [root@localhost tmp]# mkdir -pv /test
    mkdir: created directory ‘/test’
    [root@localhost tmp]# echo "test" >/test/test.txt
    [root@localhost tmp]# ll -d /test/
    drwxr-xr-x 2 root root 22 Nov 5 22:51 /test/
    [root@localhost tmp]# chmod 777 /test/test.txt 
    [root@localhost tmp]# ll /test/test.txt 
    -rwxrwxrwx 1 root root 5 Nov 5 22:51 /test/test.txt
    
    //普通用户验证权限
    [oldboy@localhost ~]$ ls /test/
    test.txt
    [oldboy@localhost ~]$ cat /test/test.txt 
    test
    [oldboy@localhost ~]$ rm -f /test/test.txt 
    rm: cannot remove ‘/test/test.txt’: Permission denied
    
    实战案例2:对目录有w,对文件没有任何权限
    [root@localhost tmp]# chmod 777 /test/
    [root@localhost tmp]# chmod 000 /test/test.txt 
    [root@localhost tmp]# ll -d /test/
    drwxrwxrwx 2 root root 22 Nov 5 22:51 /test/
    [root@localhost tmp]# ll /test/test.txt 
    ---------- 1 root root 5 Nov 5 22:51 /test/test.txt
    
    //普通用户验证权限
    [oldboy@localhost ~]$ cat /test/test.txt 
    cat: /test/test.txt: Permission denied
    [oldboy@localhost ~]$ rm -f /test/test.txt 
    [oldboy@localhost ~]$ touch /test/test.txt
    
    实战案例3:对目录没有x,对文件有任何权限
    [root@localhost tmp]# chmod 766 /test/
    [root@localhost tmp]# chmod 777 /test/test.txt 
    [root@localhost tmp]# ll -d /test/
    drwxrw-rw- 2 root root 22 Nov 5 23:02 /test/
    [root@localhost tmp]# echo "test">/test/test.txt 
    [root@localhost tmp]# ll /test/test.txt 
    -rwxrwxrwx 1 oldboy oldboy 5 Nov 5 23:08 /test/test.txt
    
    //普通用户验证权限
    [oldboy@localhost ~]$ cd /test/
    -bash: cd: /test/: Permission denied
    [oldboy@localhost ~]$ ls /test/
    ls: cannot access /test/test.txt: Permission denied
    ls: cannot access /test/123.txt: Permission denied
    123.txt test.txt
    [oldboy@localhost ~]$ cat /test/test.txt 
    cat: /test/test.txt: Permission denied
    [oldboy@localhost ~]$ rm -f /test/test.txt 
    rm: cannot remove ‘/test/test.txt’: Permission denied
    [oldboy@localhost ~]$ touch /test/111.txt
    touch: cannot touch ‘/test/111.txt’: Permission denied

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

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

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

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


    案例:针对tech部门访问目录/home/tech设置权限,要求如下:
    1.root用户和tech组的员工可以读写执行
    2.其他用户无任何权限

    实现思路:
    1.创建所需目录
    [root@localhost ~]# mkdir -p /home/tech
    
    2.创建所需用户、组
    [root@localhost ~]# groupadd tech
    [root@localhost ~]# useradd oldboy -g tech
    [root@localhost ~]# useradd test
    
    3.设置所属和权限
    [root@localhost ~]# chmod 770 -R /home/tech/
    [root@localhost ~]# chown root.tech -R /home/tech/
  • 相关阅读:
    java 应用使用jfr+sjk 生成应用火焰图
    使用btrace 分析java 应用
    vigil监控以及webhook使用
    honest-profiler+hprof2flamegraph 基础的扩展
    honest-profiler+hprof2flamegraph 查看java 应用火焰图信息
    Quark 基于electron 的跨平台应用开发ide
    nodejs 应用火焰图简单分析
    docker 中试用jfr
    使用foreman 管理基于Procfile 的应用
    xfs validation inode faild 问题解决
  • 原文地址:https://www.cnblogs.com/xmtxh/p/11802608.html
Copyright © 2011-2022 走看看