9. Linux用户身份和能力
root 拥有最高的系统所有权,能够管理系统的各项功能,如添加/删除用户、启动/关闭服务进程、开启/禁用硬件设备等。以root 管理员的身份工作时不会受到系统的限制
在Linux 系统中,UID 有唯一性,因此可通过用户的UID 值来判断用户身份。在Centos 7 系统中,用户身份有下面这些。
1)管理员 UID 为0:系统的管理员用户。
2)系统用户UID 为1~999: Linux 系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围。
3)普通用户 UID 从1000 开始:是由管理员创建的用于日常工作的用户。
管理员创建的普通用户的UID 默认是从1000开始的(即使前面有闲置的号码)。
在 Linux 系统中创建每个用户时,将自动创建一个与其同名的基本用户组,而且这个基本用户组只有该用户一个人。如果该用户以后被归纳入其他用户组,则这个其他用户组称之为扩展用户组。
一个用户只有一个基本用户组,但是可以有多个扩展用户组,从而满足日常的工作需要。
1.useradd:创建新的用户,格式为“useradd [选项] 用户名”。
使用该命令创建用户账户时,默认的用户家目录会被存放在/home 目录中,默认的Shell 解释器为/bin/bash,而且默认会创建一个与该用户同名的基本用户组。

一旦用户的解释器被设置为nologin,则代表该用户不能登录到系统中
举例:
[root@Centos ~]# useradd -d /home/xinghen1216 -u 1111 -s /sbin/nologin xinghen1216
2.groupadd:创建用户组,格式为“groupadd [选项] 群组名”。
举例:
[root@Centos ~]# groupadd yunwei
3.usermod :修改用户的属性,格式为“usermod [选项] 用户名”。
Linux 系统中的一切都是文件,因此在系统中创建用户也就是修改配置文件的过程。用户的信息保存在/etc/passwd 文件中,可以直接用文本编辑器来修改其中的用户参数项目,也可以用usermod 命令修改已经创建的用户信息,诸如用户的UID、基本/扩展用户组、默认终端等。

查看用户的默认信息
[root@Centos ~]# id root
uid=0(root) gid=0(root) groups=0(root)
[centos@Centos root]$ id
uid=1000(centos) gid=1000(centos) groups=1000(centos),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
将用户centos加入到root 用户组中,这样扩展组列表中则会出现root 用户组的字样,而基本组不会受到影响:
[root@Centos ~]# usermod -G root centos
[root@Centos ~]# id centos
uid=1000(centos) gid=1000(centos) groups=1000(centos),0(root)
4.passwd :修改用户密码、过期时间、认证信息等,格式为“passwd [选项] [用户名]”。
普通用户只能使用passwd 命令修改自身的系统密码,而root 管理员则有权限修改其他所有人的密码。root 管理员在Linux 系统中修改自己或他人的密码时不需要验证旧密码。root 管理员完全拥有普通用户的管理权限。

