这篇文章主要总结一下linux中用户相关的命令:
一、查询用户信息相关:
二、用户创建、删除相关:
三、用户密码相关
四、用户组相关
一、查询用户信息相关:
1. cat /etc/passwd 可以查看所有用户的列表
具体内容介绍 :分隔成7个部分
mstest-->用户名:代表用户账号的字符串。通常长度不超过8个字符,并且由大小写字母和/或数字组成。登录名中不能有冒号(:),因为冒号在这里是分隔符
x -->口令:一些系统中,存放着加密后的用户口令字;但基本上所有linux系统中把真正的加密后的用户口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特殊的字符,例如“x”或者“*”
501 -->用户标识号=用户ID(UID):是一个整数,系统内部用它来标识用户。一般情况下它与用户名是一一对应的;通常用户标识号的取值范围是0~65535。0是超级用户root的标识号,1~499:系统用户(伪用户)UID。这些UID是系统保留给系统用户的 UID,也就是说 UID在1~499范围内的用户是不能登录系统的,而是用来运行系统或服务的。
其中,1~99是系统保留的账号,系统自动创建;100~499是预留给用户创建账号的。500~65535:普通用户UID。建立的普通用户UID从500开始,最大到65535。
如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录Shell等
502 -->组标识号:字段记录的是用户所属的用户组,也就是这个用户的初始组的标志号。它对应着/etc/group文件中的一条记录
空 -->注释性描述:字段记录着用户的一些个人情况,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途。默认为空
/home/mstest -->主目录:用户的起始工作目录,它是用户在登录到系统之后所处的目录。在大多数系统中,各用户的主目录都被组织在同一个特定的目录下,而用户主目录的名称就是该用户的登录名
/bin/bash -->Shell就是Linux 的命令解释器。Linux 的标准 Shell 就是 /bin/bash。
2. w 可以查看当前活跃的用户列表
3. cat /etc/group 查看用户组
4. groups 查看当前登录用户的组内成员
5. groups 用户名 查看用户所在的组,以及组内成员
6. whoami 查看当前登录用户名
7. cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown 过滤一些不必要的信息
二、用户创建、删除相关:
useradd 用户名 -->仅能root创建用户
创建用户并且设置密码后查看用户信息
cat /etc/passwd | grep wei
cat /etc/shadow | grep wei
cat /etc/group | grep wei
cat /etc/gshadow | grep wei
userdel 用户名 -->仅能root删除用户 并不能删除该用户的所有信息,只是删除了/etc/passwd、/etc/shadow、/etc/group/、/etc/gshadow四个文件里的该账户和组的信息,如下图可以看出:
默认情况下创建一个用户账号,会创建一个家目录和一个用户邮箱(在/var/spool/mail目录以用户名命名)
userdel -r 用户名-->仅能root真正删除用户
(userdel不允许你移除正在线上的使用者帐号。你必须kill此帐号现在在系统上执行的程序才能进行帐号删除。)
三、用户密码相关
cat /etc/shadow -->普通用户是无权限查看密码文件的,这个是所有用户存储密码的文件
root用户修改密码(修改自己或者其他用户的);普通用户运行passwd只能修改它自己的密码。
passwd -->修改自己的密码
passwd 用户名 -->修改其他用户的密码
passwd -S 用户名 -->仅能root查询用户的密码状态
passwd -l 用户名 -->仅能root用户操作锁定用户不能更改密码(被锁定的用户无法自己改密码)
passwd -u 用户名 -->仅能root解除密码锁定
passwd -d 用户名 -->仅能root清除用户密码
四、用户组相关
用户组(Group)配置文件主要有 /etc/group和/etc/gshadow
将用户分组是Linux系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。
当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。
初始组和附加组的概念。
所谓初始组,指用户一登陆录就立刻拥有这个用户组的相关权限。每个用户的初始组只能有一个,一般就是将和这个用户的用户名相同的组名作为这个用户的初始组。
举例来说,我们手工添加用户A,在建立用户A的同时就会建立用户A的初始组A。
所谓附加组,指用户可以加入多个其他的用户组,并拥有这些组的权限。每个用户只能有一个初始组,除初始组要把用户再加入其他的用户组外,这些用户组就是这个用户的附加组。
附加组可以有多个,而且用户可以有这些附加组的权限。
举例来说,刚刚的用户除属于初始组A外,我又把它加入了B组,那么A用户同时属于A组、B组,其中A是初始组,B是附加组。