Linux:详解 用户,用户组的解释创建等。

article/2025/10/3 7:02:32

文章目录

  • Linux中用户和组的类型
    • 1、Linux下的用户可以分为三类
    • 2、Linux中的组有以下两类
    • 3、Linux中用户和用户组的配置文件
      • (1)用户账号文件——/etc/passwdpasswd
      • (2)用户密码文件——/etc/shadow
      • (3)用户组账号文件——/etc/group
  • 用户管理
    • 添加用户
    • 修改用户信息---usermod命令
    • 为用户账号设置密码—passwd命令
    • 删除用户账号—userdel命令
    • 用户间切换—su(substitute user)命令
    • 控制用户对系统命令的使用权限
  • 用户组管理
    • 创建用户组
    • 修改用户组属性
    • 添加/删除组成员
    • 删除组账户
  • 查询用户和组信息
  • 查看用户登录系统的情况
    • 1,users,查看当前登录系统的用户
    • 2,,last:列出目前与过去登入系统的用户相关信息
    • 4、w:显示登录到系统的用户信息。
    • 5、who:显示目前登录到系统的用户

Linux中用户和组的类型

1、Linux下的用户可以分为三类

超级用户——用户名为root,它具有一切权限,只有进行系统维护(例如:建立用户等)或其他必要情形下才用超级用户登录,以避免系统出现安全问题。

系统用户(伪用户)——是Linux系统正常工作所必需的用户。主要是为了满足相应的系统进程对文件属主的要求而建立的,例如:bin、daemon、adm、lp等用户。系统用户不能用来登录。

普通用户——是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。

2、Linux中的组有以下两类

基本组(私有组):建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组。附加组(公有组):可以容纳多个用户,组中的用户都具有组所拥有的权利。

3、Linux中用户和用户组的配置文件

在Linux中,用户账号、密码、用户组信息和用户组密码均是存放在不同的配置文件中的。

在这里插入图片描述

(1)用户账号文件——/etc/passwdpasswd

是一个文本文件,用于定义系统的用户账号,由于所有用户都对passwd有读权限,所以该文件中只定义用户账号,而不保存口令。

如下命令可以查看用户账号文件

[root@node13 ~]# head -1 /etc/passwd        head命令显示第一行
root:x:0:0:root:/root:/bin/bash

上面输出的结果是用户的账号信息,以 隔离,有7个字段,对于字段的解释如下:

第一个字段:
账号名称:用户登录Linux系统时使用的名称。

第二个:
密码:以前是以加密格式保存密码的位置,此处只是密码占位符“x”或“*”。若为“x”,说明密码经过了shadow的保护。

第三个:
UID:用户的标识,是一个数值,用它来区分不同的用户,每个用户都有一个UID数值:

 超级用户的UID——0 系统用户的UID——1~999 普通用户的UID——≥1000

第四个:
GID:用户所在基本组的标识,是一个数值,用它来区分不同的组,相同的组具有相同的GID。

第五个:
个人资料:可以记录用户的完整姓名、地址、办公室电话、家庭电话等个人信息。

第六个:
主目录:类似Windows 的个人目录,通常是/home/username,这里username是用户名,用户执行“cd~”命令时当前目录会切换到个人主目录。

第七个:
Shell:定义用户登录后激活的Shell,默认是Bash Shell

(2)用户密码文件——/etc/shadow

如下命令查看字段:

[root@node13 ~]# head -1 /etc/shadow
root:$6$3EZ8vA1hgB3VTWb0$IlamoUyDh1RS.wftgz4qj0kmVrka7Yi6SgIo1aM6eu8nbFM9haOVRTtNDDfkix8MCugx8p8lufmItgsOsu1rl1:19083:0:99999:7:::

可以知道有9个字段,含义分别如下:

在这里插入图片描述

(3)用户组账号文件——/etc/group

系统中的每个组,在/etc/group文件中有一行记录,任何用户均可以读取用户组账户信息配置文件。

字段依次说明:
在这里插入图片描述

用户管理

添加用户

命令格式: useradd [选项] <username>

常用选项如下:
在这里插入图片描述
示例1:新建一个用户zhang3,查看passwd、shadow文件中的变化,并确认该用户的家目录中的初始配置文件。

[root@localhost ~]# useradd zhang3
[root@localhost ~]# tail -1 /etc/passwd
zhang3:x:1001:1001::/home/zhang3:/bin/bash
[root@localhost ~]# tail -1 /etc/shadow
zhang3:!!:16925:0:99999:7:::       //注意密码字段的内容为“!!”,表示密码尚未设置
[root@localhost ~]# ls -ld /home/zhang3
drwx------. 3 zhang3 zhang3 74 11月   4 15:58 /home/zhang3
[root@localhost ~]# ls -A /home/zhang3
.bash_logout .bash_profile .bashrc .mozilla

