smyjs172lxy

用户管理

用户的基本概述

# 什么是用户?
能正常登陆系统的就是用户
linux是支持多用户同时登陆的
系统中有很多进程需要不同的用户进行管理

[root@lxy ~]# id #显示当前登录的用户信息
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@lxy ~]# id adm #显示其他用户的信息
uid=3(adm) gid=4(adm) groups=4(adm)

[root@lxy ~]# ps aux #不同的进程使用不同的用户启动和管理
USER       PID %CPU %MEM   VSZ   RSS TTY     STAT START   TIME COMMAND
root          1  0.0  0.3 128032  6648 ?       Ss   Nov28   3:28 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2  0.0  0.0      0     0 ?       S   Nov28   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?       S   Nov28   0:18 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?       S<   Nov28   0:00 [kworker/0:0H]
root          7  0.0  0.0      0     0 ?       S   Nov28   0:00 [migration/0]
root          8  0.0  0.0      0     0 ?       S   Nov28   0:00 [rcu_bh]
root          9  0.0  0.0      0     0 ?       R   Nov28   0:43 [rcu_sched]

用户的配置文件

[root@lxy ~]# head  -1  /etc/passwd			#存在用户的基本信息
root:x:0:0:root:/root:/bin/bash

以:为分隔符,分成7列

第一列:  root		#用户的名称  

第二列:  x			#密码的占位符

第三列:  0			#用户的UID

第四列:  0			#用户的组ID,GID

第五列:  root		#用户的注释信息

第六列:  /root		#用户的家目录

第七列;   /bin/bash  #用户的命令解释器   

/bin/bash  			#是可以登录系统,正常执行命令

/sbin/nologin  		#不能登录系统




[root@lxy ~]# head  -1  /etc/shadow    #存放用户的密码信息
root:$6$V9AwwqfvrAHzDuQo$zTpPusyj3Xbq3eOFe6bhhupTCAsJ8vVRodnPlPnMF.6/GNuuSqlF5J72IzDQh02ZOiFEFdxPnKe5OOKjd0sH5.::0:99999:7:::

以:号为分割符,分成9列

第一列:        #用户的名称

第二列:        #用户的密码,加密 ,* 或 !!  表示没有密码

第三列:17834	#表示用户的密码最近的一次修改时间,距离1970年1月1号过了多少天  

第四列: 0      #密码最小使用时间,0 没有限制

第五列:99999	#密码的最大有效期,最大的使用时间  

第六列:7		#密码到期后的警告时间

第七列:		#密码过期后的宽恕时间

第八列:		#账户的失效时间 

第九列:		#没有使用

系统跟用户的约定


0 #超级管理员的用户的UID,root
1-200 #系统用户,这些用户是系统创建好的,用于管理系统的进程或者程序
201-999 #系统用户,用户自己用来管理程序或进程的,系统用户是不能登录系统
1000+ #普通用户 60000   2的16次方   65535

用户的相关命令

id   			#查看用户的id信息

[root@lxy ~]# id		#查看当前登录的用户
uid=0(root) gid=0(root) groups=0(root)
[root@lxy ~]# id test	#查看指定的用户信息
uid=1000(test) gid=1000(test) groups=1000(test)



useradd			#创建用户,默认创建的是普通用户

[root@lxy ~]# ll  /usr/sbin/adduser		
lrwxrwxrwx. 1 root root 7 Nov 26 20:23 /usr/sbin/adduser -> useradd

选项:

	-u		#指定用户的UID
	-g		#指定用户组,写组名或者组的ID,基本组
	-G		#指定附加组,多个使用逗号分隔
	-c		#添加注释信息
	-r		#创建系统用户,不创建家目录
	-M		#不创建家目录
	-d		#指定家目录的位置,目录要是不存在
	-s		#指定用户的命令解释器


[root@lxy ~]# id user01		#默认创建普通的用户
uid=1001(user01) gid=1001(user01) groups=1001(user01)
[root@lxy ~]# grep  \'user01\'  /etc/passwd
user01:x:1001:1001::/home/user01:/bin/bash


[root@lxy ~]# useradd   -u888  -c "测试用户"  -d  /opt/user02  user02
[root@lxy ~]# id user02
uid=888(user02) gid=1002(user02) groups=1002(user02)
[root@lxy ~]# grep  \'user02\'  /etc/passwd
user02:x:888:1002:测试用户:/opt/user02:/bin/bash
[root@lxy ~]# ll /opt/
drwx------. 2 user02 user02         62 Dec 12 18:36 user02

[root@lxy ~]# useradd  -r  -s  /sbin/nologin  user04
[root@lxy ~]# grep  \'user04\'  /etc/passwd
user04:x:664:663::/home/user04:/sbin/nologin
[root@lxy ~]# ll /home/
total 0
drwx------. 2 test   test   62 Nov 27 19:57 test
drwx------. 2 user01 user01 62 Dec 12 18:29 user01


[root@lxy ~]# useradd   -M  -s  /sbin/nologin  user05
[root@lxy ~]# ll /home/
total 0
drwx------. 2 test   test   62 Nov 27 19:57 test
drwx------. 2 user01 user01 62 Dec 12 18:29 user01
[root@lxy ~]# grep  \'user05\'  /etc/passwd
user05:x:2000:2000::/home/user05:/sbin/nologin


