Linux下用户和组管理命令以及相关文件

用户查看和切换命令

查看“我是谁“

 whoami

Linux下用户和组管理命令以及相关文件
查看当前活动用户

 who

Linux下用户和组管理命令以及相关文件

查看当前用户的信息

 id 
 参数 -u	查看当前用户UID
	-g	查看当前用户GID
	-G	查看当前用户所有组

Linux下用户和组管理命令以及相关文件
切换当前用户

 su - 切换用户名称
	其中"-"的作用是切换用户时同时切换用户的工作环境;
	不加切换用户名时默认切换到root用户下
	利用su进行切换时尽量不超过三层,可能导致环境变量混乱

Linux下用户和组管理命令以及相关文件

用户以及组相关文件

/etc/passwd 用户信息文件
格式介绍

 kiosk	:	x	:	1000	:	1000	:	    :	/home/kiosk	:	/bin/bash
 用户名   用户密码      UID        GID      用户描述     用户家目录     用户默认shell	

/etc/group 用户组信息文件
格式介绍

 kiosk	:	x	:	1000	:
 组名称	  组密码 	 GID	   组内成员

/etc/shadow 用户密码相关文件

 sshd	:	!!	:	17985 :  :	:	:	:	:
 [1]        [2]      [3]  [4] [5] [6] [7] [8]  [9]

格式介绍

 [1]用户名称
 [2]用户密码:
 用户的加密字符串,默认用的加密方式为sha512对称加密,
 如果加密字符串前出现"!"那么用户被冻结
 [3]用户密码最后一次被更改的时间:
 此时间计算是从1970-1-1开始计算的累计天数
 [4]用户密码最短有效期:
 如果此位有设定数字,那么在此数字范围内的天数内是不能修改用户密码的
 [5]用户密码最长有效期:
 用户必须在此有效期内更新密码,如果超时会被冻结
 [6]密码警告期限:
 在过期前制定天数内会发送警告信息给用户
 [7]用户非活跃天数:
 此位默认为空,如果设定数值,那么在密码最长有效期过后仍然可以使用的天数
 [8]用户到期日:
 默认为空,表示帐号一定会被冻结的时间点
 [9]用户自定义列,目前没有启用

/etc/skel/.*
默认开启shell的配置,用户的骨文件

/home/username 普通用户家目录

/root 超级用户家目录

用户相关命令

添加用户

 useradd
 参数 	 -s	指定工作shell
	     -d	指定默认家目录
	     -u 指定用户UID
		 -g	指定用户所属组
		 -G 指定用户附加组
		 -c 指定用户描述内容
		 -M 不创建用户主文件夹

例:新建一个家目录为/home/time属于root组的且附加组为kiosk,描述内容为test,默认shell为csh的的用户student
Linux下用户和组管理命令以及相关文件
修改用户信息

 usermod
 参数 	 	 -l 修改用户名称l	
			 -s	修改工作shell
    	     -d	修改默认家目录
    		 -g	修改用户所属组
    		 -G 修改用户附加组
    		 -aG 增加用户附加组
    		 -md 修改用户家目录(原家目录修改名称)
    		  -c 修改用户描述内容
    		  -L 锁定用户在用户密码前加入“!”
			  -U 解锁用户,在密码不为空时使用

例:对student家目录改为/home/student(仍使用原家目录),默认shell改为bash,取消附加组kiosk
Linux下用户和组管理命令以及相关文件

删除用户

 userdel
 参数		 -r	 删除用户并清除用户相关配置

Linux下用户和组管理命令以及相关文件

用户组相关命令

添加用户组

 groupadd
 参数 	-g	指定用户组id

修改用户组信息

 groupmod -g 修改用户组id

删除用户组

 groupdel

例:建立用户组student,指定GID为500,后修改为200,并删除用户组
Linux下用户和组管理命令以及相关文件

帐号管理

passwd 修改密码(root用户可以指定用户进行修改)

注意:
普通用户改密码时
1.必须知道当前用户原始密码
2.密码不能和帐号名称相似
3.密码不能是纯数字或纯字母
4.密码不能是有序的字母和数字的组合

 参数 	-S 	查看westos用户密码信息
	    -l  锁定用户在用户密码前加入“!!”
	    -u	解锁用户 		
		-d  清空westos密密码
		-e  会改变用户最后一次更改密码时间为0 ->用户密码最后一次被更改的时间,需要立刻修改密码
		-n  用户在不能修改密码的时间 ->用户密码最短有效期
		-x  设定用户必须改密码的时间 ->用户密码最长有效期
		-w  密码过期前警告输出时间 ->密码警告期限
	 	-i  密码过期后仍可登陆系统的天数 ->用户非活跃天数

chage

 参数	-d	改变用户最后一次更改密码时间 ->用户密码最后一次被更改的时间
    	-m  用户在不能修改密码的时间->用户密码最短有效期
   		-M  设定用户必须改密码的时间 ->用户密码最长有效期
		-W  密码过期前警告输出时 ->密码警告期限
		-I  密码过期后仍可登陆系统的天数 ->用户非活跃天数
		-E 用户到期日"指定参数为yy-mm-dd格式"

例:利用passwd设定用户一天之内不能修改密码
例:利用chage设定用户两天之内不能修改密码
例:利用chage设定用户2019-10-05帐号到期
Linux下用户和组管理命令以及相关文件
例:锁定用户,解锁用户
Linux下用户和组管理命令以及相关文件

用户授权文件以及命令

相关文件为/etc/sudoers

该文件可以直接编辑

但是推荐使用visudo编辑此文件,因为visudo命令是提供语法检测的

修改格式(一百行左右,建议复制标准行进行修改)

 root 		  ALL=(ALL)       				ALL
 用户		主机名称=(得到的用户身份)				命令

例:赋予用户kiosk免密添加用户的权力
Linux下用户和组管理命令以及相关文件
Linux下用户和组管理命令以及相关文件