一、用户与组概述
Linux系统下的每一个目录、文件,都会有其属于的用户和用户组,我们称其为属主和属组。在Linux系统中,每个用户都有自己的用户ID,称为UID,每个用户组也有自己的用户组ID,称为GID,UID和GID在Linux系统中是不可重复的。Linux系统就是通过UID和GID来对用户和组进行管理的,而对于管理员来说,往往会设置用户名和组名,这样使得用户和用户组的使用管理更人性化。
1.1、用户类型
1、root用户
root用户时UID和GID都等于0的用户,在Linux中拥有最大的权限。无视Linux对权限的设置而强行读、写、执行文件,切换其他用户登录不需要密码,可以强行切换到已经存在的用户,只有root可以为普通用户修改密码等等。
2、系统用户(程序用户)
系统用户通常用于运行服务,但是此用户无家目录,也不能用于登录系统。
3、普通用户
普通用户只能由root用户创建,该用户拥有家目录,并且可以登录,该用户的权限由root分配。普通用户拥有指定的shell环境,UID范围:1000-65535。
1.2、用户和用户组关系
在Linux系统中,每个用户必定属于一个主组(基本组),默认情况下属于与其同名的用户组,最多可以有31个附属组(附加组),从用户权限的角度看,主组和附属组其实差别不大,用户也会拥有其附属组的组相关权限。
1.3、用户和用户组配置文件
Linux主要配置文件
1、/etc/passwd/
存储用户信息
2、/etc/shadow/
保存了用户的密码信息
!!表示该用户没有设置密码
!表示用户密码被锁定,改用户无法登录操作系统
3、/etc/group/
保存了用户组的信息
4、/etc/gshadow/
保存了用户组的密码。
/etc/login.defs
该文件可以设置密码过期时间,密码最大长度限制等内容。影响的是新创建的用户密码信息。
/etc/skel目录
用户创建时默认文件的模板目录
二、用户管理
2.1、useradd命令
创建一个新用户或更新默认新用户信息
语法:useradd [选项] [用户名]

创建程序用户:
useradd -M -s /sbin/nologin user1
2.2、userdel命令
删除用户账户和相关文件
语法:userdel -r [用户名]
2.3、passwd命令
更改用户的密码。root用户使用时,可以更改所有用户的密码。普通用户使用时,只能更改本身的密码。

非交互式修改用户密码:
echo [密码] | passwd --stdin [用户名]
2.4、usermod命令
修改一个用户账户的属性
语法:usermod [选项] [用户名]

2.5、chpasswd命令
批量更新密码
语法:#创建用户密码的文本文件
vim chpasswd.txt
user1:123456
user2:123456
user3:123456
#修改密码
cat chpasswd.txt | chpasswd
2.6、chage命令
更改用户密码过期信息
语法:chage [选项] [用户名]

结语
欢迎大家交流指正。

被折叠的 条评论
为什么被折叠?



