当前位置: 代码迷 >> 综合 >> linux基础之用户和用户组管理
  详细解决方案

linux基础之用户和用户组管理

热度:112   发布时间:2023-09-18 22:19:38.0

1用户配置文件

1.1用户信息文件/etc/passwd

查看配置文件帮助: man 5 [文件名]例如:man 5 passwdname:password:UID:GID:GECOS:directory:shell    #passwd配置文件的格式,以:为分割符的7个字段root:x:0:0:root:/root:/bin/bash  #真实的passwd配置文件1.name:用户名2.password:密码标识一般为x,代表有密码,且以加密方式存放在/etc/shadow3.UID:用户ID,0代表超级用户,1-499代表系统用户,500-65535代表普通用户,修改其他用户的uid可以让其变成超级用户4.GID:用户初始组ID5.GECOS:用户说明6.directory:家目录,超级用户/root 普通用户/home/用户名7.shell:登录之后的shell

1.2影子文件/etc/shadow

#真实配置文件root:$6$2vRBarbaSDcmTM1Z$2lqNIBrlaFi3xCx3h2JDPKCvTwwElZg/shZgiRCkYw.j5UcYLE5KD/DOaoL5FtugxumInIHVTbAbKKuJWY8UW/::0:99999:7:::1.用户名2.加密密码,SHA512散列加密算法,密码位是!!或者*代表没有密码不能登录3.密码最后一次修改时间,以1970年1月1作为标准时间,每过一天时间戳加一4.两次密码的修改时间间隔5.密码有效期6密码修改到期前的警告天数7.密码过期后的宽限天数,0或空白代表密码过期后立即失效,-1代表密码永远不会失效8.账号失效时间,用时间戳表示,无视59.保留

1.3组信息文件/etc/group

 #和windows不同的是每添加一个用户会生成和一个用户名字相同的组#格式 group_name:password:GID:user_list#真实配置文件 root:x:0:1.group_name 组名2.password 组密码标识3.GID 4.user_list 组中附加用户

1.4组密码文件/etc/gshadow

 #真实配置文件 root:::1.组名2.组密码3.组管理员用户名4.组中附加用户

2用户管理相关文件

2.1.用户的家目录 普通用户/home/用户名,所有者和所属组都是此用户,权限700 超级用户 /root/,所有者和所属组都是root用户,权限550

2.2.用户的邮箱 /var/spool/mail/用户名/

2.3.用户模板目录 /etc/skel,在当前目录创建文件,其他新建用户的家目录会自动生成这个文件,例如:root对其他用户的通知

3用户管理命令

3.1添加用户 useradd

语法: useradd [-u-d-c-g-G-s] 用户名
-u uid:手工指定用户的id号
-d 家目录:手动指定用户的家目录
-c 用户说明 :手工指定用户的说明
-g 组名 : 手工指定用户的初始组
-G 组名 :指定用户的附加组,加入多个组可用分隔符,来指定
-s shell 手工指定用户的登录shell,默认是/bin/bash
例如:useradd sc  默认会生成4个用户配置文件和2个用户管理文件
例如: useradd -u 550 -G root,bin -d /home/lamp1 -c "test user" -s /bin/bash sc
创建用户默认值文件/etc/default/useradd,/etc/login.defs
# useradd defaults file
GROUP=100              #用户默认组
HOME=/home             #用户家目录
INACTIVE=-1            #密码过期宽限天数
EXPIRE=                #密码失效时间
SHELL=/bin/bash        #默认shell
SKEL=/etc/skel         #模板目录
CREATE_MAIL_SPOOL=yes  #是否建立邮箱#etc/login.defs
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范围
UID_MAX                 60000  #最小和最大uid范围
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    #加密方式

3.2修改密码 passwd

语法:passwd [-S-l-u--stdin] 用户名
-S 查询用户密码的密码状态,root用户可用
-l 暂时锁定用户,root用户可用,其实是在/etc/shadow中的加密密码前增加了!!
-u 解锁用户,root用户可用,取消/etc/shadow中的加密密码前的!!
--stdin  可以用过管道符输出的数据作为用户的密码
例如: [root@MiWiFi-R3L-srv home]# passwd test  #root用户需要跟用户名
[localhost@MiWiFi-R3L-srv home]$ passwd   #修改自己直接passwd
echo "123" | passwd --stdin test  将123设置为test用户的密码

3.3修改用户信息usermod

参数等同useradd和passwd,唯一区别一个是操作新用户,而usermod是操作已经存在用户

3.4修改用户密码状态 chage

参数等同于/etc/shadow中的关键字段,略过

3.5删除用户 userdel

语法: userdel [-r]  用户名
-r 删除用户的同时删除用户家目录,等于删除了4个用户配置文件和2个用户管理文件

3.6查看用户

id 用户名

3.7查看用户环境变量

env

3.8用户切换su

语法: su [- -c] 用户名
-  代表连带用户的环境变量一起切换,推荐使用
-c 仅执行一次命令,而不是切换用户身份
例如: su -root -c "useradd user1"  临时调用root的权限添加一个用户user1

4用户组管理命令

1.添加组
groupadd [-g] 组名
-g GID 指定组ID2.修改组
group [-g-n] 组名
-g GID 修改组ID
-n 新组名
例如:group -n newtest test  3.删除组
groupdel 组名 #删除前注意组中不能有初始用户,附加用户无所谓4.把用户添加组或从组中删除
gpasswd [-a -d] 组名
-a 把用户加入组
-d 把用户从组删除
例如: gpasswd -a test root  #把test加入root
gpasswd -d test root  #把test从root删除