linux 权限操作

添加用户
命令格式:useradd        选项        用户名
-g        缺省组(不写则默认为用户名组)
-G        所属组(添加到多个用户组,逗号隔开)
-c            描述信息
     -d        指定家目录
useradd –g aa bb        添加用户bb同时指定初始组aa
useradd –G user1 aa      添加用户aa指定附加组user1

----------------------------------------------------
修改密码:passwd [用户名]
            -l        锁定
            -u        解锁
只写命令回车后修改当前用户密码

删除用户:userdel -r 用户名
-r:删除用户相关文件,建议使用
----------------------------------------------------

修改用户信息
修改用户:usermod        使用方式似useradd
usermod  -g   webadmin  jack
usermod  -G  group1,group2  jack
其它选项
-l 改名  -c  改备注  -e  过期时间  -L 锁定用户
-U 解锁  -aG 追加所属组

----------------------------------------------------
添加用户组
添加组:groupadd  组名
修改组:groupmod 选项 组名
-n:修改组名
groupmod -n newname oldname
删除组:groupdel
组密码:gpasswd    -a    用户名 组名
-a 添加用户到组 -d 删除用户从组

----------------------------------------------------
切换登录用户:su [-] 用户名
-:携带用户的环境变量
不带-切换root,家目录也为之前的用户所在目录

查看用户信息:id    用户名
显示用户UID,GID及相关组信息

----------------------------------------------------
需求:
授权用户jack和mary对目录/software有写权限
groupadd softadm
usermod –aG softadm jack
gpasswd –a marry softadm    效果同上
chgrp softadm /software
chmod g+w /software
成功!

-----------------------------------------------------
ACL(Access Control List),一个文件/目录访问控制列表,可针对指定的用户/组分配RWX权限,内核2.6之后默认加入。
设置权限:
setfacl -m <rules> <files>
setfacl -m u:用户名:权限 文件名
setfacl -m g:组名:权限 文件名
例:setfacl -m u:jack:rx /backup

-m:设定权限
-x:移除指定权限
setfacl –x u:jack /backup
-b:移除所有权限
-R:递归设置(对于目录)
继承设置:setfacl -m d:u:jack:rwx -R /test
对于新创建的文件和目录页生效
查看ACL权限:getfacl 文件名(长格式后面多个+)

如果对目录设置ACL权限需要一下两条命令:
setfacl  -R –m u:用户名:权限    目录    
例如:setfacl -m u:apache:rwx -R /var/www/html/
//对已存在的文件递归赋予acl权限

setfacl –R –m    d:u:用户名:权限        目录
    //对未来的新文件继承acl权限
例如:setfacl -m d:u:apache:rwx -R /var/www/html/
原文地址:https://www.cnblogs.com/zjhblogs/p/5163554.html