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--
     
  • 相关阅读:
    重新想象 Windows 8 Store Apps (15) 控件 UI: 字体继承, Style, ControlTemplate, SystemResource, VisualState, VisualStateManager
    重新想象 Windows 8 Store Apps (12) 控件之 GridView 特性: 拖动项, 项尺寸可变, 分组显示
    返璞归真 asp.net mvc (10) asp.net mvc 4.0 新特性之 Web API
    与众不同 windows phone (29) Communication(通信)之与 OData 服务通信
    与众不同 windows phone (33) Communication(通信)之源特定组播 SSM(Source Specific Multicast)
    与众不同 windows phone (27) Feature(特性)之搜索的可扩展性, 程序的生命周期和页面的生命周期, 页面导航, 系统状态栏
    与众不同 windows phone (30) Communication(通信)之基于 Socket TCP 开发一个多人聊天室
    返璞归真 asp.net mvc (12) asp.net mvc 4.0 新特性之移动特性
    重新想象 Windows 8 Store Apps (2) 控件之按钮控件: Button, HyperlinkButton, RepeatButton, ToggleButton, RadioButton, CheckBox, ToggleSwitch
    重新想象 Windows 8 Store Apps (10) 控件之 ScrollViewer 特性: Chaining, Rail, Inertia, Snap, Zoom
  • 原文地址:https://www.cnblogs.com/lanchang/p/6537458.html
Copyright © 2011-2022 走看看