用户和用户组

用户信息文件 /etc/passwd
影子文件 /etc/shadow
组信息文件 /etc/group
组密码文件 /etc/gshadow

[root@localhost ~]# vim /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
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
nginx:x:998:996:nginx user:/var/cache/nginx:/sbin/nologin
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
zhangsan:x:1000:1000::/home/zhangsan:/bin/bash

说明:
1:zhangsan,用户名称
2:x,密码标志,x表示有密码,密码是加密的,在/etc/shadow中
3:1000,UID(用户id)
范围:0,超级用户
1-499,系统用户(伪用户)
500-65535,普通用户
4:1000,GID(用户初始组ID),建立用户时默认跟用户名一样,一般不要改
5:空,用户说明
6:/home/zhangsan,家目录
普通用户,/home/用户名
超级用户,/root/
7:/bin/bash,登录之后的shell


影子文件:/etc/shadow
共9位,每一位的意义需了解

组信息文件/etc/group  组密码文件/etc/gshadow

把普通用户变成超级用户,修改 /etc/passwd,把对应的uid变成0
zhangsan:x:0:1000::/home/zhangsan:/bin/bash
登录发现
修改之前:[zhangsan@localhost ~]$
修改之后:[root@localhost ~]#
家目录修改前后不变:
[root@localhost ~]# pwd
/home/zhangsan

useradd
-g 初始组
-G 附加组 多个的话用逗号分隔

[root@localhost ~]# useradd -G root,bin shenlei2
[root@localhost ~]# passwd shenlei2
更改用户 shenlei2 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]#
[root@localhost ~]# su shenlei2
[shenlei2@localhost root]$ groups
shenlei2 root bin

groups命令列举出shenlei2的所有组


[shenlei2@localhost tmp]$ vim shent.txt
[shenlei2@localhost tmp]$ ll shent.txt
-rw-rw-r-- 1 shenlei2 shenlei2 13 6月 13 21:05 shent.txt
[shenlei2@localhost tmp]$

shenlei2创建文件的组显示的是初始组

passwd -l shenlei shenlei用户不能登录 锁定用户
passwd -u shenlei shenlei用户可以登录 解锁用户

usermod -G root lamp 把lamp用户加入root组
usermod -L lamp 锁定用户
usermod -U lamp 解锁用户


chage 修改密码状态
chage -d 0 lamp 让lamp用户一登录必须修改密码

删除命令 userdel
用户切换命令su


userdel -r 用户名 :删除用户的同时删除用户家目录

id命令:查看一个用户属于哪些组
[root@localhost home]# id shenlei2
uid=1007(shenlei2) gid=1007(shenlei2) 组=1007(shenlei2),0(root),1(bin)

su shenlei : 不会改变环境变量。
su - shenlei :连带用户的操作环境一块改变,一定用这个。

可以用 env 命令查看当前用户的环境变量。

用户组管理命令

groupadd [选项] 组名
选项: -g GID:指定组ID

修改组名:groupmod -n testgrp group1
把组名 group1 修改为 testgrp

删除组
groupdel 组名


该组是初始组,先删除初始用户,再删除初始组
该组是附加组,可以直接删除该组

总结:该组有初始用户则不能删除,否则可以删除。


操作的都是附加组
gpasswd -a 用户名 组名:把用户加入组
gpasswd -d 用户名 组名:把用户从组中删除

原文地址:https://www.cnblogs.com/javasl/p/11154506.html