Linux用户管理

一、Linux用户身份与能力

1、用 户与角色分类 

  1. 管理员UID为0:拥有对系统的最高管理权限,系统的管理员用户---root用户;
  2. 系统用户UID为1-999:Linux系统默认服务程序会有独立的系统用户负责运行,进而有效控制安全,也叫“伪”用户,这类用户最大的特点是不能登录系统,它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。例如系统默认的;
  3. 普通用户UID从1000开始:由管理员创建的用于日常工作的用户,只能对自己目录下的文件进行访问和修改,具有登录系统的权限。

2、用户与用户组关系

一对一:即一个用户可以存在一个组中,也可以是组中的唯一成员。
一对多:即一个用户可以存在多个用户组中。那么此用户具有多个组的共同权限。
多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限。
多对多:多个用户可以存在多个组中。其实就是上面三个对应关系的扩展。

3、用户和组相关的配置文件

/etc passwd 文件 :系统用户配置文件,是用户管理中最重要的一个文件。这个文件记录了 Linux 系统中每
个用户的一些基本属性,并且对所有用户可读。
/etc /shadow 文件 :用户影子文件,由于 etc passwd 文件是所有用户都可读的,这样就导致了用户的密
码容易出现泄露,因此, linux 将用户的密码信息从 etc passwd 中分离出来,单独的放到了一个文件中,
这个文件就是 etc /shadow ,该文件只有 root 用户拥有读权限。
/etc /group 文件 :用户组配置文件,用户组的所有信息都存放在此文件中。
/etc login.defs 文件 :用来定义创建一个用户时的默认设置,比如指定用户的 UID 和 GID 的范围,用户的过
期时间、是否需要创建用户主目录等等。
/etc / useradd 文件 :定义了新建用户的一些默认属性,比如用户的主目录、使用的 shell 等等,通
过更改此文件,可以改变创建新用户的默认属性值。
/etc skel 文件: 目录定义了新建用户在主目录下默认的配置文件,更改 etc skel 目录下的内容就可以改变
新建用户默认主目录的配置文件信息。

备注:

用户的信息主要保存在/etc/passwd中,其主要内容为:

 用户密码信息保存在/etc/shadow中,其主要内容为:

二、添加用户及用户组

2.1、useradd命令

作用:用于创建新的用户,且默认的用户家目录在/home目录下,默认的Shell解释器为/bin/bash,且默认会创建一个与用户名相同的基本用户组。

格式:useradd <选项> 用户名

选项:

参数

作用

-d

指定用户家目录

-e

账号到期时间,格式YYYY-MM-DD

-u

指定该用户的UID

-g

指定一个初始的用户组【必须已存在】

-G

指定一个或多个扩展用户组

-s

指定该用户的默认Shell解释器

-N

不创建与用户名相同的基本用户组

 备注:/sbin/nologin为Shell解释器,若设置为/sbin/nologin则用户无法登陆系统。

2.2、groupadd命令

作用:用于创建用户组;

格式:groupadd <选项> 组名

三、用户修改命令

3.1、usermod命令

作用:用于修改用户的属性。

格式:usermod <选项> 用户名

选项:

参数

作用

-md

即-d与-m合用重新指定新的家目录并将原数据移动到新的家目录

-e

账号到期时间,格式YYYY-MM-DD

-u

修改该用户的UID

-g

变更所属用户组

-G

变更扩展用户组

-s

修改Shell解释器

-L

锁定用户禁止其登陆系统

-U

解锁用户,允许其登陆系统

 

3.2、passwd命令

作用:修改用户的密码、过期时间、认证信息等。普通用户只能修改自己的密码,root用户可以修改其他用户的密码。

格式:passwd <选项> 用户名

选项:

参数

作用

-L

锁定用户禁止其登陆系统

-U

解锁用户,允许其登陆系统

--stdin

允许通过标准输入修改密码

-d

可以使用空密码登陆系统

-e

可以强制用户下次登陆时修改密码

-S

显示用户密码是否锁定,以及加密算法名称

备注:--stdin:可以使用echo "密码值" | passwd –stdin 用户名

3.3、userdel命令

作用:用于删除用户

格式:userdel <选项> 用户名

选项:

参数

作用

-f

强制删除用户

-r

同时删除用户及其家目录

 

3.4、groupdel命令

作用:删除用户组,若用户组存在用户删除会失败。

格式:groupdel <选项> 用户组

3.5、newgrp命令

作用:如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限,newgrp 主要用于在多个用户组之间进行切换。 

四、查看用户信息

4.1、id命令

作用:查看用户的基本信息,会打印出用户的UID及所属所有组(包括所属组及扩展组)的PID值。

格式:id 用户名 或直接使用id查看当前用户信息。

4.2、who命令

作用:用于查看当前登入主机的用户终端信息

格式:who

五、sudo使用说明

在进行sudo权限授权时只能用root用户进行授权,使用visudo进行编辑配置文件。

/etc sudoers 文件默 认给 root 用户定义了一条规则
root ALL=(ALL) ALL
root  表示 root 用户。
ALL  表示从任何的主机上都可以执行,也可以这样 192.168.100.0/24 。
(ALL)  是以谁的身份来执行, ALL 就代表 root 可以任何人的身份来执行命令。
ALL   表示任何命令。
那么整条规则就是:
      root 用户可以在任何主机以任何人的身份来执行所有的命令。
iivey 192.168.10.0/24=(root) / usr sbin useradd
上面的配置只允许iivey 在 192.168.10.0/24 网段上连接主机并且以 root 权限执行 useradd 命令。
www ALL=(root) NOPASSWD:ALL,!/usr / passwd [A Za z]*,!/ usr / passwd root,!/bin/ su
允许www 用户执行所有命令,除了 passwd 后加任意字符、 passwd root 和 su 这三类操作。
%wheel ALL=(ALL) ALL
centos7默认已经开放 %wheel 这一行,之前的 centos 版本没有启用。
%wheel ALL=(ALL) NOPASSWD:ALL
NOPASSWD: ALL 不输入密码执行任何命令

posted @ 2019-08-20 22:57  不言不弃  阅读(781)  评论(0编辑  收藏  举报