一、概述
在linux中,根据系统管理的需要将用户账号分为不同的类型,其拥有的权限、担任的角色也各不相同,主要包括超级用户、普通用户和程序用户
超级用户:root用户是linux系统中默认的超级用户账号,对本主机拥有最高的权限,类似于Windows的administrator用户,只有当进行系统管理、维护任务时,才建议使用root用户登陆系统,日常事务处理建议只使用普通用户账号
普通用户:普通用户账号需要由root用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自己的宿主目录中拥有完整权限
程序用户:在安装linux系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登陆到系统,而仅用于维持系统或某个程序的正常运行,如bin、deamon、ftp等
二、用户管理
1、创建用户
用useradd命令创建用户
命令常用选项:
-d 指定家目录
-M 不指定家目录
-s 指定shell环境,不指定默认为/bin/bash,/sbin/nologin为不允许登陆系统
-e 指定账号失效时间 YYYY-MM-DD
-g 指定基本组,前提是组必须存在
-G 指定附加组,前提是组必须存在
-c 用户说明、描述
-u 指定用户的UID,普通用户1000-60000,程序用户1-999,root永远为0
2、删除用户
用userdel命令来删除用户
命令常用选项:
-r 删除用户的时候连家目录一起删除,建议使用
3、管理用户
用usermod命名来管理用户信息
常用命令选项:
-u 修改UID
-d 修改家目录
-e 修改失效时间
-l 修改登陆名
-L 锁定用户,用户不能登录
-U 解锁用户
4、密码设置
用passwd命令来设置密码(交互模式),后面不跟用户名默认修改当前登陆用户的密码,如果不设置密码用户默认是不能登录的
无交互模式:
echo “密码” | passwd --stdin 用户名
常用命令选项:
-l 锁定用户
-u 解锁用户
-S 查看用户状态信息
-d 清空用户密码,不使用密码就可登陆
5、配置文件
关于用户账户有2个非常重要的文件
1. /etc/passwd
2. /etc/shadow 密码存储在这里
/etc/passwd文件解读:
/etc/shadow文件解读:
字段说明:
第1位:表示用户账号名称
第2位:表示加密过的密码,“!!”表示密码被锁定
第3位:表示最近更改密码的日期(从1970-1-1到今天一共过了多少天)
第4位:表示多少天之后可以更改密码,0表示不限制
第5位:表示多少天之后必须要更改密码,99999表示永不过期
第6位:表示密码过期之前提前几天警告(默认为7天)
第7位:表示密码过之后几天就禁用账号
第8位:表示账号失效时间
第9位:表示保留位
三、组管理
组账号:基本组+附加组
每个账号都有1个基本组和多个附加组
/etc/group最后一个字段显示组内成员
1、创建用户组
使用groupadd命令添加组账号
常用命令选项:
-g 指定GID
2、删除用户组
使用groupdel命令删除组账号
3、编辑组成员
使用gpasswd命令来管理组成员,如添加、删除组成员
-a 添加组成员
-d 删除组成员
-M 一次添加多个组成员
groupmod -n new_group_name old_group_name #重命名一个用户组
4、配置文件
组信息都存放在/etc/group 文件中:
四、查询命令
id:查看账号信息(UID、GID)(一般用来检测该用户存不存在)
-u 只显示UID
-g 只显示GID
-n 显示名称
groups:查询账号所属的组
finger:查询账号登陆信息
w:查询当前主机用户登陆情况(信息最全,包括了登录的用户正在使用什么程序)
who:显示当前主机每个终端的用户登陆情况(是w的简要版)
whoami:只显示当前终端是谁在登陆使用
users:显示正在登陆着的每个终端的用户