【Linux】用户和组

思考

使用useradd在Linux下面创建一个用户,默认情况下,会自动创建一个同名组,并且加入其中,那么是先创建用户呢?还是先创建组呢?
很简单,我们实践一下不就知道了,如下所示,可以看到我们执行了useradd后,日志中先创建了一个组,其次才创建用户,并且加入组。

[root@localhost ~]# useradd luobozi
[root@localhost ~]# cat /var/log/secure
Mar  7 10:50:56 localhost useradd[96767]: new group: name=luobozi, GID=1000
Mar  7 10:50:56 localhost useradd[96767]: new user: name=luobozi, UID=1000, GID=1000, home=/home/luobozi, shell=/bin/bash

如何手工创建一个用户?

手工创建一个kotonghitoli用户,组bondband,指定uid=3000,gid=3005,home=/home/gdyg,注释=“jp girl”,shell=/bin/bash

echo "kotonghitoli:x:3000:3005:jp girl:/home/gdyg:/bin/bash" >> /etc/passwd
echo "kotonghitoli:!!:20154:0:99999:7:::" >> /etc/shadow
echo "bondband:x:3005:" >> /etc/group
mkdir /home/gdyg
cp -v /etc/skel/.bash* /home/gdyg
touch /var/spool/mail/kotonghitolichown kotonghitoli:bondband  -R /home/gdyg  
chown kotonghitoli:mail /var/spool/mail/kotonghitoli
chmod 700 /home/gdyg/
chmod 600 /var/spool/mail/kotonghitoli[root@localhost home]# su - kotonghitoli
Last login: Fri Mar  7 14:53:06 CST 2025 on pts/0
[kotonghitoli@localhost ~]$ id
uid=3000(kotonghitoli) gid=3005(bondband) groups=3005(bondband)

用户(user)

用户的分类

  1. 超级用户:root uid=0
  2. 系统用户:一般是启动服务的用户 uid=201-999
  3. 普通用户:普通用户 uid=1000-60000
[root@localhost ~]# cat /etc/login.defs |grep -A 10 UID_MIN
UID_MIN                  1000
UID_MAX                 60000
# System accounts
SYS_UID_MIN               201
SYS_UID_MAX               999#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN                  1000
GID_MAX                 60000
# System accounts
SYS_GID_MIN               201
SYS_GID_MAX               999

命令介绍

useradd

id

w

userdel

passwd

chpasswd

su

usermod

last

lastlog

lastb

组(group)

命令

groupadd

groupdel

newgrp

groupmod

操作系统是如何区分不同用户的?

首先我们知道每个文件都有其对应的所有者、所属组、其它用户,这三个身份所能操作的权限rwx

如果我是luobozi用户,我使用 cat 命令去查看/var/log/secure文件,那么在操作系统底层发生了什么呢?

进程有pcb(进程控制块)+程序代码+产生的数据
进程控制块:pcb process control block 里面有进程信息,例如:pid、uid、gid 、状态、进程在内存里的地址等信息

用户和组的相关文件

和用户相关的文件

/etc/passwd 存放用户信息

