zoukankan      html  css  js  c++  java
  • Linux

    Linux 系统中 通过 用户组 管理用户

    如何通过用户组和访问控制表 (ACL) 来管理用户.

    新建两个用户:

    olivia

    nathan

    新建两个用户组:

    readers

    editors

    olivia 属于 editors 用户组, 而 Nathan 属于 readers 用户组. 

    reader 用户组 对 /DATA 目录 只有读的权限,  而 editors 用户组则对 /DATA 目录 同时有读和写的权限. 

    1. 创建用户

    创建两个用户, 用 useradd 命令创建, 并同时创建用户和属于他们的家目录, 之后设置密码.

    sudo useradd -m olivia
    sudo useradd -m nathan

    创建两个用户, 在 /home 目录, 多了两个 家目录.

    之后, 设置密码:

    sudo passwd olivia
    sudo passwd nathan

    创建完成


    创建用户组并添加用户

     创建两个用户组, 并添加用户

    addgroup readers
    addgroup editors

    在centos 中 使用 groupadd 命令

    添加 用户 到 用户组. 用一下命令

    sudo usermod -a -G readers nathan

    将olivia 添加到 editors 用户组中:

    sudo useradd -a -G editors olivia

    给用户组 授予目录权限

    假设 有 /READERS 且 允许 readers 用户组 的 所有成员 访问这个目录. 执行以下命令来更改目录所属用户组:

    sudo chown -R :readers /READERS

     收回目录所属用户组的写入权限:

    sudo chmod -R g-w /READERS

    收回其他用户对这个目录的访问权限(防止任何不在readers 组中的用户访问这个目录):

    sudo chmoe -R o-x /READERS

    只有目录所有着 (root) 和用户组 readers 中的用户可以访问 /READERS 中的文件:

    假设你有目录 /EDITORS, 你需要给用户组 editors 里的成员 这个目录的读和写的权限.

    sudo chown -R :editors /EDITORS
    sudo chmod -R g+w /EDITORS
    sudo chmod -R o-x /EDITORS

    editors 用户组的所有成员都可以访问和修改 其中的文件.

    除此之外 其他用户 (除了root)  无法访问 /EDITORS 中任何文件

    缺点: 一次只能操作一个组和一个目录

    使用访问控制表 (ACL) 就更加方便.

    使用访问控制表(ACL)

    复杂点, 假设有一目录 /DATA 并且 你想给 readers 用户组的成员读取权限, 并同时 给 editors 用户组的成员读和写的权限. 

    必须要用到 setfacl 命令. setfacl 命令可以为文件和文件夹设置一个访问控制表.

    setfacl OPTION X:NAME:Y /DIRECTORY

    其中 OPTION 是可选选项, X可以是 u (用户) 或是 g (用户组) , NAME 是 用户 或 用户组的名字, /DIRECTORY 是要用到的目录. 使用 -m 选项进行修改. 

    因此, 给readers 用户组 添加读取权限命令:

    sudo setfacl -m g:readers:rx -R /DATA

    赋予 editors 用户组 中任何成员读取权限, 同时保留 readors 用户组 只读权限.

    更多的权限控制

    使用访问控制表(ACL),你可以实现你所需的权限控制。你可以添加用户到用户组,并且灵活地控制这些用户组对每个目录的权限以达到你的需求。如果想了解上述工具的更多信息,可以执行下列的命令:

    • man usradd
    • man addgroup
    • man usermod
    • man sefacl
    • man chown
    • man chmod
  • 相关阅读:
    IIS:日志代码分析
    SQL:查找被锁的表,以及锁表的SQL语句(重点推荐)
    SQL 2000/2005/2008 收缩日志方法
    SQL SERVER:使用工具观察与分析数据库中锁信息
    C# : Post 接收或发送XML
    WCF:没有终结点在侦听可以接受消息的*这通常是由于不正确的地址或者 SOAP操作导致的。
    SQL2005 遍历表插入
    SQL2005:SQL Server 2005还原数据库时出现“不能选择文件或文件组XXX_log用于此操作的解决办法
    C#:安装Windows服务,动态指定服务名及描述
    IE6与 javascript:void(0)
  • 原文地址:https://www.cnblogs.com/firestar277/p/14656624.html
Copyright © 2011-2022 走看看