首页 > 代码库 > 账户管理与ACL限权设定
账户管理与ACL限权设定
1. 用户管理:
1)增改删:useradd,usermod,userdel
2)密码和过期时间修改:
密码:passwd [username] (无username时,修改自己密码)
过期时间:chage
3)查看用户信息:
用户信息:finger [username] (注,默认情况下,centos可能没有安装finger命令,yum install -y finger安装即可)
uid、gid等:id [username]
4)修改shell:chsh
2. 用户组管理:
groupadd,groupmod,groupdel
3. 用户与用户组关系管理:
1)查看用户所在的全部组:groups [username] (不填写username时,为当前用户;可同时查询多个用户,如groups user1 user2)
2) 初始组、有效群组、支持群组:
初始组:创建用户时,分配用户所在的群组;
有效群组:groups出来的第1个组,将用于赋值给用户新创建的目录和文件的所在组(注意:改变用户所在的有效组时,用户之前拥有的目录、文件所在的组不变);
支持组:用户所在的除有效群组以外的其他组,用于用户权限判断。
有效组切换:newgroup groupname (注:groupname必须在用户的支持组内)
3)用户所在组指定:
a. useradd -g groupname -G supplementarygroups username
b. usermod -g groupname -G supplementarygroups username
c. gpasswd增加用户支持组,如下4。
4. gpasswd:
1)对于root:
gpasswd [-A groupAdminUserName] [-M supportUsers] [-r] [-R] 如:gpasswd -A user1 -M user2 g1, 将user1设置为g1的群管理员,user2设置为群的普通群员。
2)对于group admin:
gpasswd [-d user] [-a user] 即群管理员职能增减群员,但不能管理群管理员。
5. ACL(Access Control List):
1)用途:用于补充Linux基于单个用户、组对于文件、目录的权限的设计的不足,比如需要将user1创建的source目录的只读权限给user2,同时不能改变source目录组的权限,怎么创建?
2)支持ACL前提:文件系统支持,如ext2/3,TFX,XFS,ReiserFS等
3)如何查看是否支持:
mount
dumpe2fs -h /dev/sad2 (注意/dev/sad2为mount结果列表中的项,如果mount时结果包含acl,则不用执行本行命令;在dumpe2fs结果中的default mount option项值中如果包含acl,即为支持)
4)开启acl支持:
a. 仅针对当前次开机:mount -o remount, acl /
b. 永久生效:
vi /etc/fstab
增加: LABEL=/1 / dex3 defaults,acl 1 1
5)设置和获取ACL:
设置:
setfacl [-bkRd] [[-m|-x] acl参数] 目录/文件名. 其中,-m为增加,-x为移除。
设置用户:setfacl -m u:user1:rwx /var/svn/project
设置群组:setgacl -m g:g1:rwx /var/svn/project
设置mask权限:setfacl -m m:rwx /var/svn/project
注意:
1)针对用户和群组设置的权限必须在mask权限中,所以一般可将mask权限设置为rwx;
2)如果需要对目录的acl权限让子级文件继承,可执行:setfacl -m d:u:....
获取:getfacl 目录/文件名
6. 账户(使用者身份)切换:
1)切换到其它用户:
su - [username]
注意:su可以切换到任意账户,包括root。当当前用户为root时,切换到其它账户时,不需要输入密码。
2)使当前用户具有root的部分权限:
sudo
a. 使用者:默认只有root可以使用sudo命令。其它用户如果需要此权限,需要root编辑/etc/sudoers文件。
b. 编辑方式:root账户环境下执行:visudo(或者vi,不推荐)编辑sudoers文件。
c. 增加sudo权限的3种方式:
单一用户可进行root所有指令:vbird1 ALL=(ALL) ALL 【3部分意思分别是:使用者账户 可登入的主机来源=(可切换的身份) 可下达的命令】
利用群组以及免密码的功能: %wheel ALL=(ALL) ALL (其中wheel为群组名,可自行更改)
有限制的指令操作: myuser1 ALL=(root) /usr/bin/passwd
辅助工具:User_Alias、Cmnd_Alias、Host_Alias(注意这3命令赋值的变量都必须为大写)
注意:使用sudo时,如果前后2次命令时间间隔超过5分钟后,需要重新输入密码。
3)sudo配合su使用:
执行visudo,编辑visudoers:
User_Alias ADMINS = pro1, pro2, pro3, myuser1
ADMINS ALL=(root) /bin/su -
执行sudo su -即可。
7. linux上的主机用户通讯:
1)使用者查询:w或者who、lastlog
2)使用者对谈:
发送消息:write receiver_username tty (回车后,输入发送内容)
不接受消息: mesg n
广播消息:wall message
3)mail:
发送:mail username (回车,按照提示输入内容,输入.结束并且发送)
查阅:mail
本文出自 “心如止水,浴火重生” 博客,请务必保留此出处http://itisforyou.blog.51cto.com/9778869/1610464
账户管理与ACL限权设定