usermod			#修改用户

选项:

		-u		#修改uid信息
		-g		#修改基本组的id,GID
		-a		#添加附加组,不能单独添加,-G配合
		-G		#修改附加组,会将附加组的覆盖  
		-aG		#追加
		-m		#迁移家目录
		-d		#修改家目录
		-c		#修改注释信息
		-s		#修改命令解释器
		-l		#修改用户的名称
		-L		#锁定用户
		-U 		#解锁用户
	

[root@lxy ~]# usermod   -u1010   -c  "test"  -s /bin/bash  user05  
[root@lxy ~]# grep  \'user05\'  /etc/passwd
user05:x:1010:2000:test:/home/user05:/bin/bash
[root@lxy ~]# usermod   -md  /home/user02   user02
[root@lxy ~]# ll /home/
total 0
drwx------. 2 test   test   62 Nov 27 19:57 test
drwx------. 2 user01 user01 62 Dec 12 18:29 user01
drwx------. 2 user02 user02 62 Dec 12 18:36 user02


[root@lxy ~]# usermod   -l  oldboy   user05		#修改名称
[root@lxy ~]# id user05
id: user05: no such user
[root@lxy ~]# id oldboy
uid=1010(oldboy) gid=2000(user05) groups=2000(user05)
[root@lxy ~]# grep  \'oldboy\'  /etc/passwd
oldboy:x:1010:2000:test:/home/user05:/bin/bash


[root@lxy ~]# usermod    -L  test		#锁定用户
[root@lxy ~]# usermod    -U  test		#解锁用户



userdel			#删除用户

选项:

	-r		#删除用户的家目录及邮件信息


[root@lxy ~]# userdel  user02	#默认不删除家目录和邮件信息
[root@lxy ~]# grep  \'user02\'  /etc/passwd
[root@lxy ~]# id user02
id: user02: no such user
[root@lxy ~]# ll  /home/
total 0
drwx------. 2 test   test   62 Nov 27 19:57 test
drwx------. 2 user01 user01 62 Dec 12 18:29 user01
drwx------. 2    888   1002 62 Dec 12 18:36 user02

[root@lxy ~]# userdel   -r   user01		#删除跟用户相关的所有信息
[root@lxy ~]# ll  /home/
total 0
drwx------. 2 test test 62 Nov 27 19:57 test
drwx------. 2  888 1002 62 Dec 12 18:36 user02


 

用户的扩展知识

#用户创建的过程相关的文件
[root@lxy ~]# ll /etc/login.defs
-rw-r--r--. 1 root root 2028 Oct 30  2018 /etc/login.defs

[root@lxy ~]# grep -Ev \'^$|^#\'   /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 #系统用户的最小UID
SYS_UID_MAX               999 #系统用户的最大UID
GID_MIN                  1000 #普通组的最小GID
GID_MAX                 60000 #普通组的最大GID
SYS_GID_MIN               201 #系统组的最小GID
SYS_GID_MAX               999 #系统组的最大GID
CREATE_HOME yes   #默认是否创建家目录 ,默认创建家目录
UMASK           077 #家目录的权限控制
USERGROUPS_ENAB yes #创建用户时,没有指定组,会默认创建一个跟组名相同的组,删除时默认也会一起删除
ENCRYPT_METHOD SHA512 #加密方式,加密的算法




[root@lxy ~]# ll /etc/default/useradd
-rw-r--r--. 1 root root 119 Oct 30  2018 /etc/default/useradd

[root@lxy ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100 #当USERGROUPS_ENAB这个值是no的时候,使用此选项
HOME=/home #普通用户的家目录的位置
INACTIVE=-1 #是否启用过期停权 -1 不启用
EXPIRE= #账号的过期时间,不设置表示不启用
SHELL=/bin/bash #默认创建用户的命令解释器
SKEL=/etc/skel #用户家目录的模板目录
CREATE_MAIL_SPOOL=yes #创建用户时,是否创建邮箱


[root@lxy ~]# useradd   user07
[root@lxy ~]# id user07
uid=2001(user07) gid=100(users) groups=100(users)

#用户的故障  

bash-4.2$ #用户的家目录的环境变量配置文件没有了。

bash-4.2$ cp  -a /etc/skel/.bash* ./ #从模板目录中拷贝文件
bash-4.2$
bash-4.2$
bash-4.2$ bash
[user06@lxy ~]$

[root@lxy ~]# ll /etc/skel/ -a
total 24
drwxr-xr-x.  2 root root   62 Apr 11  2018 .
drwxr-xr-x. 81 root root

分类:

技术点:

相关文章:

  • 2021-07-14
  • 2022-12-23
  • 2021-11-25
  • 2021-08-30
  • 2021-09-18
  • 2021-12-13
  • 2021-12-13
猜你喜欢
  • 2021-09-13
  • 2021-07-07
  • 2021-09-10
  • 2022-12-23
  • 2021-05-21
  • 2021-12-13
  • 2021-12-26
相关资源
相似解决方案