Linux入门五:如何在Linux中进行用户管理

一. 用户管理      

         在我们系统中底层安全架构是由3A机制组成,即为身份(account)、授权(author)、认证(auther)。在linux中一般将系统中可读写的身份分为文件拥有者(owner),用户组(group),其他人(other)三种身份。由于Linux系统是一个多人多任务的系统,因此常常会有多人同时使用这台主机来进行操作,考虑到每个人的隐私和喜好设置了文件拥有者的角色,为了进行协同工作设置了用户组。还有一个特殊的身份,那就是系统的root用户,在linux中root用户就是“万能的天神”。  

       从更加深入的角度来进行理解,用户存在的意义主要是进行资源分配,在linux中可以通过查看/etc/passwd来查看用户信息,用户在系统中的唯一标识是UID。而用户组是一个逻辑容器,用来对用户进行归类和统一授权,每个用户的用户组分为初始组(不能由自身决定)和附加组(可由自身决定)两大类。

useradd命令   建立用户,在linux中,UID(16位二进制表示)为0表示为超级用户,UID为1-200 为系统预留ID,UID为201-999的用户为系统用户,UID为1000-65535​​​为用户级用户。

useradd username		             ##建立用户
useradd -u id username		         ##建立指定uid的用户	
useradd -g id username		         ##建立指定主组id的用户(此时该主组必须存在)
useradd -G id username		         ##建立指定附加组id的用户
useradd -d dir username		         ##建立指定用户家目录的用户
useradd -M username		             ##建立用户时不建立家目录
useradd -c word username	         ##建立指定用户说明的用户
useradd -s shell username	         ##建立用指定shell的用户

userdel命令  删除用户

userdel -r username		        ##用户删除,删除身份且删除系统配置文件
userdel  username		        ##用户删除,只删除身份,未删除系统配置文件

groupadd命令 建立用户组

groupadd groupname		                   ##建立用户组
groupadd -g id groupname		           ##建立指定组名称的用户组

groupdel命令 删除用户组

groupdel groupname		         ##删除组

 usermod命令  修改用户信息

usermod -l	                          ##更改用户名称
usermod -u	                          ##更改用户id
usermod -g	                          ##更改主组id
usermod -G	                          ##更改用户附加组身份,会删除此前的所有附加组身份  
		                               (如果要删除附加组身份,则可以添加“”空符号串)
usermod -aG                      	  ##添加用户附加组身份
usermod -c	                          ##更改用户说明
		                               (删除用户说明,则添加“”空符号串)
usermod -d	                          ##更改家目录指向
		                               (没有改变家目录名称,此时的家目录指向不一定存在)
usermod -md                        	  ##更改家目录指向和家目录名称
		                               (使用时保证家目录指向与名称一致)
usermod -s	                          ##更改默认shell;/sbin/nologin 则变成高级用户
usermod -L	                          ##冻结账号	状态为!+密码的加密显示
usermod	-U	                          ##解锁  解锁时账号必须有密码才能解锁
		                            

二. 用户涉及到的系统配置文件

/etc/passwd

用户身份信息文件

格式为:用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录

/home/username用户家目录
/etc/group

组身份信息文件

格式为:组名称:组密码:组id:组的附加成员

/etc/skel用户环境配置文件模板
/etc/shadow

用户认证信息文件

每行格式为:用户名称:用户密码的加密字符:用户密码最后一次被修改的时间(从1970年1月1日开始算起):密码最短有效期;密码最长有效期;密码过期前警告期:账号非活跃期(强制改密码):账号到期时间(从1970年1月1日开始算起):用户自定义(未使用)

/var/spool/mail/username用户邮箱文件

用户认证信息管理命令

passwd命令 

passwd -S lee		          ##查看密码状态
			                 (LK---冻结状态,加密方式为SHA512对称加密;PS---解锁状态)
passwd lee                    ##更改密码
passwd			              ##普通正在操作的用户密码
passwd -l lee		          ##冻结账号认证(有密码时才能锁住)
passwd -u lee		          ##解冻账号认证
passwd -d lee		          ##删除密码,有密码时才能删除
passwd -e lee		          ##修改默认使用时间为0(不可加数字)
passwd -n 1 lee		          ##lee在一天内不能改密码
passwd -x 40 lee	          ##40天内lee必须更新密码都则会被冻结
passwd -w 2 lee		          ##账号过期警告时间
passwd -i 2 lee		          ##账号认证最大时间超过后还能用多久(-1天即0)

chage命令  改变用户某些信息

chage -d 0 lee		          ##账号必须改密码才能登录系统
chage -m 1 lee                ##lee在一天内不能改密码
chage -M 30 lee	              ##30天内lee必须更新密码都则会被冻结
chage -W 1 lee	              ##账号过期警告时间
chage -I 1 lee                ##账号认证最大时间超过后还能用多久(-1天即0)
chage -E '2020-05-22"	      ##账号到2020-05-22这天账号会被冻结(形式为1970-1-1算起的第n天)

做个实验练习一下吧

1、建立用户组shengchan,caiwu,jishu并满足以下要求:
*shengchan组id为8000
*caiwu组id为8001
*jishu组id为8002

2、建立westoslee,lee等用户并完成以下要求:
*westoslee用户的附加组为shengchan和caiwu
*lee的主组为caiwu,附加组为jishu,lee的uid和gid必须一致

3、
*以上用户密码均为westoslee,并要求用户首次登录时强制修改密码
*设定以上用户密码必须在30天内进行修改,并在过期前2天发出警告

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值