注意密码字段的内容为“!!”,表示密码尚未设置

示例2:新建一个用户wang5,指定其UID为1005、登录Shell为/bin/bash,账号永不过期
命令如下:

[root@localhost ~]# useradd -u 1005 -s /bin/bash -e -1 wang5

修改用户信息—usermod命令

命令格式:usermod [选项] username

常用的选项包括 -c,-d,-m,-g,-G,-s,-u 等,
这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
另外,还可以使用如下选项:

 -l 新用户名—更改账户的名称,必须在该用户未登录的情况下才能使用。-L—锁定(暂停)用户账户,使其不能登录使用。-U—解锁用户账户。

示例:将用户wang5的名称修改为wangwu,并暂停使用该账号。

[root@localhost ~]# usermod -l wangwu -L wang5

为用户账号设置密码—passwd命令

Linux的账户必须设置密码后,才能登录系统

命令格式:passwd [账户名]

常用选项:

在这里插入图片描述
示例1:修改wangwu密码

[root@localhost ~]#  passwd wangwu
Changing password for user wangwu.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@localhost ~]# 

删除用户账号—userdel命令

命令格式:userdel [-r] 账户名

-r—在删除该账户的同时,一并删除该账户对应的主目录。

例:删除wang5用户:

[root@localhost ~]# userdel -r wangwu

用户间切换—su(substitute user)命令

命令格式:su [用户名]

从root用户切换到任何用户不需要密码验证,而从普通用户到root或其他普通用户均需要输入目标用户的密码且验证成功后才可切换。

su和su -命令区别就是加载的配置文件不一样:

su切换方式加载的文件:~/.bashrc,/etc/bashrc
su -切换方式加载的文件:/etc/bashrc,/etc/profile,~/.bashrc,~/.bash_profile

控制用户对系统命令的使用权限

使用sudo命令可以提高普通用户的操作权限,不过这个权限需要root用户进行配置/etc/sudoers文件才可使用。

sudo的执行流程如下(默认只有root用户能使用):
当用户执行sudo时,便会让用户输入自己的密码来确认(root执行sudo时不需要输入密码);若欲切换的身份与执行者身份相同,那也不需要输入密码。若密码输入成功,系统会去/etc/sudoers文件中查找该用户是否有执行sudo的权限;若用户具有执行sudo的权限,便开始sudo后续接的命令;

sudo -l:列出当前用户可以执行的命令。只有在sudoers里的用户才能使用该选项。
sudo -u 用户名 命令:以指定用户的身份执行命令。后面的用户是除root以外的

用户组管理

创建用户组命令格式: 
groupadd   [-r]   用户组名称

常用选项:

-g GID——指定新用户组的组标识号(GID),默认值是已有的最大的GID加1。
-r——建立一个系统组账号,与-g不同时使用时,则分配一个1~999的GID。

创建用户组

示例:向系统中添加一个组ID为1001,组名为group1的新组。

[root@localhost ~]# groupadd -r group1 -g 1001

修改用户组属性

命令格式: 
groupmod  选项  用户组

常用选项:

 -g  GID——为用户组指定新的组标识号。 -n  新用户组——将用户组的名字改为新名字修改用户组的名称和用户组的GID值。

示例:将组group1的GID修改为2000,组名修改为group11。

[root@localhost ~]# groupmod -n group11 -g 2000 group1 

添加/删除组成员

命令格式: 
gpasswd  [选项]  [用户]  [组]

注意:只有root用户和组管理员才能够使用该命令。

选项:

 -r 删除组密码 -a——把用户加入组 -d——把用户从组中删除。 -M——可同时添加多个用户 -A——给组指派管理员。

示例:将zhang3、li4用户同时加入group1组,并指派zhang3为管理员。

[root@localhost ~]# gpasswd -M zhang3,li4 group1 -A zhang3

删除组账户

命令格式: 
groupdel   用户组名

示例:从系统中删除组group11
被删除的组若是基本组,则必须先删除引用该基本组的用户,然后再删除该基本组。

[root@localhost ~]# groupdel group11

查询用户和组信息

[root@node13 ~]# id 用户名  显示出某个用户的详细信息
[root@node13 ~]# groups 用户名   显示出用户的所属组信息

查询li4信息:

[root@localhost ~]# id li4
uid=1002(li4) gid=1002(li4) groups=1002(li4),2001(group1)
[root@localhost ~]# groups li4
li4 : li4 group1