[root@Centos ~]# passwd
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@Centos ~]# passwd centos
Changing password for user centos.
New password:
Retype new password:
Sorry, passwords do not match.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@Centos ~]# passwd -l centos
Locking password for user centos.
passwd: Success
[root@Centos ~]# passwd -u centos
Unlocking password for user centos.
passwd: Success
[root@Centos ~]# passwd -S centos
centos PS 2020-08-12 0 99999 7 -1 (Password set, SHA512 crypt.)
[root@Centos ~]#
[root@Centos ~]# passwd -l centos
Locking password for user centos.
passwd: Success
[root@Centos ~]# passwd -S centos
centos LK 2020-08-12 0 99999 7 -1 (Password locked.)
使用passwd -l锁定用户后,仍可使用su - 用户名 登录
[root@Centos ~]# passwd -l centos
Locking password for user centos.
passwd: Success
[root@Centos ~]# su - centos
Last login: Wed Aug 12 15:49:00 CST 2020 on pts/2
5.userdel 命令用于删除用户,格式为“userdel [选项] 用户名”。
在执行删除操作时,该用户的家目录默认会保留下来,此时可以使用-r 参数将其删除。
-f 强制删除用户
-r 同时删除用户及用户家目录
[root@Centos ~]# id centos
uid=1000(centos) gid=1000(centos) groups=1000(centos)
[root@Centos ~]# userdel -r centos
[root@Centos ~]# id centos
id: centos: no such user
[root@Centos ~]# cd /home/
[root@Centos home]# ll
total 0
drwxr-xr-x. 2 root root 6 Aug 12 15:28 xinghen1216
9. Linux用户身份和能力的更多相关文章
- linux用户身份和文件权限
1.用户身份与能力 root管理员是linux 的超级用户,他拥有系统的所有权,能够管理系统的各项功能,如添加/删除用户,启动/关闭服务进程,开启/禁用硬件设备…… "Linux系统中的管理 ...
- Linux 用户身份与进程权限
在学习 Linux 系统权限相关的主题时,我们首先关注的基本都是文件的 ugo 权限.ugo 权限信息是文件的属性,它指明了用户与文件之间的关系.但是真正操作文件的却是进程,也就是说用户所拥有的文件访 ...
- Linux用户身份与文件权限学习笔记
用户身份 管理员UID为0:系统的管理员用户 系统用户UID为1~999:服务程序会有独立的系统用户负责运行:防止被黑客入侵进行提权,并有效控制被破坏的范围 普通用户UID从1000开始:是由管理员创 ...
- Linux用户身份(命令详解与补正)
基于Red Hat Enterprise Linux 7.5 Linux中的root就是存在于所有类UNIX系统中的超级用户,持有最高管理权限,能添加/删除用户.开关机.关闭或开启硬件或者系统服务等, ...
- linux用户身份与文件权限
用户 useradd [ 参数 ] 用户名 添加用户 sudo useradd -d /home/test -u 1001 -s /bin/bash name usermod [选项] 用户名 更改用 ...
- 二、Linux用户身份
0.介绍: 管理员UID为0:系统的管理员用户. 系统用户UID为1-999: Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控 ...
- LINUX用户身份切换
Su 命令作用 su的作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码. 使用方式 su [-fmp] [-c command] [-s shell] [--help] [--ver ...
- Linux学习之用户身份与文件权限
Linux学习之用户身份与文件权限 1 用户身份及能力 Linux系统的管理员之所以是root,并不是因为其名叫root,而是该用户身份号码数值(UID)为0. 管理员UID为0:系统的管理员用户 系 ...
- 《Linux就该这么学》培训笔记_ch05_用户身份与文件权限
<Linux就该这么学>培训笔记_ch05_用户身份与文件权限 文章最后会post上书本的笔记照片. 文章主要内容: 用户身份与能力 文件权限与归属 文件的特殊权限 文件的隐藏属性 文件访 ...
随机推荐
- Azure Service Bus(三)在 .NET Core Web 应用程序发送ServiceBus Queue
一,引言 在之前上一篇讲解到 Azure ServiceBus Queue 中,我们实地的演示了在控制台中如何操作ServiceBus Queue ,使用 Azure.Messgae.Service ...
- Android stdio使用时遇到的一些问题
(1)android stdio加载布局时 Exception raised during rendering: com/android/util/PropertiesMap ...
- MyArray框架搭建与实现
#include<iostream> using namespace std; template<class T> class MyArray { public: //构造函数 ...
- Java内存模型精讲
1.JAVA 的并发模型 共享内存模型 在共享内存的并发模型里面,线程之间共享程序的公共状态,线程之间通过读写内存中公共状态来进行隐式通信 该内存指的是主内存,实际上是物理内存的一小部分 2.JAVA ...
- 解析SwiftUI布局细节(三)地图的基本操作
前言 前面的几篇文章总结了怎样用 SwiftUI 搭建基本框架时候的一些注意点(和这篇文章在相同的分类里面,有需要了可以点进去看看),这篇文章要总结的东西是用地图数据处理结合来说的,通过这篇文章我们能 ...
- MySQL 中的WAL机制
本文主要概括的是 WAL 机制涉及的三种日志,具体与其他组件的联系.执行可查看 一条 sql 的执行过程详解 .MySQL中的事务原理和锁机制 . 是什么 WAL,全称是Write-Ahead Log ...
- ES6 Set.Map.Symbol数据结构
一.ES6 Set数据结构 ES6新推出了Set数据结构,它与数组很类似,Set内部的成员不允许重复,每一个值在Set中都是唯一的,如果有重复的值出现会自动去重(也可以理解为忽略掉),返回的是集合对象 ...
- TR2021_0000偶发数据库连接异常问题排查
[问题描述] 数据库连接异常是很难排查的一类问题.因为它牵涉到应用端,网络层和服务器端.任何一个组件异常,都会导致数据库连接失败.开发遇到数据库连接不上的问题,都会第一时间找DBA来协助查看,DBA除 ...
- Java的nanoTime()方法
java有两个获取和时间相关的秒数方法,一个是广泛使用的 System.currentTimeMillis() 返回的是从一个长整型结果,表示毫秒. 另一个是 System.nanoTime() 返回 ...
- 前端面试:Http协议与浏览器
Http与Https的区别 Http是明文传输的,Https协议是在Http协议上添加了SSL的加密协议,可以进行加密传输和身份验证. 其实就是说Http对网络传输完全是裸奔状态,也就没办法防范中间人 ...