一、概述

在linux中,根据系统管理的需要将用户账号分为不同的类型,其拥有的权限、担任的角色也各不相同,主要包括超级用户、普通用户和程序用户

超级用户:root用户是linux系统中默认的超级用户账号,对本主机拥有最高的权限,类似于Windows的administrator用户,只有当进行系统管理、维护任务时,才建议使用root用户登陆系统,日常事务处理建议只使用普通用户账号

普通用户:普通用户账号需要由root用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自己的宿主目录中拥有完整权限

程序用户:在安装linux系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登陆到系统,而仅用于维持系统或某个程序的正常运行,如bin、deamon、ftp等

二、用户管理

1、创建用户

用useradd命令创建用户

centos7怎么将之前的命令删除 centos7怎么删除用户_用户账号

centos7怎么将之前的命令删除 centos7怎么删除用户_centos7怎么将之前的命令删除_02

命令常用选项:

-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命令来删除用户

centos7怎么将之前的命令删除 centos7怎么删除用户_删除用户_03

命令常用选项:

-r 删除用户的时候连家目录一起删除,建议使用

3、管理用户

用usermod命名来管理用户信息

常用命令选项:

-u 修改UID

-d 修改家目录

-e 修改失效时间

-l 修改登陆名

-L 锁定用户,用户不能登录

-U 解锁用户

4、密码设置

用passwd命令来设置密码(交互模式),后面不跟用户名默认修改当前登陆用户的密码,如果不设置密码用户默认是不能登录的

centos7怎么将之前的命令删除 centos7怎么删除用户_linux 7.0删除用户_04

centos7怎么将之前的命令删除 centos7怎么删除用户_用户账号_05

centos7怎么将之前的命令删除 centos7怎么删除用户_用户账号_06

centos7怎么将之前的命令删除 centos7怎么删除用户_创建用户_07

centos7怎么将之前的命令删除 centos7怎么删除用户_用户账号_08

无交互模式:

echo “密码” | passwd --stdin 用户名

centos7怎么将之前的命令删除 centos7怎么删除用户_linux 7.0删除用户_09

常用命令选项:

-l 锁定用户

-u 解锁用户

-S 查看用户状态信息

-d 清空用户密码,不使用密码就可登陆

5、配置文件

关于用户账户有2个非常重要的文件

1. /etc/passwd

2. /etc/shadow 密码存储在这里

centos7怎么将之前的命令删除 centos7怎么删除用户_linux 7.0删除用户_10

centos7怎么将之前的命令删除 centos7怎么删除用户_用户账号_11

/etc/passwd文件解读:

centos7怎么将之前的命令删除 centos7怎么删除用户_创建用户_12

/etc/shadow文件解读:

centos7怎么将之前的命令删除 centos7怎么删除用户_linux 7.0删除用户_13

字段说明:

第1位:表示用户账号名称

第2位:表示加密过的密码,“!!”表示密码被锁定

第3位:表示最近更改密码的日期(从1970-1-1到今天一共过了多少天)

第4位:表示多少天之后可以更改密码,0表示不限制

第5位:表示多少天之后必须要更改密码,99999表示永不过期

第6位:表示密码过期之前提前几天警告(默认为7天)

第7位:表示密码过之后几天就禁用账号

第8位:表示账号失效时间

第9位:表示保留位

三、组管理

组账号:基本组+附加组

每个账号都有1个基本组和多个附加组

/etc/group最后一个字段显示组内成员

1、创建用户组

使用groupadd命令添加组账号

centos7怎么将之前的命令删除 centos7怎么删除用户_用户账号_14

centos7怎么将之前的命令删除 centos7怎么删除用户_创建用户_15

常用命令选项:

-g 指定GID

2、删除用户组

使用groupdel命令删除组账号

centos7怎么将之前的命令删除 centos7怎么删除用户_删除用户_16

3、编辑组成员

使用gpasswd命令来管理组成员,如添加、删除组成员

centos7怎么将之前的命令删除 centos7怎么删除用户_创建用户_17

centos7怎么将之前的命令删除 centos7怎么删除用户_用户账号_18

centos7怎么将之前的命令删除 centos7怎么删除用户_创建用户_19

centos7怎么将之前的命令删除 centos7怎么删除用户_删除用户_20

centos7怎么将之前的命令删除 centos7怎么删除用户_创建用户_21

centos7怎么将之前的命令删除 centos7怎么删除用户_用户账号_22

-a 添加组成员

-d 删除组成员

-M 一次添加多个组成员

groupmod -n new_group_name old_group_name #重命名一个用户组

centos7怎么将之前的命令删除 centos7怎么删除用户_删除用户_23

4、配置文件

组信息都存放在/etc/group 文件中:

centos7怎么将之前的命令删除 centos7怎么删除用户_linux 7.0删除用户_24

四、查询命令

id:查看账号信息(UID、GID)(一般用来检测该用户存不存在)

-u 只显示UID

-g 只显示GID

-n 显示名称

centos7怎么将之前的命令删除 centos7怎么删除用户_用户账号_25

centos7怎么将之前的命令删除 centos7怎么删除用户_linux 7.0删除用户_26

groups:查询账号所属的组

centos7怎么将之前的命令删除 centos7怎么删除用户_创建用户_27

finger:查询账号登陆信息

centos7怎么将之前的命令删除 centos7怎么删除用户_创建用户_28

w:查询当前主机用户登陆情况(信息最全,包括了登录的用户正在使用什么程序)

centos7怎么将之前的命令删除 centos7怎么删除用户_centos7怎么将之前的命令删除_29

who:显示当前主机每个终端的用户登陆情况(是w的简要版)

centos7怎么将之前的命令删除 centos7怎么删除用户_linux 7.0删除用户_30

whoami:只显示当前终端是谁在登陆使用

centos7怎么将之前的命令删除 centos7怎么删除用户_创建用户_31

users:显示正在登陆着的每个终端的用户

centos7怎么将之前的命令删除 centos7怎么删除用户_linux 7.0删除用户_32