Linux之用户和用户组用户账号系统文件
一、简介
1.用户的定义
在linux系统中用户(User)需要用用户账号来访问系统,服务和信息,系统中的每个进程(运行的程序)都是使用一个特定的用户运行。每个文件都属于一个特定的用户所有。对文件和目录的访问都会受到用户的限制。根据运行进程相关联的用户可确定该进程可访问的文件和目录
用户账户分类
1.超级用户(0):默认root 用户。通过它可以登录系统,可以操作系统中任何文件和命令,拥有最高的管理权限。在生产环境,一般禁止root账号远程登录SSH连接服务器,以加强系统安全
2.程序用户(1~499):与真实用户区分开来,这类用户的最大特点是安装系统后默认就会存在的,且默认情况不能登录系统,它们是系统正常运行必不可少的, 他们的存在主要是方便系统管理,满足相应的系统进程都文件属主的要求。
3.普通用户(500~65535):这类用户一般是由具备系统管理员root的权限的运维人员添加的。
2.用户组的定义
在Linux系统中用户组(group)是指将具有相同特征或特性的用户聚合在一起的机制。每个用户至少属于一个用户组,并且可以属于多个用户组。用户组的存在有助于管理和控制用户的访问权限。用户组可以通过定义权限来实现对文件或目录的访问控制,使得属于同一用户组的用户具有相同的权限。用户组之间的关系可以是多对一、一对多、多对多等,具体取决于用户和用户组之间的对应关系。
在linux中用户和用户组的信息通常存储在/etc/passwd和/etc/group文件中。/etc/passwd文件保存了系统中所有用户的基本信息,如用户名、用户ID(UID)、主目录、默认shell(血脚本)等。而/etc/group文件则保存了系统中所有用户组的信息,如组名、组ID(GID)、组成员等
二、用户管理命令
1.创建用户(useradd)
1.添加新的用户账号useradd 选项 用户名参数说明:选项:-c comment 指定一段注释性描述。-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录-g 用户组 指定用户所属的用户组。-G 用户组,用户组 指定用户所属的附加组。-s Shell文件 指定用户的登录Shell。-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。用户名:指定新账号的登录名示例1:useradd -d /home/sam -m sam2此命令创建了一个用户sam2,其中-d和-m选项用来为登录名sam2产生一个主目录/home/sam(/home为默认的用户主目录所在的父目录)示例2:useradd -s /bin/sh -g group -G adm,root gem此命令新建了一个用户gem,该用户的登录Shell是 /bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。这里可能新建组:#groupadd group及groupadd adm注1:增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow,/etc/group等。注2:Linux提供了集成的系统管理工具userconf,它可以用来对用户账号进行统一管理
2.删除用户(userdel)
删除账号:如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录userdel 选项 用户名常用的选项是 -r,它的作用是把用户的主目录一起删除示例1:userdel -r sam此命令删除用户sam再系统文件中(主要是/etc/passwd,/etc/shadow,/etc/group等)的记录,同时删除用户的主目录
3.修改用户(usermod)
修改账号修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、
用户组、登录Shell等usermod 选项 用户名常用的选项包括-c,-d,-m,-g,-G,-s,-u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。另外有些系统可以使用选项:-l 新用户名这个选项指定一个新的账号,即将原来的用户名改为新的用户名。示例1:usermod -s /bin/ksh -d /ome/z -g developer sam此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer
4.修改用户密码(passwd)
用户口令的管理passwd 选项 用户名可使用的选项:-l 锁定口令,即禁用账号。-u 口令解锁。-d 使账号无口令-f 强迫用户下次登录时修改口令。如果默认用户名,则修改当前用户的口令示例1:修改密码例如,假设当前用户时sam,则下面的命令修改改用户的自己的口令passwdOld password:*******New password:*******Re-enter new password:*******超级管理员,可以用下列形式指定任何用户的口令passwd samNew Password:******Re-enter new password:******注1:普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级管理员为用户指定口令时,就不需要知道原口令示例2:用户指定空口令时passwd -d sam此命令将用户 sam的口令删除,这样用户sam下一次登录时,系统就不再允许改用户登录了示例3:passwd 命令还可以用 -l(lock)选项锁定某一用户,使其不能登录,解锁用-u passwd -l sam
5.切换用户(su)
切换用户su username
6.退出
exit
logout
ctrl+d
三、用户组管理命令
1.创建用户组(groupadd)
增加一个用户组groupadd 选项 用户组选项有:-g GID 指定新用户的组标识号(GID)。-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。示例1:groupadd group1此命令向系统中增加了一个新组group1,新组的在组标识号是再当前已有的最大组标识号的基础上加1.示例2:groupadd -g 101 group2此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。
2.删除用户组(groupdel)
如果要删除一个已有的用户组,使用groupdel命令groupdel 用户组示例1:groupdel group1
3.修改用户组(groupmod)
修改用户组的属性groupmod 选项 用户组常用的选项有:-g GID 为用户组指定新的组标识号。-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。-n 新用户组 将用户组的名字改为新名字示例1:groupmod -g 102 group2此命令将组group2的组标识号修改为102示例2:groupmod -g 10000 -n group3 group2此命令将组group2的标识号改为10000,组名修改为group3
相关文章:
Linux之用户和用户组用户账号系统文件
一、简介 1.用户的定义 在linux系统中用户(User)需要用用户账号来访问系统,服务和信息,系统中的每个进程(运行的程序)都是使用一个特定的用户运行。每个文件都属于一个特定的用户所有。对文件和目录的访…...
ESP8266 (5),驱动屏幕
代码 第一步设置驱动库TFT_eSPI的默认配置文件 1,设置适配的屏幕 #define ST7789_DRIVER 2,设置屏幕大小 #define TFT_WIDTH 170 #define TFT_HEIGHT 320 3,设置屏幕驱动板端口和ESP8266对应的端口 // For NodeMCU - use pin numbers in the…...
ChatGPT-01 用ChatGPT指令,自学任何领域的系统知识
1. 指令位置 Github仓库:Mr Ranedeer AI Tutor 但是需要开通chatgtp plus版本,并且打开代码解释器 2 使用 学习内容 开始学习 GPT甚至可以给你思考题,给出的答案还能进行评价 配置 通过配置表修改 深度 学习风格 沟通风格 语气风格 …...
android studio模拟器不能打开
Andriod:The selected AVD is currently running in the Emulator. Please exit the emulator instance… 1.点击 2.删除下面文件 3.重新打开即可 参考...
设计模式学习笔记 - 面向对象 - 5.接口和抽象类的区别
简述 在面向对象编程中,抽象类和接口是常被用到的语法概念,是面向对象四大特性,以及很多设计模式、设计思想、设计原则实现的基础。它们之间的区别是什么?什么时候用接口?什么时候用抽象类?抽象类和接口存…...
PolarDN MISC做题笔记
cat flag 使用01打开flag.png,发现图片尾部有padding的数据。D0 CF 11 E0 A1 B1 1A E1为office2007以前版本的文件头。将其另存为flag.doc,打开发现提示需要密码。(可以注意到:D0CF11E0非常类似DOCFILE) 使用john的office2john.py 提取hash …...
Web安全之浅见
备注:这是我在2017年在自己的网站上写的文章,今天迁移过来。 昨天去参加了公司组织的一个关于网络安全的培训,了解了很多关于网络安全方面的知识,也才意识到网络安全是一项极其重要的领域。 本篇文章主要聊聊Web安全。不过我对于网…...
企业安全建设工具推荐
全自动化挖洞,助力企业安全建设,一键实现域名扫描、IP 发现、端口扫描、服务识别、网站识别、漏洞探测、分析发现、合规检查。 使用方式: 录入目标企业名称即可开始使用 技术细节: 第一步:通过企业主体关联企业备案…...
力扣(leetcode)第455题分发饼干(Python)
455.分发饼干 题目链接:455.分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i…...
隐私也要付费?Meta公司为收集用户数据再出“奇招”
Cybernews网站消息,有相关人士表示,如果欧洲数据保护委员会(EDPB)不明确指出Meta公司的“付费或同意”的模式违反了欧盟的隐私法规,那么这一模式很可能会被大规模复制,危及数百万欧洲公民的自由选择权。 自…...
Android14 InputManager-InputReader的处理
IMS启动时会调用InputReader.start()方法 InputReader.cpp status_t InputReader::start() {if (mThread) {return ALREADY_EXISTS;}mThread std::make_unique<InputThread>("InputReader", [this]() { loopOnce(); }, [this]() { mEventHub->wake(); });…...
web前端安全性——JSONP劫持
1、JSONP概念 JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。由于同源策略,协议IP端口有任意不同都会导致请求跨域,而HTML的script元素是一个例外。利用script元素的这个开放策略࿰…...
从零开始学HCIA之广域网技术03
1、LCP中包含的报文类型 (1)Configure-Request(配置请求),链路层协商过程中发送的第一个报文,该报文表明点对点双方开始进行链路层参数的协商。 (2) Configure-Ack(配置…...
AI推介-大语言模型LLMs论文速览(arXiv方向):2024.01.01-2024.01.10
1.Pre-trained Large Language Models for Financial Sentiment Analysis 标题:用于金融情感分析的预训练大型语言模型 author:Wei Luo, Dihong Gong date Time:2024-01-10 paper pdf:http://arxiv.org/pdf/2401.05215v1 摘要: 金融情感分析是指将金融文本内容划分…...
Redis降低内存占用(二)分片结构
一、分区方法: 分片,也称为分区。Redis提供了多种分区实现方案: 1、哈希分区 2、区间分区 3、一致性哈希分区 4、虚拟分区 5、LUA脚本实现分片 二、...
vue大文件读取部分内容,避免重复加载大文件,造成流量浪费
使用场景:项目点云地图是pcd文件,但是文件可能上百兆,我需要获取到文件中的版本信息,跟本地的缓存文件做比较,如果不一致,才会加载整个文件。从而节省流量。 避免重复加载整个“.pcd文件,以最大…...
5G网络RedCap
RedCap:RedCap(Reduced Capability),即“降低能力”。它是3GPP在5G R17阶段,针对速率、时延要求不高的5G应用场景,专门推出的一种新技术标准协议,旨在全面提升5G网络质量和覆盖率,也…...
vue+springboot登录与注册功能的实现
①首先写一个登录页面 <template> <div style"background-color: #42b983;display: flex;align-items: center;justify-content: center;height: 100vh"><div style"background-color: white;display: flex;width: 50%;height: 50%;overflow: h…...
数据结构D3作业
1. 2. 按位插入 void insert_pos(seq_p L,datatype num,int pos) { if(LNULL) { printf("入参为空,请检查\n"); return; } if(seq_full(L)1) { printf("表已满,不能插入\n"); …...
Spring框架@Autowired注解进行字段时,使用父类类型接收子类变量,可以注入成功吗?(@Autowired源码跟踪)
一、 前言 平常我们在使用spring框架开发项目过程中,会使用Autowired注解进行属性依赖注入,一般我们都是声明接口类型来接收接口实现变量,那么使用父类类型接收子类变量,可以注入成功吗?答案是肯定可以的!…...
一键生成黑苹果EFI配置:OpCore Simplify新手完全指南
一键生成黑苹果EFI配置:OpCore Simplify新手完全指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore Simplify是一款革命性的黑苹果…...
OpenMP vs C++ 线程池:到底该用谁?
在 C 多线程并行编程中,OpenMP 和线程池是最常用的两种方案。很多开发者都会陷入困惑:同样是实现多线程加速,到底该选 OpenMP 还是 C 线程池?有人觉得 OpenMP 一行代码就能并行,简单高效;也有人偏爱线程池的…...
三步打造高效办公效率工具:罗技鼠标宏自定义配置全场景适配指南
三步打造高效办公效率工具:罗技鼠标宏自定义配置全场景适配指南 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 在数字化办公环境中&…...
【毕业设计】SpringBoot+Vue+MySQL 兴顺物流管理系统平台源码+数据库+论文+部署文档
摘要 随着电子商务和全球贸易的快速发展,物流行业在现代经济体系中的重要性日益凸显。高效、智能的物流管理系统能够显著提升企业的运营效率,降低管理成本,并优化客户体验。然而,传统的物流管理方式仍存在信息孤岛、数据冗余、流程…...
HDMI接口电路设计避坑指南:TVS怎么选?阻抗如何调?这10条规则帮你一次过EMC
HDMI接口电路设计避坑指南:TVS怎么选?阻抗如何调?这10条规则帮你一次过EMC 当你在设计一款带有HDMI接口的产品时,是否遇到过这样的场景:明明按照常规思路完成了电路设计,却在EMC测试中屡屡碰壁?…...
Agent 帮不了你,不是因为它不够聪明
上一篇我们分析了 CLI vs MCP 的争论本质上是在讨论"管道",而真正缺的是"水龙头"。这篇继续往下挖:就算水龙头开了,你也大概率接不上。Agent 在现实中寸步难行的原因,比大多数人想的更结构化。 一个常见的许诺…...
3步颠覆直播保存方式:抖音直播下载神器让精彩内容永久留存
3步颠覆直播保存方式:抖音直播下载神器让精彩内容永久留存 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 你是否曾经为错过心仪主播的直播而惋惜?是否遇到过想要保存的直播内容在结束…...
企业数字化转型的核心基础设施:组织人事信息管理系统
去年某制造企业 HR 负责人跟我抱怨:公司 800 多人,每次调整组织架构都要改十几个 Excel 表格,员工调岗要手动更新 5 个系统的数据,光是核对信息就要花 3 天时间。这不是个例,很多企业的人事管理还停留在表格时代&#…...
10-红外接收探头电路设计实战指南
1. 红外接收探头基础入门 第一次接触红外接收探头时,我也被那一堆专业术语搞得晕头转向。其实这东西就像个"红外线翻译官",专门把遥控器发来的红外光信号转换成电信号。市面上常见的HS0038、LF0038L这些型号,本质上都是将光敏二极…...
金融数据清洗总出错?(Pandas+OpenBB+YFinance联合清洗框架首次公开)
第一章:金融数据清洗总出错?(PandasOpenBBYFinance联合清洗框架首次公开) 金融数据清洗常因缺失值、时区错位、字段命名不一致、多源数据时间对齐失败等问题导致回测失真或模型训练崩溃。传统单库处理方式难以兼顾实时性、标准化与…...
