zoukankan      html  css  js  c++  java
  • linux用户及权限

    字母分析

    u           即文件或目录的拥有者;

    g           即文件或目录的所属群组;

    o           其他用户;

    a           所有用户(默认);

    r           读取,数字代号为“4”;

    w          写入,数字代号为“2”;

    x           执行或切换,数字代号为“1”;

    -           不具任何权限,数字代号为“0”;

    s           特殊功能说明:变更文件或目录的权限。

    用户及组管理

    id user1     #查看用户user1
    useradd user1    #创建新用户user1,useradd命令用于Linux中创建的新的系统用户账号,再用passwd设定帐号的密码。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。

    passwd user1     #设定user1的用户密码

    userdel -r user1   #删除用户user1
    gpasswd -a user1 root      #把用户user1加入root组
    gpasswd -d user1 root     #把root组中用户user1删除

    groupadd mysql         #创建mysql用户组

    su命令——用户切换

    格式:su 【options】 【用户名】       

    options如下:

    -              用户想要切换到root

    -l             后面可以接用户名,可使用变换身份者的所有相关环境设置文件

    -m           使用当前环境设置,而不重新读取新用户的设置文件

    -c             仅进行一次命令,所以-c后面可以加命令

    ls命令查看文件权限

    格式:ls(选项)(参数)                

    终端输入:ls -l shell.text

    显示:-rw-r--r-- 1 root root 0 Oct 19 12:21 shell.txt

    注释:红色部分代表:所有者,rw(读写)权限。

             黄色部分代表:所属组,r(只读)的权限。

             蓝色部分代表:其他用户,r(只读)的权限。

    chmod修改文件权限

    chmod u+x file                       给file的属主增加执行权限
    chmod 751 file                    给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
    chmod u=rwx,g=rx,o=x file            上例的另一种形式
    chmod =r file                       为所有用户分配读权限
    chmod -R u+r directory              递归地给directory目录下所有文件和子目录的属主分配读的权限
    chmod 4755                            设置用ID,给属主分配读、写和执行权限,给组和其他用户分配读、执行的权限。
     
    文件ACL,访问控制列表
    传统的权限仅有三种身份(owner,group,others)搭配三种权限(r,w,x),随着应用的发展,这些权限组合已不能适应现在复杂的文件系统权限控制要求。(对于一个文件,有一个用户不是所有者、也不在所有者组,然后单独给他设置权限,而不影响 其他用户)
     例如,目录data的权限为:drwxr-xr—x,所有者与所属组均为root,在不改变所有者和所属组的前提下,要求用户test对该目录有完全访问权限(rwx),但又不能让其他有用完全权限(rwx),这种情况就只能使用acl访问控制列表权限来控制了。
     
    命令:
    getfacl:查看文件或目录的ACL设定内容
    setfacl:设置文件或目录的ACL内容
     
    命令格式:
    # setfacl  [选项]  要修改的权限  文件
     
    命令选项:
    -m :添加acl参数
    -x :删除acl参数
    -b :删除所有的ACL设定参数
    -R :递归设置acl参数
     
    设置格式如下
    # setfacl -m u:test:rw 1.txt          --为文件1.txt设置test用户可读写的acl权限
    # mkdir /test/a -p
    # cd /test
    # touch 1.txt
     # ll
    总用量 0
    -rw-r--r-- 1 root root 0 7月   8 21:41 1.txt
    drwxr-xr-x 2 root root 6 7月   8 21:39 a
     
    开启另一个终端,并切换之test用户测试1.txt是否可写
     
    设置用户ACL权限
    # setfacl -m u:user1:rwx 1.txt          --多个用户用逗号隔开
     
    查看设置后的权限
    # getfacl 1.txt
    # file: 1.txt
    # owner: root
    # group: root
    user::rw-
    user:test:rwx          --这里可以看到刚刚设置的acl权限
    group::r--
    mask::rwx
    other::r--
     
     
     
    设置ACL的mask          (mask 掩码:允许的最高acl权限)                   
    # setfacl -m m::r 1.txt
     
    查看1.txt的权限和之前有什么不同
    # file: 1.txt
    # owner: root
    # group: root
    user::rw-
    user:test:rwx               #effective:r--          --这里会有一个警告,因为acl的权限大于了掩码的最高权限,此时的test用户依旧不可写
    group::r--
    mask::r--
    other::r--
     
     
    为目录设置默认ACL权限,设置后,在该目录内创建的文件依然继承该acl
    # setfacl -m d:user1:rw a/
    # mkdir b
     
    # touch b/1.txt
     
    # touch a/1.txt
     
    # getfacl a/1.txt
     
    # file: a/1.txt
    # owner: root
    # group: root
    user::rw-
    user:test:rw-
    group::r-x               #effective:r--
    mask::rw-
    other::r--
     
    # getfacl b/1.txt
    # file: b/1.txt
    # owner: root
    # group: root
    user::rw-
    group::r--
    other::r--
     
     
    删除ACL权限
    # setfacl -x u:user1 1.txt
    # setfacl -b 1.txt
     
    递归设置acl参数
    # mkdir /test/b
    # touch /test/b/1.txt
     
    # setfacl -m u:user1:rw /test/b
    # getfacl /test/b
    # file: b/
    # owner: root
    # group: root
    user::rwx
    user:user1:rw-
    group::r-x
    mask::rwx
    other::r-x
     
    # getfacl /test/b/1.txt
    # file: b/1.txt
    # owner: root
    # group: root
    user::rw-
    group::r--
    other::r--
     
    # setfacl -Rm u:user1:rw /test/b               递归设置acl权限后,目录下所有内容均会拥有相同的acl权限
    # file: b/1.txt
    # owner: root
    # group: root
    user::rw-
    user:user1:rw-
    group::r--
    mask::rw-
    other::r--
     
  • 相关阅读:
    CodeForces Gym 100500A A. Poetry Challenge DFS
    CDOJ 486 Good Morning 傻逼题
    CDOJ 483 Data Structure Problem DFS
    CDOJ 482 Charitable Exchange bfs
    CDOJ 481 Apparent Magnitude 水题
    Codeforces Gym 100637G G. #TheDress 暴力
    Gym 100637F F. The Pool for Lucky Ones 暴力
    Codeforces Gym 100637B B. Lunch 找规律
    Codeforces Gym 100637A A. Nano alarm-clocks 前缀和
    TC SRM 663 div2 B AABB 逆推
  • 原文地址:https://www.cnblogs.com/lanchang/p/6537458.html
Copyright © 2011-2022 走看看