一、linux的账号与组群
每一个文件都具有[拥有人与拥有组群]的属性,每个登陆的使用者至少都会取得两个ID
使用者ID(User ID,简称UID),
群组ID(Group ID,简称GID)
当我们有要显示文件属性的需求时,系统会根据 /etc/passwd 与 /etc/group 的内容,找到UID/GID对应的账号与组名再显示出来
Linux系统上面的用户如果需要登陆主机以取得shell的环境来工作时,系统都做了什么工作?
1、先找寻 /etc/passwd 里面是否有你输入的账号?如果没有则跳出,如果 有的话则将该账号对应的 UID 与 GID (在 /etc/group 中) 读出来,另外,该 账号的家目录与 shell 配置也一并读出;
2、再来则是核对口令表啦!这时 Linux 会进入 /etc/shadow 里面找出对应 的账号与 UID,然后核对一下你刚刚输入的口令与里头的口令是否相符?
3、如果一切都 OK 的话,就进入 Shell 控管的阶段!
<1> /etc/passwd 文件结构
每一行都代表一个账号,有几行就代表有几个账号在你的系统中,里面很多都是系统正常运行所需要的,我们可以简称他为系统账号,例如账号bin,deamon,adm,nobody等等,这些账号不能随意删除。
账号名称:
就是登陆账号,用来对应UID的
口令:
现存在 /etc/shadow
UID:
使用者标识符
GID:
与 /etc/group有关,只是用来规范组名与GID的对应而已!
用户信息说明栏:
用来解释这个账号的意义
家目录:
这是用户的家目录,root的家目录在/root,所以当root登陆之后,就会立刻跑到/root目录里头啦,
默认的用户家目录是在/home/yourIDname
Shell:
用户登陆系统后就会取得一个Shell来与系统的核心沟通以进行用户的操作任务
(注:其中nologin是该用户不可登陆的意思)
<2> /etc/shadow 文件结构
账号名称:
由于口令也需要与账号对应,因此,这个文件的第一栏就是账号,必须要与 /etc/passwd 相同才行
口令:
这个字段内的数据才是真正的口令,而且是经过编码的口令(加密)
最近更动口令的日期:
这个字段记录了【更动口令那一天】的日期,时间是以1970年1月1日作为1而累加的日期。
口令不可被更动的天数:
如果是0,表示口令随时可以更动的意思
口令需要重新变更的天数:
在多少天内需要变更
口令需要变更期限前的警告天数:
口令国企后的账号宽限时间:
以1970年1月1日作为1而累加的日期
账号失效日期:
<3> /etc/group 文件结构
组名:
群组口令:
存在【/etc/shadow】中
GID:
就是群组的ID,我们 /etc/passwd 第四个字段使用的GID对应的群组名,就是这里对应出来的
此群组支持的账号名称:
二、账号管理
新增与移除使用者:useradd
注:在CentOS-6.5中系统账号的UID范围为:1~499
在CentOS-7中系统账号的UID范围为:1~999
例:
(注:默认会创建用户家目录,且权限为700 即:rwx- — - —)
对目录进行设置权限’ x’的原因是:x 代表其他人可以进入该目录内
userdel :
用户删除
userdel :
例:删除user2,连同家目录一起删除
# userdel -r user2
注:通常我们要移除一个账户的时候,你可以手动的将 /etc/passwd 于 /etc/shadow 里头的该账号取消即可,一般而言,如果该账号只是暂时不激活的话,那么将/etc/shadow 里头的账号失效日期(第八字段)配置为0就可以让该账号无法使用,但是所有跟该账号相关的数据都会留下来,使用userdel的时机通常是你真的确定不要让该用户在主机上面使用任何数据了。
id:
id这个命令则可以查询某人或自己的相关UID/GID等等的信息,使用id就可以全部列出
#id username
groupadd:
群组添加
groupdel:
群组删除
三、ACL的使用:
ACL是Access Control List 的缩写,主要的目的是在提供传统owner,group,others的read,write,execute权限之外的细部权限配置,ACL可以针对单一使用者,单一文件或目录来进行r,w,x的权限规范,对于需要特殊权限的使用状况非常有帮助。
<1>使用者(user):可以针对使用者来配置权限
<2>群组(group):针对群组为对象来配置其权限
<3>默认属性(mask):还可以针对在该目录下创建新文件/目录时,规范新数据的
默认权限。
getfacl:取得某个文件/目录的ACL配置项目
setfacl:配置某个目录/文件的ACL规范