Linux是个多用户多任务的分时操做系统,多用户又从属于多个用户组。所以,对linux帐户和用户组的管理是一个很重要的任务。linux
linux关于帐户管理的文件主要有4个,分别是/etc/passwd、 /etc/shadow、 /etc/group、 /etc/gshadow。bash
/etc/passwd:
主要是存储了用户的UID、GID等重要参数,其主要结构以下:加密
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
每一行是一个用户,参数使用:分割,各个参数的含义分别是:spa
- 账号名称
- 密码(因为密码使用单独的文件/etc/shadow管理,因此用x代替)
- UID(帐户惟一标识码)
- GID(用户组惟一标识码)
- 使用者信息说明栏(用以描述帐户信息)
- 主文件夹(即~文件夹)
- Shell(使用者登录系统后就会取得一个 Shell来与系统的核心沟通以进行使用者的操做任务)
/etc/shadow:
主要存储了密码信息和更改密码的一些参数,其结构以下:操作系统
root:AAAAAAAAAAAAAAAAAAAAAAAAAAAAA:17245:0:99999:7:1:2:
daemon:*:17052:0:99999:7:::
bin:*:17052:0:99999:7:::
一样,每一行是一个帐户,参数使用:分割,各个参数的含义分别是:code
- 账号名称
- 密码(加密之后的密码)
- 最近更动密码的日期(距离1970/01/01的天数)
- 密码不可被更动的天数(更改密码后几天以内不能再次修改)
- 密码须要从新变动的天数(更改密码几天以后须要再次更改)
- 密码须要变动期限前的警告天数
- 密码过时后的账号宽限时间(宽限时间内仍能登录,可是须要强制更改)
- 账号失效日期(失效后就须要root来从新设置了)
- 保留
/etc/group:
主要存储了用户组基本信息:class
root:x:0:
daemon:x:1:
bin:x:2:
- 群组名称
- 群组密码(供群组管理员使用)
- GID
- 此群组支持的账号名称(即属于这个群组的用户,以“,”隔开)
/etc/gshadow:
主要存储了群组密码密码
root:*::
daemon:*::
bin:*::
- 群组名称
- 密码栏(开头为!表示无合法密码,因此无群组管理员)
- 群组管理员的账号
- 有加入该群组支持的所属账号
接下来就是用户管理的一些命令:数据
useradd:di
用途:建立一个新用户或更新默认新用户信息
用法:useradd [-u UID] [-g 初始群组] [-G 次要群组]
经常使用参数:
- -u :后面接的是 UID ,是一组数字。直接指定一个特定的 UID 给这个账号;
- -g :后面接的那个群组名称就是初始化群组。
- -G :后面接的群组名称则是这个账号还能够加入的群组。
- -M :强制!不要建立使用者主文件夹!(系统账号默认值)
- -m :强制!要建立使用者主文件夹!(通常账号默认值)
passwd:
用途:更改用户密码
用法:passwd [--stdin] [账号名称] (接下来输入两次密码)
经常使用参数:
- -l :是 Lock 的意思,会将 /etc/shadow 第二栏最前面加上 ! 使密码失效;
- -u :与 -l 相对,是 Unlock 的意思!
- -S :列出密码相关参数,亦即 shadow 文件内的大部分信息。
- -n :后面接天数,shadow 的第 4 字段,多久不可修改密码天数
- -x :后面接天数,shadow 的第 5 字段,多久内必需要更动密码
- -w :后面接天数,shadow 的第 6 字段,密码过时前的警告天数
- -i :后面接“日期”,shadow 的第 7 字段,密码失效日期
chage:
用途:更改用户密码过时信息
用法:chage [-ldEImMW] 账号名
经常使用参数:
- -l :列出该账号的详细密码参数;
- -d :后面接日期,修改 shadow 第三字段(最近一次更改密码的日期),格式 YYYY-MM-DD
- -E :后面接日期,修改 shadow 第八字段(账号失效日),格式 YYYY-MM-DD
- -I :后面接天数,修改 shadow 第七字段(密码失效日期)
- -m :后面接天数,修改 shadow 第四字段(密码最短保留天数)
- -M :后面接天数,修改 shadow 第五字段(密码多久须要进行变动)
- -W :后面接天数,修改 shadow 第六字段(密码过时前警告日期)
usermod:
用途:修改一个用户帐户参数
用法:usermod [-cdegGlsuLU] username
经常使用参数:
- -c :后面接账号的说明,即 /etc/passwd 第五栏的说明栏,能够加入一些账号的说明。
- -d :后面接账号的主文件夹,即修改 /etc/passwd 的第六栏;
- -e :后面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow 内的第八个字段数据
- -f :后面接天数,为 shadow 的第七字段。
- -g :后面接初始群组,修改 /etc/passwd 的第四个字段,亦便是 GID 的字段!
- -G :后面接次要群组,修改这个使用者可以支持的群组,修改的是 /etc/group
- -a :与 -G 合用,可“增长次要群组的支持”而非“设置”喔!
- -l :后面接账号名称。亦便是修改账号名称, /etc/passwd 的第一栏!
- -s :后面接 Shell 的实际文件,例如 /bin/bash 或 /bin/csh 等等。
- -u :后面接 UID 数字啦!即 /etc/passwd 第三栏的数据;
- -L :暂时将使用者的密码冻结,让他没法登录。其实仅改 /etc/shadow 的密码栏。
- -U :将 /etc/shadow 密码栏的 ! 拿掉,解锁
userdel:
用途:删除用户
用法:userdel [-r] username
经常使用参数: