Linux第二次周总结
第三章 用户管理
3.1 用户/组概览
Linux系统是多用户、多任务的分时操作系统,系统上每一个进程都有一个特定的文件,每个文件都被一个特定的用户所拥有。每个用户都属于一个用户组或者多个组,系统可以对一个用户组中的所有用户进行集中管理。
3.1.1 用户标识:UID与GID
Linux系统并不能识别用户名信息,所以每个用户都有唯一的系统可识别的UID。id命令可以查看当前用户登录信息。UID为用户的ID,GID为用户所属组的ID,groups为用户所有组的ID。
3.1.2 用户/组相关文件
在Linux系统中,所有用户的用户名和密码都存放在/etc/passwd和/etc/shadow这两个文件中。在/etc/passwd文件中,一行记录对应一个用户,每行记录又被冒号分隔为七个字段,依次为用户名称、密码占位符、用户UID、主组GID、注释性描述、用户主目录、用户的Shell;在/etc/shadow文件中,每行记录也由冒号分隔为九个字段,依次为用户名称、加密后的密码、最近改动密码时间、密码不可变更时间、密码重新变更时间、密码过期时间、密码过期宽恕时间、用户失效时间、保留。
3.1.3 超级用户
root用户可以拥有所有系统权限,而且root用户有权力覆盖文件系统上的所有普通权限。系统中大多数设备只能由root控制,如安装或删除软件、管理系统文件和目录等。
3.2 管理用户/组
管理用户与用户组主要是创建、更改与删除等操作。
3.2.1 创建用户/组
使用useradd命令创建用户,不指定任何选项,然后使用grep命令过滤出该用户信息。如果在使用useradd命令时加入了错误的设置数据,或者要对一些信息进行详细的修改,除了直接在/etc/passwd和/etc/shadow这两个文件中修改,也可以使用usermod与gpasswd命令。一个用户可以属于很多组。用户组的信息保存在/etc/group文件中,上面创建的组在该文件的尾部,使用tail命令查看新创建组并没有成员。
3.2.2 删除用户/组
如果一个用户需要被删除,可以使用userdel命令,但若想同时在/home目录与mail spool中删除该用户,则需要添加“-r”参数。若用户已不存在,可以使用“rm-rf”手动删除。
删除一个用户组可以使用groupdel命令,如果某个初始用户正在使用该用户组,则无法删除,此时需要修改该用户的GID或者直接删除该用户。
3.2.3 修改用户密码
任何用户都可以通过passwd命令修改自己的密码,只有root用户可以修改其他用户的密码。普通用户修改密码需要提供原密码。
3.2.4 安全用户
在创建用户时,通过“-s”参数指定用户的登录Shell为/sbin/nologin,可以将其设置为安全用户。当指定某个用户的登录Shell为/sbin/nologin时,此用户无论通过本地还是远程登录的方式都将不能登录系统,也无法实现系统管理。该用户仍可以使用FTP和邮件服务者这种不需要登录系统的服务。因此,这样的用户一般称为安全用户。
3.2.5 配置文件
/etc/login.defs与/etc/default/useradd是命令useradd的配置文件,决定useradd创建用户默认的参数,文件的配置对root用户无效。打开/etc/login.defs文件,第15行为邮件目录,第25~28行为密码相关配置,第71行为密码相关配置。
3.2.6 su/sudo命令
su命令可以进行身份切换,普通用户切换至root用户需要密码,root用户切换至普通用户则不需要密码;加入wheel组的普通用户可以使用sudo命令来执行系统相关操作,用户使用sudo时,必须先输入密码,之后有5分钟的有效时间,超过时限则必须重新输入密码。
3.3 本章小结
本章首先介绍用户与用户组标识符的意义、用户的Shell作用以及如何对用户与用户组进行增、删、改、查等操作;
其次,讲解了如何设置在/etc/passwd和/etc/shadow这两个文件以及useradd的文件配置;最后,演示了用户如何使用su命令进行身份切换,普通用户如何使用sudo命令提权。
Linux第二次周总结的更多相关文章
- Linux第二次学习笔记
#Linux第二次实验(第三周) 学习目标 熟悉Linux系统下的开发环境 熟悉vi的基本操作 熟悉gcc编译器的基本原理 熟练使用gcc编译器的常用选项 熟练使用gdb调试技术 熟悉makefile ...
- 高手养成计划基础篇-Linux第二季
高手养成计划基础篇-Linux第二季 本文来源:i春秋社区-分享你的技术,为安全加点温度 前言 前面我们学习了文件处理命令和文件搜索命令,简单的了解了一下Linux,但是仅仅了解这样还不行,遇 ...
- Linux第五周学习总结——扒开系统调用的三层皮(下
Linux第五周学习总结--扒开系统调用的三层皮(下) 作者:刘浩晨 [原创作品转载请注明出处] <Linux内核分析>MOOC课程http://mooc.study.163.com/co ...
- Linux第六周学习总结——进程额管理和进程的创建
Linux第六周学习总结--进程额管理和进程的创建 作者:刘浩晨 [原创作品转载请注明出处] <Linux内核分析>MOOC课程http://mooc.study.163.com/cour ...
- Linux第七周学习总结——可执行程序的装载
Linux第七周学习总结--可执行程序的装载 作者:刘浩晨 [原创作品转载请注明出处] <Linux内核分析>MOOC课程http://mooc.study.163.com/course/ ...
- chattr - 修改文件在Linux第二扩展文件系统(E2fs)上的特有属性
SYNOPSIS(总览) chattr [ -RV ] [ -v version ] [ mode ] files... DESCRIPTION(描述) chattr 修改文件在Linux第二扩展文件 ...
- lsattr - 显示文件在Linux第二扩展文件系统上的特有属性
SYNOPSIS(总览) lsattr [ -RVadv ] [ files... ] DESCRIPTION(描述) lsattr 显示文件在Linux第二扩展文件系统上的特有属性 OPTIONS( ...
- Linux第二周学习总结——操作系统是如何工作的
第二周学习总结--操作系统是如何工作的 作者:刘浩晨 [原创作品转载请注明出处] <Linux内核分析>MOOC课程http://mooc.study.163.com/course/UST ...
- 20135316王剑桥 linux第二周课实验笔记
Linux中命令格式为: command [options选项] [arguments参数] //中括号代表是可选的,即有些命令不需要选项也不需要参数 ls或ls .显示是当前目录的内容,这里“.”就 ...
- 20135337朱荟潼 Linux第二周学习总结——操作系统是如何工作的
一.计算机是如何工作的--总结 三个法宝 存储程序计算机.函数调用堆栈.中断机制 二.堆栈 1.是c语言程序运行时必须的一个记录调用路径和参数的空间. 函数调用框架.传递参数.保存返回地址.提供局部变 ...
随机推荐
- tSNE算法在自然语言处理中的应用:文本降维和可视化
目录 技术原理及概念 t-SNE(Toeplitz-Stochastic Neural Network)是一种常用的文本降维和可视化算法,它的核心思想是将高维文本数据映射到低维空间,同时保持数据的一致 ...
- 计算机网络那些事之 MTU 篇
哈喽大家好,我是咸鱼 今天我们来聊聊计算机网络中的 MTU (Maximum Transmission Unit) 什么是 MTU ? MTU(Maximum Transmission Unit)是指 ...
- 项目完成小结:使用Blazor和gRPC开发大模型客户端
前言 先介绍下这个项目. 最近我一直在探索大语言模型,根据不同场景训练了好几个模型,为了让用户测试使用,需要开发前端. 这时候,用 Gradio 搭建的前端是不太够的,虽说 GitHub 上也有一堆开 ...
- [Spring+SpringMVC+Mybatis]框架学习笔记:前言_目录
下一章:[Spring+SpringMVC+Mybatis]框架学习笔记(一):SpringIOC概述 前言 本笔记用于记录本人(Steven)的SSM框架学习历程,仅用作学习.交流,不用于商业用途, ...
- 抽象语法树AST必知必会
1 介绍 AST 打开前端项目中的 package.json,会发现众多工具已经占据了我们开发日常的各个角落,例如 JavaScript 转译.CSS 预处理.代码压缩.ESLint.Prettier ...
- Centos7安装Python3.x
一.修改yum源 查看Centos发行版本 cat /etc/redhat-release 换阿里云yum源 备份原始yum源 mv /etc/yum.repos.d/CentOS-Base.repo ...
- 如何编写难以维护的React代码?——滥用useEffect
如何编写难以维护的React代码?--滥用useEffect 在许多项目中,我们经常会遇到一些难以维护的React代码.其中一种常见的情况是滥用useEffect钩子,特别是在处理衍生状态时.让我们来 ...
- 优化 Redis 集群缓存分配:解决节点间分配不均导致内存溢出问题
一.Redis 集群部署简介 在现代应用程序中,缓存被广泛应用以提高性能和减轻后端数据库的压力.本文将探讨面对 Redis 集群缓存分配不均问题时的解决方法. 我们的 Redis 集群部署包括 3 主 ...
- 《Linux基础》03. 运行级别 · 实用指令
@ 目录 1:运行级别 2:帮助指令 2.1:man 2.2:help 3:文件目录指令 3.1:pwd 3.2:ls 3.3:cd 3.4:mkdir 3.5:rmdir 3.6:touch 3.7 ...
- WPF学习 - 自定义窗体(二)
上一篇文章写了如何创建自定义窗体:使用 WindowChrome 或者 WindowStyle="None"这两种方式.本文将讲述如何设置窗体的效果(以阴影效果为例),以及在效果模 ...