添加用户
用法:useradd [选项] 登录
useradd -D
useradd -D [选项]
选项:
-b, --base-dir BASE_DIR 新账户的主目录的基目录
-c, --comment COMMENT 新账户的 GECOS 字段
-d, --home-dir HOME_DIR 新账户的主目录
-D, --defaults 显示或更改默认的 useradd 配置
-e, --expiredate EXPIRE_DATE 新账户的过期日期
-f, --inactive INACTIVE 新账户的密码不活动期
-g, --gid GROUP 新账户主组的名称或 ID
-G, --groups GROUPS 新账户的附加组列表
-h, --help 显示此帮助信息并推出
-k, --skel SKEL_DIR 使用此目录作为骨架目录
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值
-l, --no-log-init 不要将此用户添加到最近登录和登录失败数据库
-m, --create-home 创建用户的主目录
-M, --no-create-home 不创建用户的主目录
-N, --no-user-group 不创建同名的组
-o, --non-unique 允许使用重复的 UID 创建用户
-p, --password PASSWORD 加密后的新账户密码
-r, --system 创建一个系统账户
-R, --root CHROOT_DIR chroot 到的目录
-s, --shell SHELL 新账户的登录 shell
-u, --uid UID 新账户的用户 ID
-U, --user-group 创建与用户同名的组
-Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER
例如:
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# useradd 20220808 #默认创建,组和用户同名,并且在/home目录创建用户目录
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# id 20220808
uid=1005(20220808) gid=1006(20220808) 组=1006(20220808)
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# passwd 20220808 #修改用户20220808用户的密码
更改用户 20220808 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# useradd -d /var/202208081 202208081 #-d设置用户家目录
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# id 202208081
uid=1006(202208081) gid=1007(202208081) 组=1007(202208081)
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# useradd -p admin234 202208082 #-p设置新建的用户密码为admin234
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# useradd -g root 202208083 #创建用户添加到root组
[202208082@09385fd8-d2bc-5626-846f-5803027959a2 root]$ ls /home/ #查看home下自动建的用户家目录
20220808/ 202208082/ 202208083/
添加用户组
用法:groupadd [选项] 组
选项:
-f, --force 如果组已经存在则成功退出
并且如果 GID 已经存在则取消 -g
-g, --gid GID 为新组使用 GID
-h, --help 显示此帮助信息并推出
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值
-o, --non-unique 允许创建有重复 GID 的组
-p, --password PASSWORD 为新组使用此加密过的密码
-r, --system 创建一个系统账户
-R, --root CHROOT_DIR chroot 到的目录
例如:
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# groupadd d20220808
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# cat /etc/group |grep d20220808
d20220808:x:1010:
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# groupadd -p admin234 d202208081 #为新创建的组创建默认密码
修改用户所在组
用法:usermod [选项] 登录
选项:
-c, --comment 注释 GECOS 字段的新值
-d, --home HOME_DIR 用户的新主目录
-e, --expiredate EXPIRE_DATE 设定帐户过期的日期为 EXPIRE_DATE
-f, --inactive INACTIVE 过期 INACTIVE 天数后,设定密码为失效状态
-g, --gid GROUP 强制使用 GROUP 为新主组
-G, --groups GROUPS 新的附加组列表 GROUPS
-a, --append GROUP 将用户追加至上边 -G 中提到的附加组中,
并不从其它组中删除此用户
-h, --help 显示此帮助信息并推出
-l, --login LOGIN 新的登录名称
-L, --lock 锁定用户帐号
-m, --move-home 将家目录内容移至新位置 (仅于 -d 一起使用)
-o, --non-unique 允许使用重复的(非唯一的) UID
-p, --password PASSWORD 将加密过的密码 (PASSWORD) 设为新密码
-R, --root CHROOT_DIR chroot 到的目录
-s, --shell SHELL 该用户帐号的新登录 shell
-u, --uid UID 用户帐号的新 UID
-U, --unlock 解锁用户帐号
-Z, --selinux-user SEUSER 用户账户的新 SELinux 用户映射
例如
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# cat /etc/passwd |grep 20220808
20220808:x:1005:1006::/home/20220808:/bin/bash
202208081:x:1006:1007::/var/202208081:/bin/bash
202208082:x:1007:1008::/home/202208082:/bin/bash
202208083:x:1008:0::/home/202208083:/bin/bash
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# usermod -g root 20220808
查看用户所属用户组
一个用户可以属于多个组,记录在/etc/passwd 的那个组叫主要组,创建用户的时候系统自动创建的叫私有组,主要组可以是私有组,私有组一定是主要组,只能有一个主要组,可以有多个附加组,像一个人有多个职务,但是只有一个是主要职务,其他都是附加职务。
[root@42d897c1-46d4-58e0-b6e5-9bcc7041938a ~]# useradd wx #新建用户wx
[root@42d897c1-46d4-58e0-b6e5-9bcc7041938a ~]# usermod -G root wx #为wx用户添加附加组
[root@42d897c1-46d4-58e0-b6e5-9bcc7041938a ~]# groups wx #查询wx所属用户组,wx为默认组,root为附件中
wx : wx root
[root@42d897c1-46d4-58e0-b6e5-9bcc7041938a ~]# groups #直接使用groups命令表示查询当前登录用户所在的组
root
修改文件所属用户
示例:
chown 用户名 文件名 #修改文件所属用户
chown命令的所有参数列表:
1、-c:若该档案拥有者确实已经更改,才显示其更改动作
2、-f:若该档案拥有者无法被更改也不要显示错误讯息
3、-h:只对于连结(link)进行变更,而非该link真正指向的档案
4、-v:显示拥有者变更的详细资料
5、-R:对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)
6、--help:显示辅助说明
7、--version:显示版本
chown root /u 将 /u 的属主更改为"root"。
chown root:staff /u 和上面类似,但同时也将其属组更改为"staff"。
chown -hR root /u 将 /u 及其子目录下所有文件的属主更改为"root"。
修改用户组信息
groupmod命令用于修改用户组的相关信息,可更改群组(用户组)识别码或名称
-g GID:修改组 ID
groupmod -n 新组名 组名
groupmod -n testgrp group1 #把组名group1修改为testgrp
删除用户、用户组
功能说明:删除用户帐号。
语 法:userdel [-r][用户帐号]
补充说明:userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件。
参 数:
-f 删除用户登入目录以及目录中所有文件。
其他详见各命令的help
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# userdel 20220808
userdel:组“20220808”没有移除,因为它不是用户 20220808 的主组 #因为用户已删除
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# id 20220808 #表明已经没有了该账号
id: 20220808: no such user
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]# groupdel 20220808 #删除用户组
[root@09385fd8-d2bc-5626-846f-5803027959a2 ~]#
who id w 使用
[root@6fe17b85-6fc9-5289-b7b8-01424764c4f1 ~]# who #查看当前登录系统的用户信息
root pts/0 2022-08-07 19:51 (172.17.84.169)
root pts/1 2022-08-07 19:51 (172.17.84.169)
[root@6fe17b85-6fc9-5289-b7b8-01424764c4f1 ~]# whoami
root
[root@6fe17b85-6fc9-5289-b7b8-01424764c4f1 ~]# id
uid=0(root) gid=0(root) 组=0(root)
[root@6fe17b85-6fc9-5289-b7b8-01424764c4f1 ~]# id 20220808 #用于查看系统中已存在用户账号的属性信息
uid=1005(20220808) gid=0(root) 组=0(root)
[root@6fe17b85-6fc9-5289-b7b8-01424764c4f1 ~]# id -un
root
[root@6fe17b85-6fc9-5289-b7b8-01424764c4f1 ~]# w #用于显示当前登录到系统的用户,展示登录时间、方式、运行的命令等
20:03:02 up 7:00, 2 users, load average: 6.78, 6.23, 6.22
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 172.17.84.169 19:51 0.00s 0.03s 0.02s -bash
root pts/1 172.17.84.169 19:51 11:48 6.14s 6.14s top
账号存放位置
/etc/gshadow #安全组账号信息
/etc/group#组信息
/etc/shadow和/etc/passwd系#统存在的所有用户名
[root@42d897c1-46d4-58e0-b6e5-9bcc7041938a ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
passwd文件内容备注:
1、每行代表一个用户
2、每行有7个字段,用:隔开(用户名:密码:UID(用户ID):GID(组ID):描述性信息:主目录:默认Shell)
[root@42d897c1-46d4-58e0-b6e5-9bcc7041938a ~]# cat /etc/group
root:x:0:wang,wx
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
[root@42d897c1-46d4-58e0-b6e5-9bcc7041938a ~]# cat /etc/group |grep wang
root:x:0:wang,wx #用户组root有wang、wx两个用户
wang:x:1004: #用户组wang只有wang一个用户
group文件内容备注:
1、/etc/group文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组
2、每个用户组一条记录,用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),用:间隔开来