组管理:groupadd groupdel
用户管理:useradd userdel
密码管理:passwd chage
用户组:groupadd groupdel
[root@bogon ~]# groupadd hr
[root@bogon ~]# groupadd sale
[root@bogon ~]# groupadd it
[root@bogon ~]# groupadd fd
[root@bogon ~]# groupadd market
[root@bogon ~]# tail /etc/group
postdrop:x:90:
postfix:x:89:
chrony:x:996:
alice:x:1000:
apache:x:48:
hr:x:1001:
sale:x:1002:
it:x:1003:
fd:x:1004:
market:x:1005:
用户管理:useradd userdel
[root@bogon ~]# useradd --help
用法:useradd [选项] 登录
useradd -D
useradd -D [选项]
选项:
-f, --inactive INACTIVE 新账户的密码不活动期
-g, --gid GROUP 新账户主组的名称或 ID
-G, --groups GROUPS 新账户的附加组列表
-h, --help 显示此帮助信息并推出
-k, --skel SKEL_DIR 使用此目录作为骨架目录
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值
-o, --non-unique 允许使用重复的 UID 创建用户
-p, --password PASSWORD 加密后的新账户密码
-r, --system 创建一个系统账户
-R, --root CHROOT_DIR chroot 到的目录
-P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files
-s, --shell SHELL 新账户的登录 shell
-u, --uid UID 新账户的用户 ID
-U, --user-group 创建与用户同名的组
-Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER
1.创建用户不指定选项
[root@bogon ~]# useradd user01
[root@bogon ~]# grep 'user01' /etc/passwd /etc/shadow /etc/group /etc/gshadow
/etc/passwd:user01:x:1001:1006::/home/user01:/bin/bash
/etc/shadow:user01:!!:18488:0:99999:7:::
/etc/group:user01:x:1006:
/etc/gshadow:user01:!::
[root@bogon ~]# ll -d /home/user01/
drwx------. 2 user01 user01 62 8月 14 12:48 /home/user01/
[root@bogon ~]# ll /var/spool/mail/user01
-rw-rw----. 1 user01 mail 0 8月 14 12:48 /var/spool/mail/user01
- 在 /etc/passwd 文件中创建一行与 user01 用户相关的数据
- 在 /etc/shadow 文件中新增了一行与 user01 用户密码相关的数据
- 在 /etc/group 文件中创建一行与用户名一模一样的群组
- 在 /etc/gshadow 文件中新增一行与新增群组相关的密码信息
- 默认创建用户的主目录和邮箱
- 将 /etc/skel 目录中的配置文件复制到新用户的主目录中
/etc/skel
这个目录下的所有文件都是隐藏文件(以.点开头的文件)。
通过修改、添加、删除/etc/skel目录下的文件,我们可为新创建的用户提供统一的、标准的、初始化用户环境。
2.初始组和附加组
初始组,指用户登陆时就拥有这个用户组的相关权限。每个用户的初始组只能有一个,通常就是将和此用户的用户名相同的组名作为该用户的初始组。比如说,我们手工添加用户 user01,在建立用户 user01 的同时,就会建立 user01 组作为 user01 用户的初始组。
建立用户是通过-g可以指定初始组(主组),为指定,系统会创建一个与用户同名的组作为用户的主组
不建议使用-g指定主组
附加组,指用户可以加入多个其他的用户组,并拥有这些组的权限。每个用户只能有一个初始组,除初始组外,用户再加入其他的用户组,这些用户组就是这个用户的附加组。附加组可以有多个,而且用户可以有这些附加组的权限。
1.创建用户时通过 -G指定附加组
2.用户已存在,加入附加组 usermod gpasswd 命令
注意:
1.-g -G 仅使用在useradd创建用户是使用
2.-g -G 指定的组必须事先存在
3.创建用户指定选项
[root@bogon ~]# useradd user02 -G hr
[root@bogon ~]# useradd user03 -G hr,fd // 创建用户指定附加组
[root@bogon ~]# id user01
uid=1001(user01) gid=1006(user01) 组=1006(user01)
[root@bogon ~]# id user02
uid=1002(user02) gid=1007(user02) 组=1007(user02),1001(hr)
[root@bogon ~]# id user03
uid=1003(user03) gid=1008(user03) 组=1008(user03),1001(hr),1004(fd)
[root@bogon ~]# useradd user04 -s /sbin/nologin //创建用户并指定shell
4.删除用户 userdel
[root@bogon ~]# userdel user04 //仅将用户删除,/home/user04,/var/spool/mail/user04 依然存在
[root@bogon ~]# ls /home/
alice user01 user02 user03 user04
[root@bogon ~]# ls /var/spool/mail/
alice mel user01 user02 user03 user04
[root@bogon ~]# useradd user04 //添加已删除的用户
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
正在创建信箱文件: 文件已存在
[root@bogon ~]# userdel -r user04 // -r 将用户信息全部删除
[root@bogon ~]# ls /home/
alice user01 user02 user03
[root@bogon ~]# ls /var/spool/mail/
alice mel user01 user02 user03
5.用户密码
[root@bogon ~]# passwd alice // root可以给任何用户设置密码
[alice@bogon ~]$ passwd // 普通用户只能给自己修改密码,而且必须提供原密码
6.管理组成员
usermod
[root@bogon ~]# usermod -G hr user04 // 覆盖原有的附加组
[root@bogon ~]# userdel -G fd,it user04
[root@bogon ~]# userdel -aG fd,it user04 // 添加新的附加组
gpasswd
[root@bogon ~]# id user01
uid=1001(user01) gid=1006(user01) 组=1006(user01)
[root@bogon ~]# gpasswd -a user01 hr // -a表示添加 -M 添加多个用户到附加组
正在将用户“user01”加入到“hr”组中
[root@bogon ~]# id user01
uid=1001(user01) gid=1006(user01) 组=1006(user01),1001(hr)
[root@bogon ~]# gpasswd -a user01 it
正在将用户“user01”加入到“it”组中
[root@bogon ~]# id user01
uid=1001(user01) gid=1006(user01) 组=1006(user01),1001(hr),1003(it)
[root@bogon ~]# gpasswd -d user01 it // -d表示删除
正在将用户“user01”从“it”组中删除
7.其他管理项
[root@bogon ~]# userdel -s /sbin/nologin user04
8.所有操作都可以在文件中修改
对应文件中的对应项删除
[root@bogon ~]# id user01
uid=1001(user01) gid=1006(user01) 组=1006(user01),1001(hr),1003(it)
[root@bogon ~]# vim /etc/group
[root@bogon ~]# id user01
uid=1001(user01) gid=1006(user01) 组=1006(user01),1003(it)
删除user01中hr附加组,在/etc/group文件中找到hr组,并删除 ,user01 并关闭就可以了