zoukankan      html  css  js  c++  java
  • Linux用户和文件权限管理

    本文为原创文章,转载请标明出处

    目录

    1. 用户管理
      • 系统用户文件
      • 添加用户 useradd
      • 设置用户密码 passwd
      • 删除用户 userdel
      • 用户管理 usermod
    2. 用户组管理
      • 系统用户组文件
      • 添加用户组 groupadd
      • 删除用户组 groupdel
      • 用户组管理
    3. 基本权限及管理命令
      • 修改文件属主 chown
      • 修改文件属组 chgrp
      • 文件权限管理 chmod
      • suid、sgid、sticky权限
      • 权限掩码 umask
    4. POSIX ACL权限系统及其管理命令
      • ACL权限管理 setfacl
      • ACL权限查看 getfacl

    1. 用户管理

    系统用户文件

    系统用户文件 etc/passwd
    用户密码文件 etc/shadow

    添加用户 useradd

    # useradd [username]
    

    参数

    d:指定用户home目录
    e:设置过期时间
    g:指定新用户所属的用户组
    s:指定新用户使用的shell
    u:设置用户UID
    

    例如:

    # useradd -s /bin/ksh metaphors
    
    # useradd -g group user
    

    设置用户密码 passwd

    # passwd [username]
    

    删除用户 userdel

    # userdel [username]
    
    删除用户及其家目录和邮件文件
    # userdel -r [username]
    

    用户管理 usermod

    # usermod [username]
    

    参数

    L:锁定用户,禁止用户登录系统
    U:解除锁定
    e:指定用户过期的日期
    f:指定用户过期之后的缓冲时间,即过期后还能登陆的天数
    d:为用户指定新的家目录
    m:为用户指定新的家目录时,移动原来家目录中的所有文件
    s:修改用户的默认shell
    

    2. 用户组管理

    系统用户组文件

    系统用户组文件 etcgroup
    用户组密码文件 etcgshadow

    添加用户组 groupadd

    # groupadd [groupname]
    

    删除用户组 groupdel

    # groupdel [groupname]
    

    用户组管理

    参数

    g:将用户的私有组改变为选项指定的组
    G:为用户添加多个附加组,使用逗号作为分隔符
    a:将用户以追加的方式添加到一个附加组
    

    例如:

    # usermod -g teacher metaphors
    
    # usermod -G teacher,admin metaphors
    

    3. 基本权限及管理命令

    修改文件属主 chown

    # chown [user:group] [file]
    

    参数

    -R => 递归修改
    

    修改文件属组 chgrp

    # chgrp [group] [file]
    

    参数

    -R => 递归修改
    

    文件权限管理 chmod

    # chmod [mode] [file]
    

    权限表达式:

    操作对象
    u => user
    g => group
    o => other
    a => all
    
    操作符
    + => 添加权限
    - => 删除权限
    = => 赋予权限
    
    权限列表
    r => 读
    w => 写
    x => 执行
    

    参数

    -R => 递归修改
    

    suid、sgid、sticky权限

    suid => set权限处于属主权限位
    sgid => set权限处于属组权限位
    sticky => sticky权限,防删除,但不能阻止root和属主删除
    

    绝对模式下,从右向左第4位,4表示suid,2表示sgid,1表示sticky

    以符号模式设置属主set权限
    # chmod u+s test.sh
    以符号模式设置属组set权限
    # chmod g+s test.sh
    以符号模式添加防删除位
    # chmod o+t file
    
    以绝对模式设置属主和属组set权限
    # chmod 6755 test.sh
    以绝对模式添加防删除位
    # chmod 1777 file
    

    权限掩码 umask

    查看umask
    # umask
    
    修改umask
    # umask []
    
    umask命令修改的umask值在重启后丢失,若需要保存,可写入shell配置文件中
    

    4. POSIX ACL权限系统及其管理命令

    POSIX:Portable Operating System Interface 可移植操作系统接口
    ACL:Access Control List 访问控制列表

    ACL权限管理 setfacl

    # setfacl [ACL表达式] [filename]
    
    ACL表达式:[对象类型]:[对象]:权限列表
    

    参数

    b:删除所有扩展ACL权限
    k:删除默认的ACL权限
    d:设置默认的ACL权限
    R:递归设置
    m:修改、添加已有的ACL权限
    

    例如:

    # setfacl -m u:metaphors:rw file
    

    ACL权限查看 getfacl

    # getfacl [filename]
    

    如有不当之处,请予指正,谢谢~

  • 相关阅读:
    ios 10 更新所遇到的坑
    ios-coreText做微信点赞功能
    iOS 利用mask layer 使view中扣掉一块露出下边的view
    IOS-开发日记24
    ios 开发日记 23
    ios 开发日记 22-iOS 保持界面流畅的技巧
    ios 开发日记 21 -自动处理键盘事件的第三方库:IQKeyboardManager
    ios 开发日记 20
    ios 开发日记19-应用提交申请后加急审核
    ios开发日记-18上传appStore时,遇到错误,代码为ERROR ITMS-90049
  • 原文地址:https://www.cnblogs.com/metaphors/p/7553806.html
Copyright © 2011-2022 走看看