首页 > 代码库 > 账户管理与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限权设定