查看用户登录系统的情况

1,users,查看当前登录系统的用户

查看当前登录系统的用户:

[root@localhost ~]# users
redhat root

2,,last:列出目前与过去登入系统的用户相关信息

该命令默认会去读取/var/log/wtmp文件,并把该文件记录的登入系统的用户名单全部显示出来。

[root@node13 ~]# last -2  显示最近的两条登录信息
[root@node13 ~]# last -f /var/log/wtmp  -n 3 显示/var/log/wtmp文件中最近的两条登录信息

3、如果想要知道每个账号的最近登录时间,则可使用lastlog查看,该命令会读取/var/log/lastlog文件。

[root@node13 ~]# lastlog

4、w:显示登录到系统的用户信息。

[root@localhost ~]# w
19:03:58 up  6:51,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.107.1    12:12    0.00s  0.30s  0.01s w
redhat   pts/1    192.168.107.1    12:33    3:14m  0.06s  0.06s -bash

参数解释:

TTY:表示用户使用的TTY名称    
FROM:表示用户从哪里登录进来
idle:表示空闲时间    
JCPU:在某段时间内所有与该终端相关的进程任务所耗费的cpu时间    	
PCPU:当前活动进程使用的系统时间    
WHAT:表示当前用户执行的进程名称和选项

5、who:显示目前登录到系统的用户

who通常通过/var/run/utmp文件来获取信息 。

[root@localhost ~]# who
[root@localhost ~]# who -a 所有信息
[root@node13 ~]# who -r  显示当前系统的运行级别
[root@node13 ~]# who -u  显示当前每个用户的用户名、登录终端、登录时间、终端活动、进程和主机名
[root@node13 ~]# who -T  显示tty终端的状态,“+”表示对任何人可写,“-”表示仅对root用户或所有者可写,“?”表示遇到终端故障

http://chatgpt.dhexx.cn/article/EYEB9AIC.shtml

相关文章

linux用户和用户组权限

Linux常规操纵 : 多用户操作 1.1 linux的用户与用户组理论 1.1.1 概述 Linux是一个真实的、完整的多用户多任务操作系统,多用户多任务就是可以在系统上建立多个用户,而多个用户可以在同一时间内登录同一个系统执行各自不同的任务,而互不影响。 root :系统维护 www:网页…

将用户添加到docker用户组

普通用户使用docker命令的时候经常会提示权限不足 Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/containers/json: dial unix /var/run/docker.sock: connect: …

linux添加用户和用户组

原文地址&#xff1a;linux添加用户和用户组 – 自我的进化http://www.shanxing.top/?p181 用户 创建用户&#xff1a;useradd <用户名> 设置密码&#xff1a;passwd <用户名>删除用户&#xff1a;userdel <用户名> 用户组&#xff1a; 新建用户组&#x…

用户,用户组与权限

一.用户与用户组 1.用户的分类 root用户:系统唯一,真实,可登录系统,可操作系统任何文件的用户,拥有最高权限 虚拟用户:这类用户被称为伪用户,不具有登录能力,但是系统不可缺少这类用户,例如bin,daemon,ssh等,一般是系统创建,也可手动创建 普通用户:具有登录能力,但是只能操作…

重拾Linux(三)用户和用户组管理

Linux是一个多用户多任务的操作系统&#xff0c;任何一个想要使用系统资源的用户&#xff0c;都必须向系统管理员申请一个账号&#xff0c;然后用这个账号的身份进入系统。每创建一个账号&#xff0c;如果没有指定新增用户的家目录&#xff0c;则会在 /home 目录下创建一个和新…

查看linux创建了哪些用户组,Linux查看用户属于哪些组/查看用户组下有哪些用户...

一、关于/etc/group格式的讨论 在说/etc/group格式的时候,网上很多文章都会说是“组名:组密码:组ID:组下用户列表”,这说法对了解/etc/group格式是没问题的,但如果碰到“查看用户属于哪些组/查看用户组下有哪些用户”这个问题上,这种说法会很误导人。 测试发现“组下用户列…

linux用户删组,如何在 Linux 下删除用户组(groupdel 命令)

在 Linux 下&#xff0c;用户组用来组织和管理用户账户。用户组的目的主要是为了定义一系列权限&#xff0c;例如&#xff1a;针对一个资源的读&#xff0c;写&#xff0c;执行&#xff0c;并且将这些权限在用户组的用户之间共享。 一个新的用户组可以通过groupadd命令来创建。…

Linux的用户组与权限

