1、useradd命令
useradd - create a new user or update default new user information(创建一个新用户或更新默认新用户信息 )
useradd [选项] 登录
useradd -D
useradd -D [选项]
选 项 | 作 用 |
---|---|
-u 或 --uid | 指定用户ID |
-g 或 --gid | 指定用户所属基本组,此组必须事先存在 |
-G 或 --groups | 指定用户所属的附加组,多个组之间用逗号分隔 |
-c 或 --comment | 指定注释信息,会保存在 /etc/passwd 的备注栏位中 |
-d 或 --home | 指定用户的家目录,通过复制 /etc/skel 目录并重命名实现 |
-s 或 --shell | 指定用户的默认shell,所有可用的shell列表存储在 /etc/shells 中 |
-r 或 --system | 创建系统用户 |
-d | 显示创建用户的默认配置 |
-d 选项 | 修改默认选项的值(修改结果保存于 /etc/dafault/useradd 文件中) |
① 创建用户gentoo,UID为4001,基本组为gentoo,附加组为distro(GID为5000)和peguin(GID为5001);
[root@localhost ~]# groupadd -g 5000 distro \\创建用户组 distro
[root@localhost ~]# groupadd -g 5001 peguin \\创建用户组 peguin
[root@localhost ~]# useradd -u 4001 -G distro,peguin gentoo
② 创建用户fedora,其注释信息为"Fedora Core",默认shell为/bin/tcsh;
[root@localhost ~]# useradd -c "Fedora Core" -s /bin/tcsh fedora
2、usermod命令
usermod - modify a user account(修改一个用户账户)
usermod [选项] 登录
选 项 | 作 用 |
---|---|
-u 或 --uid | 修改用户ID |
-g 或 --gid | 修改用户所属的基本组 |
-G 或 --groups | 修改用户所属的附加组,原来的附加组会被覆盖 |
-a | 追加用户所属的附加组 |
-c 或 --comment | 修改注释信息 |
-d 或 --home | 修改用户的家目录,用户原有的文件不会被转移至新位置 |
-m 或 --move-home | 与 -d 选项一同使用,将原来的家目录移动到新位置并根据需要改名 |
-s 或 --shell | 修改用户的默认shell |
-l | 修改用户名 |
-L 或 --lock | 锁定用户密码,在 /etc/shadow 中的密码字符串之前会添加一个" ! " |
-U 或 --unlock | 解锁用户密码 |
① 修改gentoo用户的家目录为/var/tmp/gentoo;要求其原有文件仍能被用户访问;
[root@localhost ~]# usermod -md /var/tmp/gentoo gentoo
② 为gentoo新增附加组netadmin;
[root@localhost ~]# groupadd netadmin //创建用户组 netadmin
[root@localhost ~]# usermod -aG netadmin gentoo
3、userdel命令
userdel - delete a user account and related files(删除用户账户和相关文件)
userdel [选项] 登录
选 项 | 作 用 |
---|---|
-r | 删除用户时一并删除其家目录 |
删除用户fedora,同时删除用户家目录和mail spool;
[root@localhost ~]# userdel -r fedora
4、groupadd命令
groupadd - create a new group(创建一个新组)
groupadd [选项] 组
选 项 | 作 用 |
---|---|
-g | 指定组ID |
-r | 创建系统组 |
创建一个新组tom,GID为5003;
[root@localhost ~]# groupadd -g 5003 tom
5、groupmod命令
groupmod - modify a group definition on the system(修改系统上的组属性)
groupmod [选项] 组
选 项 | 作 用 |
---|---|
-g | 修改组ID |
-n | 修改组名 |
修改tom组的GID为5004,组名为jerry;
[root@localhost ~]# groupmod -g 5004 -n jerry tom
6、groupdel命令
groupdel - delete a group(删除一个组)
groupdel [选项] 组
并没有什么常用选项哦!
删除tom组;
[root@localhost ~]# groupdel jerry
7、passwd命令
passwd - update user’s authentication tokens(更新用户的身份验证令牌)
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n 最小天数] [-x 最大天数] [-w 警告日期] [-i 非活动日期] [-S] [–stdin] [用户名]
① passwd :修改用户自己密码;
② passwd USERNAME:修改指定用户密码,仅root有此权限。
选 项 | 作 用 |
---|---|
-l | 停止账号使用 |
-u | 启用已被停止的账户 |
-d | 删除用户密码 |
-S | 显示密码信息 |
-e DATE | 设置密码过期日期 |
-n DAYS | 密码的最短使用期限 |
-x DAYS | 密码最长使用期限 |
-w DAYS | 警告期限 |
–stdin | 非交互式创建密码(echo “password” | passwd --stdin USERNAME) |
① 修改gentoo用户密码;
[root@localhost ~]# passwd gentoo
更改用户 gentoo 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
② 显示gentoo用户密码信息;
[root@localhost ~]# passwd -S gentoo
gentoo PS 2020-03-09 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
8、gpasswd命令
gpasswd - administer /etc/group and /etc/gshadow(管理 /etc/group 和 /etc/gshadow,用于将一个用户添加到组或者从组中删除)
gpasswd [选项] 组
选 项 | 作 用 |
---|---|
-a USERNAME | 添加用户到组 |
-d USERNAME | 从组删除用户 |
添加用户gentoo到tom组中;
[root@localhost ~]# gpasswd -a gentoo tom
正在将用户“gentoo”加入到“tom”组中
9、newgrp命令
newgrp - log in to a new group(登录到一个新组)
newgrp [-] [组]
-:会模拟用户重新登陆以实现重新初始化其工作环境;
没有选项哦!
登入到tom组;
[root@localhost ~]# newgrp - tom
10、chage命令
chage - change user password expiry information(更改用户密码过期信息)
chage [选项] 登录
选 项 | 作 用 |
---|---|
-d | 指定密码最后修改日期 |
-E | 密码到期的日期。过了这天,此账号可不用,0表示马上过期,-1表示永不过期 |
-w | 密码过期前,提前收到警告信息的天数 |
-m | 密码可以更改的最小天数。0表示任何时候都可以更改密码 |
-M | 密码保持有效的最大天数 |
-l | 列出当前密码设置信息 |
查看root账户的密码设置信息;
[root@localhost ~]# chage -l root
最近一次密码修改时间 :从不
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :99999
在密码过期之前警告的天数 :7
11、id命令
id - print real and effective user and group IDs(打印真实有效的用户和组ID)
id [选项]… [用户]
选 项 | 作 用 |
---|---|
-u | 仅显示有效的UID |
-g | 仅显示有效的基本组ID |
-G | 仅显示用户所属的所有组ID |
-n | 显示名字而非ID |
①显示当前用户信息;
[root@localhost ~]# id
uid=0(root) gid=0(root) 组=0(root),5003(tom) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
②显示当前用户所有组群的名字;
[root@localhost ~]# id -Gn
12、解析库文件
①/etc/passwd
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
...
/etc/passwd中存储了系统中所有用户的基本信息,文件中一行记录对应着一个用户,每行记录被冒号(:)分隔为7个字段,每个字段含义如下:
用户名(login_name):
==口令(password):
用户标识号(UID):
组标识号(GID):
注释性描述:
家目录(home_directory):
默认的Shell(Shell)
②/etc/shadow
[root@localhost ~]# cat /etc/shadow
root:`$`6`$`p1mwb6gitnqDNZy.`$`ctaFX4wA5HxU49bBjWXpJSznbhkJL8KVwmaO8ZJ6VarPemT.VlKkqN44onx4CrWkCMruDZ3jIm9kywoWGtCNa/::0:99999:7:::
bin:*:17834:0:99999:7:::
...
/etc/shadow中存储着用户的密码信息,文件中一行记录对应着一个用户,每行记录被冒号(:)分隔为9个字段,每个字段含义如下:
用户名(login_name):
加密密码(以"$"为分隔符,第一个字段表示加密算法;第二个字段表示加密因子;第三个字段才是用户加密后的密码):
最后一次修改时间:
最小修改时间间隔:
密码有效期:
警告时间:
密码过期后的宽限天数:
失效时间:
保留(目前未使用)==
③/etc/group
[root@localhost ~]# cat /etc/group
root:x:0:
bin:x:1:
...
/etc/shadow中存储着用户组的所有信息,文件中一行记录对应着一个用户组,每行记录被冒号(:)分隔为4个字段,每个字段含义如下:
组名(group_name):
组密码(password):
组标识号(GID):
组中的用户(users)