一、使用者标识符:UID和GID
每一个文件都具有『拥有人与拥有群组』的属性,每个登陆的使用者
至少都会取得两个 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 控管的阶段
二、/etc/passwd 文件结构
1. 账号名称:就是登录账号,用来对应 UID 的;
2. 口令:早期 Unix 系统的口令就是放在这字段上!但是因为这个文件的特性是所有
的程序都能够读取,这样一来很容易造成口令数据被窃取, 因此后来就将
这个字段的口令数据给他改放到 /etc/shadow 中了。所以这里你会看到一
个『 x 』;
3. UID:使用者标识符
4. GID:与/etc/group有关,用来规范组名和GID的对应
5. 用户信息说明栏:解释账号意义
6. 家目录:用户的假目录
7. Shell:当用户登陆系统后就会取得一个 Shell 来与系统的核心沟通以进行用户的操
作任务
三、/etc/shadow文件结构
1. 账号名称:由于口令也需要与账号对应,因此,这个文件的第一栏就是账号,必须要与 /etc/passwd 相同才行!
2. 口令:经过编码的口令;
3. 最近更改口令的日期
4. 口令不可被更改的天数
5. 口令需要重新变更的天数
6. 口令需要变更期限前的警告天数
7. 口令过期后的账号宽限时间
8. 账号失效日期
四、/etc/group文件结构
1. 组名
2. 群组口令:很少用了,口令已经移动到 /etc/gshadow 去,因此这个字段只会存在一个『x』而已;
3. GID:群组ID
4. 此群组支持的账号名称:
五、账号管理命令
1.useradd:新增与移除使用者
使用useradd命令时,系统会帮助使用者规定很多默认值,主要有:
在 /etc/passwd 里面创建一行与账号相关的数据,包括创建 UID/GID/家
目录等;
在 /etc/shadow 里面将此账号的口令相关参数填入,但是尚未有口令;
n 在 /etc/group 里面加入一个与账号名称一模一样的组名;
n 在 /home 底下创建一个与账号同名的目录作为用户家目录,且权限为
700
2. passwd:配置口令
使用useradd创建账号之后,默认情况下创建的账号是封锁的,即无法登陆。所以需要用passwd进行口令配置
以下是相关配置命令:
3usermod:配置数据修改
3. userdel:删除用户相关数据:
何为用户相关数据,它们存在于哪里?
用户账号/口令相关参数:/etc/passwd, /etc/shadow
n 使用者群组相关参数:/etc/group, /etc/gshadow
n 用户个人文件数据: /home/username, /var/spool/mail/username..
-r:连同用户的家目录也一起删掉;
注:通常我们要移除一个账号的时候,你可以手动的将 /etc/passwd 与
/etc/shadow 里头的该账号取消即可!一般而言,如果该账号只是『暂时不
激活』的话,那么将 /etc/shadow 里头账号失效日期 (第八字段) 配置为 0
就可以让该账号无法使用,但是所有跟该账号相关的数据都会留下来! 使
用 userdel 的时机通常是『你真的确定不要让该用户在主机上面使用任何数
据了!』
4. id:
id 这个命令则可以查询某人或自己的相关 UID/GID 等等的信息,使用 id 就
全部都列出
命令格式为: id [username]
5. groupadd:组添加
-g:后面接某个固定的GID,用来直接给予某个GID
-r:创建系统群组,
6. groupdel:删除群组
命令格式 groupdel [groupname]
六、ACL的使用
1.什么是ACL
ACL 是 Access Control List 的缩写,主要的目的是在提供传统的
owner,group,others 的 read,write,execute 权限之外的细部权限配置。ACL
可以针对单一使用者,单一文件或目录来进行 r,w,x 的权限规范,对于需要
特殊权限的使用状况非常有帮助。
n 使用者 (user):可以针对使用者来配置权限;
n 群组 (group):针对群组为对象来配置其权限;
n 默认属性 (mask):还可以针对在该目录下在创建新文件/目录时,规范
新数据的默认权限;
2.ACL的两个命令
1)setfacl:配置某个目录/文件的ACL 规范
2)getfacl:取得某个文件/目录的 ACL 配置项目;