组与权限 Linux的用户与权限一.账户管理1.0 创建用户useradd1.1 示例:1.1.1添加一般用户1.1.2.为新添加的用户添加组1.1.3.创建一个系统用户1.1.4.为新添加的用户指定home目录下1.1.5.建立用户且定制ID1.1.6.添加一个不能登录的账号 2.0 用户账号存储文件2.1每一行对应一个用户…

Windows用户和用户组

下图是Windows操作系统上用户组及其描述&#xff0c;描述部分主要说明了该用户组的权限。 Administrator是默认管理员组 &#xff08;可以将账户加入该组让用户具有管理员权限&#xff09; Guest&#xff1a; 访客使用&#xff08;默认禁用&#xff09; Window默认会有这四个用…

linux用户和用户组详解(一)

一、基本概念 &#xff08;一&#xff09;基本介绍 Linux作为一种多用户的操作系统(服务器系统)&#xff0c;允许多个用户同时登陆到系统上&#xff0c;并响应每个用户的请求。任何需要使用操作系统的用户&#xff0c;都需要一个系统账号&#xff0c;账号分为&#xff1a;管理…

Windows 用户组管理

Windows 用户组管理 一、用户组1. 概述2. 管理组 内置组账户1. 需要人为添加成员的内置组2. 动态包含成员的内置组 一、用户组 1. 概述 组是一些用户的集合&#xff0c;组内的用户自动具备为组所设置的权限。 2. 管理组 新建组&#xff1a; 在本地用户和组界面选择组&#…

Linux用户和用户组详解

今天继续给大家介绍Linux基础知识&#xff0c;本文主要给大家介绍Linux用户和用户组。 一、Linux用户和用户组 &#xff08;一&#xff09;用户和用户组简介 与windows类似&#xff0c;Linux也有用户和用户组的概念。在Linux系统中&#xff0c;每次登录系统都必须以一个用户…

Linux用户、用户组的管理

首先用户大家都不陌生&#xff0c;我们在使用电脑的时候进入电脑登录的就是我们的账号也就是用户&#xff0c;用户组顾名思义里面可以存放多个用户方便管理以及授权。 目录 一、用户 1、创建用户&#xff0c;不指定选项 2、创建用户&#xff0c;指定选项 3、删除用户 4、…

用户组是什么意思?怎么容易理解?有什么作用?

不少刚入行的运维小伙伴&#xff0c;不清楚用户组是什么&#xff1f;不知道用户组有什么作用&#xff1f;怎么样才能容易理解&#xff1f;这里我们小编就来给大家简单说说&#xff0c;仅供参考哦&#xff01; 用户组是什么意思&#xff1f;怎么理解&#xff1f; 用户组是指一类…

集成算法 | 随机森林回归模型

所有的参数&#xff0c;属性与接口&#xff0c;全部和随机森林分类器一致。仅有的不同就是回归树与分类树的不同&#xff0c;不纯度的指标&#xff0c; 参数Criterion不一致。 RandomForestRegressor(n_estimatorswarn, criterionmse, max_depthNone, min_samples_split2, min_…

Python实现贝叶斯优化器(Bayes_opt)优化随机森林回归模型(RandomForestRegressor算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 贝叶斯优化器 (BayesianOptimization) 是一种黑盒子优化器&#xff0c;用来寻找最优参数。 贝叶斯优化器…

随机森林回归预测_jupyter notebook

改编自https://www.bilibili.com/video/BV1iJ41127cw?spm_id_from333.337.search-card.all.click提供的代码。下文为改动之后的代码&#xff1a; import numpy as np import pandas as pdfrom sklearn.model_selection import train_test_split import matplotlib.pyplot as …

Python实现Stacking回归模型(随机森林回归、极端随机树回归、AdaBoost回归、GBDT回归、决策树回归)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 Stacking通常考虑的是异质弱学习器&#xff08;不同的学习算法被组合在一起&#xff09;&#xff0c;st…

Matlab TreeBagger随机森林回归实例

简介 在探寻变量之间相关性时&#xff0c;简单线性相关容易实现&#xff0c;对于多元的非线性关系&#xff0c;如果不知道关系式&#xff08;函数方程&#xff09;很难建立自变量和因变量之间关系。而机器学习方法为解决这类复杂多元非线性问题提供了很好的思路。 其中&#x…

随机森林分类+随机森林回归+实例:用随机森林回归填补缺失值+机器学习调参思想+实例:随机森林在乳腺癌数据上的调参

文章目录 一、集成算法概述二、重要参数1、控制基评估器的参数2、n_estimators3、random_state4、bootstrap & oob_score 三、重要属性和接口四、随机森林回归器1、重要参数&#xff0c;属性与接口2、实例&#xff1a;用随机森林回归填补缺失值 五、机器学习中调参的基本思…