uid与gid
GID为GroupId,即组ID,用来标识用户组的唯一标识符。
UID为UserId,即用户ID,用来标识每个用户的唯一标示符。
每一个文件都有所属用户和所属用户组,也就是说每一个用户至少有两个id,分别是用户id(uid),用户组id(gid)。
Linux用户和组的主要配置文件:
/etc/passwd:用户及其属性信息(名称、UID、主组ID等)
/etc/group:组及其属性信息
/etc/shadow:用户密码及其相关属性
/etc/gshadow:组密码及其相关属性
id指令会显示用户以及所属群组的实际与有效ID。
语法:
id [-gGnru][--help][--version][用户名称]
参数说明:
-g或--group 显示用户所属群组的ID。
-G或--groups 显示用户所属附加群组的ID。
-n或--name 显示用户,所属群组或附加群组的名称。
-r或--real 显示实际ID。
-u或--user 显示用户ID。
-help 显示帮助。
-version 显示版本信息。
passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。
语法:
passwd(选项)(参数)
选项:
-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。
有效与初始群组
每个使用者在他的 /etc/passwd 里面的第四栏有所谓的 GID ,那个 GID 就是所谓的『初始群组 (initial group) 』!也就是说,当用户一登陆系统,立刻就拥有这个群组的相关权限的意思。
有效群组是指在当前状态下你所属群组,此时你新建的文件的所属组及相关权限都是有效群组。
usermod -a -G users dmtsai :此命令可以将users组设为用户dmtsai的次要组。可在/etc/group和/etc/gshadow中查看。
groups指令:查看当前用户所属群组包括主群组和有效群组,显示的第一个是现在的有效群组,也就是说现在新建一个文件,此文件所属群组是该有效群组。
newgrp:有效群组的切换,后跟当前用户支持的群组,执行完后有效群组变为你跟的参数。
账号管理
新增和删除用户
账号细节修改
账号建立后要有密码才能登陆:
显示密码参数
更改自己的部分相关信息
更改自己的默认shell(不推荐使用)
组管理
添加删除组
修改组相关参数
群组管理员:给一个组设置管理员帮root管理组成员,由root设置
ACL
转自:https://www.cnblogs.com/Jimmy1988/p/7249844.html
1. 什么是ACL
ACL(Access Control List),访问控制列表。
那么这玩意有啥用处呢?下面我们考虑一种场景:
假设我Jimmy创建了一个项目文件夹,我和我的开发团队Rocket对该目录均具备rwx的权限,因为我该文件夹下有源码等,不能对外开放,所以对其他用户的权限为0,即我的文件夹目录为drwxrwx---;
然而有一天,我的一个灰常好的盆友Sherry想要看一下我的项目,看看我写的代码有多流弊,然而我不好意思拒绝,这个时候我有三种选择:
让其成为所有者(这个当然不可能)
让其成为项目组成员(然而她并没有参与开发,再说她也基本看不懂代码,万一不小心删掉了部分代码咋弄?)
给其它人赋以r-x的权限(然而,other用户太多了吧,万一我代码没发布就被竞争对手给copy了呢?)
看来,以上三种手段都不靠谱啊,怪就怪other的用户全太大了,唉,这可咋整?
那么,我们为什么不为Sherry开小灶呢?就是让其不属于任何一个组,只是以单用户的身份被赋予特定权限。
这种“开小灶”的方式,其实就是ACL权限!
ACL可以针对单一用户、单一文件或目录来进行r、w、x的权限设置,对于需要特殊权限的使用状况非常有帮助
查看核心挂载信息得知xfs支持acl:
设定acl信息:
查看acl信息:
切换身份:
sudo执行流程
visudo命令编辑修改/etc/sudoers配置文件:参考http://blog.51cto.com/iminmin/455992
用户讯息传递
查看用户登陆信息
用户对谈:
如果vbird1不想接受讯息:n表示no,那么可想而知解除此状态就是 mesg y