文章来源《鸟哥的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参数的意思