文章来源《鸟哥的Linux私房菜》

此文仅做学习笔记用

Linux下系统用户相关的配置文件有/etc/passwd和/etc/shadow等

/etc/passwd配置文件详解:

root:x:0:0:root:/root:/bin/bash

共有七个区域,以冒号隔开

第一个区域:root:x:0:0:root:/root:/bin/bash ,用户名

第二个区域:root:x:0:0:root:/root:/bin/bash ,密码,因为此配置文件都可以读取,所以用x表示,真实密码在/etc/shadow配置文件中用加密方式写出

第三个区域:root:x:0:0:root:/root:/bin/bash ,用户的UID,超级管理员root的UID为0

用户识别码ID范围:

0(系统管理员):当UID为0时,代表此账号为系统管理员

1~999(系统账号):保留给系统使用的ID

1000~60000(可登入账号):一般用户使用。

第四个区域:root:x:0:0:root:/root:/bin/bash,用户组的GID,超级管理员组的GID为0

第五个区域:root:x:0:0:root:/root:/bin/bash ,使用者咨询说明栏,解释账号的意义

第六个区域:root:x:0:0:root:/root:/bin/bash ,用户家目录文件夹

第七个区域:root:x:0:0:root:/root:/bin/bash ,用户使用的shell

 

/etc/shadow 文件结构:

root:$6$XQfVlGTvgolQtalM$lU6Mf55kRAw8GcKIWx6hsYN3AL9fn9vsyede.oApD9UNkqDYcPRvwiFvzADawZp8fC/Qjdu4G1EgodpK8Erjd1::0:99999:7:::

共有九个区域

第一个区域:root:$6$XQfVlGTvgolQtalM$lU6Mf55kRAw8GcKIWx6hsYN3AL9fn9vsyede.oApD9UNkqDYcPRvwiFvzADawZp8fC/Qjdu4G1EgodpK8Erjd1::0:99999:7::: 账号名称

第二个区域:root:$6$XQfVlGTvgolQtalM$lU6Mf55kRAw8GcKIWx6hsYN3AL9fn9vsyede.oApD9UNkqDYcPRvwiFvzADawZp8fC/Qjdu4G1EgodpK8Erjd1::0:99999:7::: 密码。进行加密后的显示出来

第三个区域:root:$6$XQfVlGTvgolQtalM$lU6Mf55kRAw8GcKIWx6hsYN3AL9fn9vsyede.oApD9UNkqDYcPRvwiFvzADawZp8fC/Qjdu4G1EgodpK8Erjd1::0:99999:7::: 最近更改密码的时间

第四个区域:root:$6$XQfVlGTvgolQtalM$lU6Mf55kRAw8GcKIWx6hsYN3AL9fn9vsyede.oApD9UNkqDYcPRvwiFvzADawZp8fC/Qjdu4G1EgodpK8Erjd1::0:99999:7::: 密码不可被更改的时间,即在最新一次更改密码后的几天内都不可以更改密码

第五个区域:root:$6$XQfVlGTvgolQtalM$lU6Mf55kRAw8GcKIWx6hsYN3AL9fn9vsyede.oApD9UNkqDYcPRvwiFvzADawZp8fC/Qjdu4G1EgodpK8Erjd1::0:99999:7::: 密码需要变更的天数,即在最新一次更改密码后,这个时间后需要更改密码

第六个区域:root:$6$XQfVlGTvgolQtalM$lU6Mf55kRAw8GcKIWx6hsYN3AL9fn9vsyede.oApD9UNkqDYcPRvwiFvzADawZp8fC/Qjdu4G1EgodpK8Erjd1::0:99999:7:::  密码需要变更期限前的警告天数

第七个区域:root:$6$XQfVlGTvgolQtalM$lU6Mf55kRAw8GcKIWx6hsYN3AL9fn9vsyede.oApD9UNkqDYcPRvwiFvzADawZp8fC/Qjdu4G1EgodpK8Erjd1::0:99999:7::: 密码过期后的宽限期限

第八个区域:root:$6$XQfVlGTvgolQtalM$lU6Mf55kRAw8GcKIWx6hsYN3AL9fn9vsyede.oApD9UNkqDYcPRvwiFvzADawZp8fC/Qjdu4G1EgodpK8Erjd1::0:99999:7::: 账号失效日期

第九个区域:保留,等待以后新功能加入

 

用户组:

/etc/group配置文件结构:root:x:0:

第一区域:root:x:0:   用户组名称

第二区域:root:x:0:  群组密码

第三区域: root:x:0: 群组的ID,即GID

第四区域:群组支持的账号名称

 

新增用户:useradd

useradd [-u uid] [-g 初始群组] [-G 次要群组] [-mM] [-c 说明栏] [-d 主文件夹绝对路劲] [-s shell] 使用者账号名

选项与参数:

-u  :后面接UID,直接指定一个特殊UID给此账号

-g :后面接有效群组

-G:后面接其他群组

-m:强制要创建使用者文件夹

-M :强制不要创建使用者文件夹

-c:/etc/passwd里的用户说明内容

-d :指定某个目录为用户主文件夹

-r :创建一个系统账号

-s :用户登录时使用的shell,默认为/bin/bash

-e:后面接日期,即账号失效日期

-f:指定密码是否会失效

删除账号时,若该账号所属群组已经没有其他用户在组内,其群组也会被删除

 

设置密码:

passwd [--stdin] [账号名称]

passwd [-l] [-u] [--stdin] [-S] [-n 日期] [-w 日数] [-i 日期] 账号

选项与参数

--stdin :通过来自前一个管线输出的数据,作为密码输入

-l :lock,使密码失效

-u :与-l 相对,unlock

-S :列出密码相关参数

-n: 后面接天数,多久不可修改密码天数

-x :后面接天数,多久内必须要更改密码

-w :接天数。密码过期前的警告天数

-i :密码失效日期

 

usermod:

usermod [-cdegGlsuLU] username

选项与参数:

-c :接账号的说明

-d :接账号的主文件夹

-e :日期

-f :接天数

-g :修改初始群组

-G :修改次要群组

-l:接账号名称,即修改账号名称

-s 修改登录使用的shell

-u :修改UID

-L :暂时冻结使用者登录

-U :解开冻结的使用者登录

 

删除用户命令:userdel

userdel -r username

选项与参数:

-r:连同主文件夹一起删除

 

groupadd:

groupadd [-g  gid] [-r] 群组名称

选项与参数:

-g :直接赋予某个GID

-r :创建系统群组

 

groupmod :

groupmod [-g gid] [-n group_name ] 群组名

选项与参数:

-g :修改既有的GID

-n:修改既有的群组名称

 

删除群组:groupdel

 

getfcal :查看某个目录或文件的ACL设置项目

setfacl:设置某个目录或文件的ACL规范

setfacl [-bkRd] [{-m|-x} acl参数] 目标文件

参数及选项:

-m:设定后续的ACL参数,不可与-x一起使用

-x:删除后续的ACL参数,不可与-m合用

-b:溢出所有的ACL设定参数

-k:移除预设的ACL参数

-R:返回设定ACL,次目录也会被设定

-d:设定预设ACL参数的意思