zoukankan      html  css  js  c++  java
  • linux权限管理之基本权限

    基本权限 UGO


    ========================================================

    文件权限设置: 可以赋于某个用户或组 能够以何种方式 访问某个文件

    文件权限管理之: UGO设置基本权限(r、w、x)
    rw-r--r-- alice hr install.log

    权限对象:
    属主: u
    属组: g
    其他人: o

    权限类型:
    读:r 4
    写:w 2
    执行: x 1

    ===设置权限
    1. 更改文件的属主、属组
    =chown:
    [root@localhost ~]# chown alice.hr file1 //改属主、属组
    [root@localhost ~]# chown alice file1 //只改属主
    [root@localhost ~]# chown .hr file1 //只改属组
    =chgrp:
    [root@localhost ~]# chgrp it file1 //改文件属组
    [root@localhost ~]# chgrp -R it dir1 //改文件属组

    2. 更改权限
    =a. 使用符号
    对象 赋值符 权限类型
    u + r
    chmod g - w file1
    o = x
    a
    [root@localhost ~]# chmod u+x file1 //属主增加执行
    [root@localhost ~]# chmod a=rwx file1 //所有人等于读写执行
    [root@localhost ~]# chmod a=- file1 //所有人没有权限
    [root@localhost ~]# chmod ug=rw,o=r file1 //属主属组等于读写,其他人只读
    [root@localhost ~]# ll file1 //以长模式方式查看文件权限
    -rw-rw-r-- 1 alice it 17 10-25 16:45 file1 //显示的结果

    =b. 使用数字
    [root@localhost ~]# chmod 644 file1
    [root@localhost ~]# ll file1
    -rw-r--r-- 1 alice it 17 10-25 16:45 file1


    ===设置权限示例
    针对hr部门的访问目录设置权限,要求如下:
    1. root用户和hr组的员工可以读、写、执行
    2. 其他用户没有任何权限
    [root@localhost ~]# groupadd hr
    [root@localhost ~]# useradd hr01 -G hr
    [root@localhost ~]# useradd hr02 -G hr
    [root@localhost ~]# mkdir /home/hr

    [root@localhost ~]# chgrp hr /home/hr
    [root@localhost ~]# chmod 770 /home/hr
    [root@localhost ~]# ll -d /home/hr/
    drwxrwx---. 2 root hr 4096 3月 13 14:26 /home/hr/


    重要: r、w、x权限对文件和目录的意义


    file://C:UsersanliuAppDataLocalTempct_tmp/1.png

    示例1: 对文件的影响
    [root@localhost ~]# mkdir /dir10
    [root@localhost ~]# touch /dir10/file1
    [root@localhost ~]# chmod 777 /dir10/file1

    [root@localhost ~]# ll -d /dir10/
    drwxr-xr-x. 2 root root 4096 3月 11 18:37 /dir10/
    [root@localhost ~]# ll /dir10/file1
    -rwxrwxrwx. 1 root root 0 3月 11 18:37 /dir10/file1

    [alice@localhost ~]$ cat /dir10/file1
    [alice@localhost ~]$ rm -rf /dir10/file1
    rm: 无法删除"/dir10/file1": 权限不够

    示例2: 对目录有w权限
    [root@localhost ~]# chmod 777 /dir10/
    [root@localhost ~]# chmod 000 /dir10/file1
    [root@localhost ~]# ll -d /dir10/
    drwxrwxrwx. 2 root root 4096 3月 11 18:37 /dir10/
    [root@localhost ~]# ll /dir10/file1
    ----------. 1 root root 0 3月 11 18:37 /dir10/file1

    [alice@localhost ~]$ cat /dir10/file1
    cat: /dir10/file1: 权限不够
    [alice@localhost ~]$ rm -rf /dir10/file1
    [alice@localhost ~]$ touch /dir10/file2

    问题1:
    [root@localhost ~]# ll /root/install.log
    -rw-r--r--. 1 root root 46571 6月 1 23:37 /root/install.log
    [alice@localhost ~]$ cat /root/install.log
    cat: /root/install.log: 权限不够

    问题2: alice能删除/下的任何文件吗?
    [root@localhost ~]# chmod 777 /
    [root@localhost ~]# ll -d /
    drwxrwxrwx. 27 root root 4096 6月 4 11:32 /
    [alice@localhost ~]$ rm -rf /etc

    基本权限 ACL


    ========================================================

    文件权限管理之: ACL设置基本权限(r、w、x)
    UGO设置基本权限: 只能一个用户,一个组和其他人
    ACL 设置基本权限: r,w,x

    =ACL基本用法=
    设置:
    [root@localhost ~]# touch /home/test.txt
    [root@localhost ~]# ll /home/test.txt
    -rw-r--r-- 1 root root 0 10-26 13:59 /home/test.txt

    [root@localhost ~]# getfacl /home/test.txt
    [root@localhost ~]# setfacl -m u:alice:rw /home/test.txt //增加用户alice权限
    [root@localhost ~]# setfacl -m u:jack:- /home/test.txt //增加用户jack权限
    [root@localhost ~]# setfacl -m o::rw /home/test.txt

    查看/删除:
    [root@localhost ~]# ll /home/test.txt
    -rw-rw-r--+ 1 root root 0 10-26 13:59 /home/test.txt
    [root@localhost ~]# getfacl /home/test.txt

    [root@localhost ~]# setfacl -m g:hr:r /home/test.txt
    [root@localhost ~]# setfacl -x g:hr /home/test.txt //删除组hr的acl权限
    [root@localhost ~]# setfacl -b /home/test.txt //删除所有acl权限

    =查看帮助=
    [root@localhost ~]# man setfacl
    /EXAMPLES
    [root@localhost ~]# getfacl file1 |setfacl --set-file=- file2 //复制file1的ACL权限给file2


    =ACL高级用法=
    mask:
    用于临时降低用户或组(除属主和其他人)的权限
    建议:为了方便管理文件权限,其他人的权限置为空
    [root@localhost ~]# setfacl -m m::--- /home/file100.txt


    default: 继承(默认)
    要求: 希望alice能够对/home以及以后在/home下新建的文件有读、写、执行权限

    思路:
    步骤一: 赋予alice对/home读、写、执行权限
    [root@localhost ~]# setfacl -m u:alice:rwx /home

    步骤二: 赋予alice对以后在/home下新建的文件有读、写、执行权限 (使alice的权限继承)
    [root@localhost ~]# setfacl -m d:u:alice:rwx /home



  • 相关阅读:
    go 注释/说明/文档 标注
    go stack object escape
    ubuntu virtualBox windows10 CPU占用100%
    git 团队合作
    git 修改远程pull和push地址
    go 项目编译失败
    fork函数 linux创建子进程
    51nod1183 编辑距离
    各种平衡树
    redis 配置多个ip 解决方案
  • 原文地址:https://www.cnblogs.com/anttech/p/10597565.html
Copyright © 2011-2022 走看看