用户管理

系统通过UID来设置用户的身份

uid = 0 root用户

uid = 1 - 999 系统账号

uid = 1000 - 60000 普通账号

添加账号

[root@localhost ~]# useradd abc1

[root@localhost ~]# id abc1

uid=1001(abc1) gid=1001(abc1) 组=1001(abc1)

 

用户的配置文件: /etc/passwd

[root@localhost ~]# vim /etc/passwd

robin:x:1000:1000:robin:/home/robin:/bin/bash

 

第一列: 用户名

第二列: 密码占位符(是否验证)

第三列: UID

第四列: GID

第五列: 描述信息

第六列: 家目录

第七列: shell

 

[root@localhost ~]# useradd -u 1500 abc2 -u 指定UID

[root@localhost ~]# useradd -u 1501 -g abc1 abc3 -g 指定GID

[root@localhost ~]# useradd -u 1502 -g abc1 -c "test user" abc4 -c 描述

[root@localhost ~]# useradd -u 1503 -g abc1 -c "test user" -d /mnt/abc5 abc5 -d 家目录

[root@localhost ~]# useradd -u 1504 -g abc1 -c "test user" -d /mnt/abc6 -s /bin/tcsh abc6 -s 指定shell

添加组

GID = 0 root

GID = 1 - 999 系统组

GID = 1000-60000 普通用户组

 

[root@localhost ~]# groupadd newteam

 

配置文件: /etc/group

[root@localhost ~]# vim /etc/group

newteam:x:1501:

 

第一列: 组名

第二列: 组密码占位符

第三列: GID

第四列: 是那个用户的附加组

 

[root@localhost ~]# groupadd -g 2000 east -G 指定GID

密码设置

[root@localhost ~]# passwd robin root账号设置其他用户密码

[robin@localhost ~]$ passwd 普通用户设置自己的密码

[root@localhost ~]# echo 123 | passwd --stdin robin 非交互设置密码

密码的配置文件: /etc/shadow

[root@localhost ~]# vim /etc/shadow

robin:$6$CxIC/kUG$XVhpWM5yaf/oSuNcue9oiitpX/qt7ZdLCTULTZt21gZ1stIzK/PCW6z6qZa9FXMQeB3f igQKZSVZ8AoqHCQkG0:19346:2:10:3:3::

 

第一列: 用户名

第二列: 密码(有密码 无密码 !!密码锁定状态 *该用户永久不能登陆系统)

第三列: 密码的最后一次修改时间 (1970-1-1 unix元年)

第四列: 修改密码的最小时间

第五列: 修改密码的最大时间(99999 永久有效)

第六列: 密码过期前警告时间

第七列: 密码过期后账号过期时间

第八列: 账号有效期

第九列: 保留列

修改用户信息

[root@localhost ~]# usermod -u 1600 abc1

[root@localhost ~]# usermod -g east abc1

[root@localhost ~]# usermod -c "hello user" abc1

[root@localhost ~]# usermod -s /bin/csh abc1

修改家目录

[root@localhost ~]# usermod -d /home/abc6 abc6

[root@localhost ~]# mv /mnt/abc6/ /home/

或者

[root@localhost ~]# usermod -m -d /home/abc5 abc5

 

锁帐号

[root@localhost ~]# usermod -L robin

[root@localhost ~]# usermod -U robin

设置不登录用户

[root@localhost ~]# useradd -M -s /sbin/nologin zorro -M 不添加家目录

[root@localhost ~]# useradd -o -u 0 admin -o 添加重复uid的账号

修改组

[root@localhost ~]# groupmod -g 3000 east

[root@localhost ~]# groupmod -n neweast east 修改组名

密码修改

[root@localhost ~]# passwd -l robin

[root@localhost ~]# passwd -S robin

[root@localhost ~]# passwd -u robin

删除组

[root@localhost ~]# groupdel neweast 当组内有用户时组是不能删除的

 

删除用户

[root@localhost ~]# userdel -r abc5 删除用户并且删除家那目录 当用户登陆时用户不能删除

手动管理账号

1.groupadd haha

[root@localhost ~]# vim /etc/group

haha:x:4000:

 

2.useradd -g haha heihei

[root@localhost ~]# vim /etc/passwd

heihei:x:4000:4000:hello heihei:/home/heihei:/bin/bash

[root@localhost ~]# mkdir /home/heihei

[root@localhost ~]# cp -r /etc/skel/.bash* /home/heihei/

 

3.passwd heihei

[root@localhost ~]# vim /etc/shadow

heihei::19346:0:99999:7:::

[root@localhost ~]# echo 123 | passwd --stdin heihei

附加组

[root@localhost ~]# usermod -a -G east robin -a 在原有的基础上添加附加组

root@localhost ~]# usermod -a -G west robin

[root@localhost ~]# usermod -G east robin 直接覆盖附加组

用户配置文件

/etc/login.defs 设置UID GID范围 设置密码属性 设置邮箱 家目录权限

当用户名和组名相同时,如果组内没有其他账号,删除用户时,组一起删除

如果用户名和组名不同,组内没有其他成员,删除用户时,组不删除

 

[root@localhost ~]# vim /etc/default/useradd

HOME=/home 默认家目录

SHELL=/bin/bash 默认shell

SKEL=/etc/skel 默认拷贝环境变量配置文件的位置

显示登陆用户信息

[root@localhost ~]# who

[root@localhost ~]# w

[root@localhost ~]# whoami 当前用户

[root@localhost ~]# who i am 登录账号