[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

字段1:用户名
这是用户的登录名。例如,root 和 bin 都是用户名。
字段2:密码
通常是一个 x,表示密码存储在 /etc/shadow 文件中。如果这里是一个 * 或空,表示该用户不能登录。
字段3:用户ID (UID)
这是用户的唯一标识符。0 是 root 用户的 UID,其他用户的 UID 通常从 1000 开始。
字段4:组ID (GID)
这是用户所属的主组的唯一标识符。每个用户至少属于一个组。
字段5:用户信息
这是用户的描述信息,通常是用户的全名或其他注释信息。可以为空。
字段6:家目录
这是用户登录后的默认工作目录。例如,root 用户的家目录是 /root。
字段7:登录Shell
这是用户登录时使用的默认 Shell。例如,/bin/bash 是常见的交互式 Shell,而 /sbin/nologin 表示该用户不能登录系统。

存放密码信息

/etc/shadow

和组相关的文件

/etc/group

用户家目录

/home/

邮箱目录

/var/spool/mail/

定义了创建用户和组时的一些设置

/etc/login.defs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/71565.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新编大学应用英语综合教程2 U校园全套参考答案

全套答案获取: 链接:https://pan.quark.cn/s/389618f53143

SAP 顾问的五年职业规划

SAP 顾问的职业发展受到技术进步、企业需求变化和全球经济环境的影响,因此制定长远规划充满挑战。面对 SAP 产品路线图的不确定性,如向 S/4HANA 和 Business Technology Platform (BTP) 的转变,顾问必须具备灵活性,以保持竞争力和…

图像生成-ICCV2019-SinGAN: Learning a Generative Model from a Single Natural Image

图像生成-ICCV2019-SinGAN: Learning a Generative Model from a Single Natural Image 文章目录 图像生成-ICCV2019-SinGAN: Learning a Generative Model from a Single Natural Image主要创新点模型架构图生成器生成器源码 判别器判别器源码 损失函数需要源码讲解的私信我 S…

Networking Based ISAC Hardware Testbed and Performance Evaluation

文章目录 Applications and Challenges of Networked SensingCooperation Mechanism in Networked SensingChallenges and Key Enabling Technologies 5G NR Frame Structure Based ISAC ApproachSignals Available for Radio SensingMulti-Dimensiona Resource Optimization S…

2025年主流原型工具测评:墨刀、Axure、Figma、Sketch

2025年主流原型工具测评:墨刀、Axure、Figma、Sketch 要说2025年国内产品经理使用的主流原型设计工具,当然是墨刀、Axure、Figma和Sketch了,但是很多刚入行的产品经理不了解自己适合哪些工具,本文将从核心优势、局限短板、协作能…

我代表中国受邀在亚马逊云科技全球云计算大会re:Invent中技术演讲

大家好我是小李哥,本名叫李少奕,目前在一家金融行业公司担任首席云计算工程师。去年5月很荣幸在全球千万名开发者中被选为了全球亚马逊云科技认证技术专家(AWS Hero),是近10年来大陆地区仅有的第9名大陆专家。同时作为…

LeetCode 解题思路 12(Hot 100)

解题思路: 定义三个指针: prev(前驱节点)、current(当前节点)、nextNode(临时保存下一个节点)遍历链表: 每次将 current.next 指向 prev,移动指针直到 curre…

Ubuntu搭建最简单WEB服务器

安装apache2 sudo apt install apache2 检查状态 $ sudo systemctl status apache2 ● apache2.service - The Apache HTTP ServerLoaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>Active: active (running) since Thu 2025-03-06 09:51:10…

Linux 软硬链接

目录 软硬链接 软链接 硬链接 软硬链接的区别 硬链接场景 软连接场景 软硬链接 软链接 我们可以通过以下命令创建一个文件的软连接 ln -s mytest softlink-mytest 通过 ls -i -l 命令我们可以看到,软链接文件的inode号与源文件的inode号是不同的&#xff0c…

不同开发语言之for循环的用法、区别总结

一、Objective-C &#xff08;1&#xff09;标准的c风格 for (int i 0; i < 5; i) {NSLog("i %d", i); } &#xff08;2&#xff09;for in循环。 NSArray *array ["apple", "banana", "orange"]; for (NSString *fruit in …

计算机毕设-基于springboot的物业管理系统的设计与实现(附源码+lw+ppt+开题报告)

博主介绍&#xff1a;✌多个项目实战经验、多个大型网购商城开发经验、在某机构指导学员上千名、专注于本行业领域✌ 技术范围&#xff1a;Java实战项目、Python实战项目、微信小程序/安卓实战项目、爬虫大数据实战项目、Nodejs实战项目、PHP实战项目、.NET实战项目、Golang实战…

景联文科技:以精准数据标注赋能AI进化,构筑智能时代数据基石

在人工智能技术席卷全球的浪潮中&#xff0c;高质量数据已成为驱动AI模型进化的核心燃料。作为全球领先的AI数据服务解决方案提供商&#xff0c;景联文科技深耕数据标注领域多年&#xff0c;以技术为基、以专业为本&#xff0c;致力于为全球客户提供全场景、高精度、多模态的数…

批量合并 Word 文档,支持合并成一个 Word,也支持按文件夹合并

我们经常会碰到需要将多个 Word 文档批量合并成一个 Word 文档的场景&#xff0c;比如需要合并后打印、合并后方便整理存档等等。如果是人工的操作&#xff0c;会非常的麻烦。因此我们通常会借助一些批量处理脚本或者寻找批量处理的工具来帮我们实现批量合并 Word 文档的操作。…

数据安全基石:备份文件的重要性与自动化实践

在数字化时代&#xff0c;数据已成为企业和个人不可或缺的重要资产。无论是企业的运营数据、客户资料&#xff0c;还是个人的学习资料、家庭照片&#xff0c;这些数据都承载着巨大的价值。然而&#xff0c;数据的安全问题也日益凸显&#xff0c;硬件故障、软件错误、人为失误以…

用IdleHandler来性能优化及原理源码分析

背景&#xff1a; 经常在做一些app冷启动速度优化等性能优化工作时候&#xff0c;经常可能会发现有时候需要引入一些第三方sdk&#xff0c;或者库&#xff0c;这些库一般会要求我们在onCreate中进行初始化等&#xff0c;但是onCreate属于生命周期的回调方法&#xff0c;如果on…

SyntaxError: Invalid or unexpected token in JSON at position x

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 &#x1f35a; 蓝桥云课签约作者、…

04.基于C++实现多线程TCP服务器与客户端通信

基于C实现多线程TCP服务器与客户端通信 目录 一、项目背景与目标二、从零开始理解网络通信三、相关技术背景知识 1. 守护进程(Daemon Process)2. 线程池(Thread Pool)3. RAII设计模式 四、项目整体结构与逻辑五、核心模块详细分析 1. TCP服务器模块2. 线程池模块3. 任务处理模…

从0到1入门Linux

一、常用命令 ls 列出目录内容 cd切换目录mkdir创建新目录rm删除文件或目录cp复制文件或目录mv移动或重命名文件和目录cat查看文件内容grep在文件中查找指定字符串ps查看当前进程状态top查看内存kill终止进程df -h查看磁盘空间存储情况iotop -o直接查看比较高的磁盘读写程序up…

Nginx负载均衡配置详解:轻松实现高可用与高性能

在现代Web应用中&#xff0c;负载均衡是确保系统高可用性和高性能的关键技术之一。Nginx作为一款高性能的HTTP服务器和反向代理服务器&#xff0c;其负载均衡功能被广泛应用于各种场景。本文将详细介绍如何使用Nginx实现负载均衡配置&#xff0c;帮助开发者轻松应对高并发和大流…

使用chroot预安装软件到ubuntu22中

1、安装依赖 # 安装依赖工具 sudo apt update && sudo apt install -y \ squashfs-tools \ genisoimage \ xorriso \ isolinux \ syslinux-utils \ p7zip-full sudo apt update sudo apt install grub-pc-bin grub-efi-amd64-bin -y # 创建工作目录 mkdir -p ./custom-…