用户相关文件
1、/etc/passwd文件
如下:
[root@jone ~]# 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
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
zhangli:x:1000:1000:zhangli:/home/zhangli:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
li:x:1001:1001::/home/li:/bin/bash
dhcpd:x:177:177:DHCP server:/:/sbin/nologin
zhang:x:1002:1002::/home/zhang:/sbin/nologin
lisi:x:1003:1003::/home/lisi:/sbin/nologin
user1:x:1004:1004::/home/user1:/sbin/nologin
其文件格式如下,如果要将普通用户改为超级用户请将uid改为0即可(一般不推荐这样用)。文件中/sbin/nologin代表伪用户,不能登录且不能删除,删除会导致服务起不来。
2、/etc/shadow(影子文件)
文件格式为:
第一列:用户名
3、/etc/group文件
用户组文件里可以根据对应用户名查到对应的GID。初始组不建议改,建议使用附加组。
[root@jone ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:33:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
utmp:x:22:
utempter:x:35:
input:x:999:
systemd-journal:x:190:
systemd-network:x:192:
dbus:x:81:
polkitd:x:998:
ssh_keys:x:997:
sshd:x:74:
postdrop:x:90:
postfix:x:89:
chrony:x:996:
zhangli:x:1000:zhangli
apache:x:48:
li:x:1001:
dhcpd:x:177:
zhang:x:1002:
lisi:x:1003:
user1:x:1004:
文件内容格式为:
4、/etc/gshadow
一般不建议更改
5、/home/[用户名]
6、/var/spool/mail/[用户名]
7、/etc/skel/(模板文件)
一般而言,创建/删除一个用户的过程就是在1,2,3,4,5,6文件中写入/删除相应内容。
useradd命令
其中选项字段一般什么都不用加。
useradd默认值
1)/etc/default/useradd
[root@jone mail]# vim /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
对应于/etc/passwd中的用户名那几个字段:
2)/etc/login.defs
[root@jone mail]# cat /etc/login.defs | grep -v "#"
MAIL_DIR /var/spool/mail
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
UID_MIN 1000
UID_MAX 60000
SYS_UID_MIN 201
SYS_UID_MAX 999
GID_MIN 1000
GID_MAX 60000
SYS_GID_MIN 201
SYS_GID_MAX 999
CREATE_HOME yes
UMASK 077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512
此也对应与/etc/passwd中的user用户字段内容:
设定密码passwd
root用户可以修改其他用户密码,普通用户不能修改其他人的密码
可以通过管道符来设置密码:(这种方式就可以批量来进行程序执行,不需要人机交互操作)
[root@jone ~]# echo "123456j" | passwd --stdin li
更改用户 li 的密码 。
passwd:所有的身份验证令牌已经成功更新。
修改密码更改日期归零,这样用户一登陆就需要修改密码:
[root@jone ~]# chage -d 0 li
用户信息修改
usermod命令:(标红框的用的次数最多)
删除用户
userdel命令,需要加-r
su命令切换用户身份
组管理命令
groupadd,添加用户组
groupdel,删除用户组
gpasswd,把用户添加进用户组
此命令相比“usermod -G 组名 用户名”更常用。
改变有效组newgrp
一个用户可能属于多个组,那么在用户创建文件后一般是属于哪个组呢,答案是初始组。可以在对于用户视图下(sudo - 用户名进行切换)使用“newgrp [组名]”来改变有效组。举例如下: