Linux学习笔记——用户管理

news2025/1/31 8:04:42

一、用户管理命令

useradd        #用户增加命令

usermod        #用户修改命令

passwd        #密码修改命令

userdel        #用户删除命令

su        #用户提权命令

1、useradd命令(加用户):

创建并设置用户信息,使用useradd命令可以自动完成用户信息,基本组,家目录等创建工作,并在创建过程中对用户初始信息进行定制。

语法格式:useradd        参数        用户名

实例:

useradd        test1        #创建指定用户信息

user        -M        -s        /sbin/nologin        test2        #创建指定用户信息,但不创建家目录,也不能登录。

useradd        -u        6688        test3        #创建指定用户信息,并自定义UID值

useradd        -G        root        test4        #创建指定用户信息,并追加指定组为该用户

useradd        -e        "2025/06/01"        test5        #创建一个临时用户

当系统没有给新建的用户添加密码时,只能通过root用户登陆,同为用户需要密码,而新建的用户没有设置密码所以不能登陆。

2、passwd命令(加密码):

passwd命令来自password的缩写,其功能是修改用户的密码值。

同时也可以对用户进行锁定等操作,但需要管理员身份才能执行。

当使用useradd命令添加用户之后,默认给用户不能登陆,因为没有设置密码值。

只有设置了密码之后,才可以登陆。

语法格式:passwd        参数        用户名

passwd        #修改当前用户密码

passwd        test1        #修改指定用户的密码(需要root管理员)

passwd        -l        test1        #锁定指定用户的密码值,不允许其修改;

passwd        -u        test1        #解锁指定用户的密码值,允许其修改;

passwd        -e        test2        #在下次登陆时强制修改密码

passwd        -d        test2        #删除指定用户的密码值

passwd       -S        test3        #查看指定用户的密码状态

扩展:重置root密码的方法:

1、首先重启系统,然后快速按下e键进入GRUB界面,

2、然后在最后一行之前输入rd.break,如图:

3、输入好后,按ctrl+x来重启系统。

重启系统后,按任意键继续,然后在第一个命令提示符下输入

mount -o remount,rw /sysroot        #重新挂载文件系统

输入好后回车,在输入

mount   |grep  sysroot        #判断成功与否

然后回车。

然后在命令提示符下输入如下命令:

chroot /sysroot/        #改变系统目录为临时目录

echo 123 |passwd --stdin  root        #修改root密码为123

touch     /.autorelabel        #重新标记SElinux环境值文件

然后输入两次exit来退出。

然后系统就会自动重启。密码修改成功。

Linux救援模式===》单用户模式

3、usermod命令:

usermod命令(user modify),其功能是修改用户信息中的各项参数,在创建用户后发现信息错误,可以不用删除,用usermod命令直接修改用户信息,并且参数会立即生效。

语法格式:usermod        参数        用户名

实例:

usermod        -d        /home/testA        test1        #修改指定用户的家目录路径,不能有用户正在使用该账号。

usermod        -u        6666        test1        #修改用户ID为6666

        查用户ID:vim        /etc/passwd

        修改前:        

        修改后:

        对于用户来说该账号的名称为:test1,而对于系统来说该账号的名称为6666

usermod        -l        newname        test1        #修改指定用户名称为newname

        在/etc/passwd里面修改成功

        ,而用户的家目录没有发生变化。

usermod        -L        test1        #锁定指定的用户,临时不允许登陆系统,使用xshell登陆不上去

usermod        -U        test1        #解锁指定用户,再次允许登陆系统

4、userdel命令

(user    delete),功能为删除用户信息。在Linux系统中一切都是文件,用户信息被存在/etc/passwd和/etc/shadow以及/etc/group文件中,

故使用userdel命令实际上是删除指定用户在上述三个文件中的对应信息。

语法格式:userdel        参数        用户名

实例:

userdel        test1        #删除指定用户

userdel        -r        test2        #删除用户信息以及家目录,何其所有子文件

扩展:将用户从用户组中删除:gpasswd        -d        <用户名称>        <用户组名>

5、su命令

su命令来自于switch  user的缩写,其功能是切换用户身份。

将管理员切换至任意用户身份无序进行密码认证,而将普通用户切换到任意用户身份均需密码验证。另外,添加的单个减号(-)参数表示完全的身份变更,不保留之前的用户任何的环境变量信息。

语法格式:su        参数        用户名

实例:

su        test          与        su        -        test        的区别:

解决问题:XXX不在sudoers文件中,此事将被报告

修改/etc/sudoer即可:

su        root

chmod        777        /etc/sudoers

vim        /etc/sudoers

在root那行添加:XXX        ALL=(ALL)        ALL        

保存退出

chmod        440        /etc/sudoers

再返回自己的是身份。

之后再次执行。

二、用户组管理命令

groupadd        #用户组添加命令

groupmod        #用户组修改命令

groupwd        #用户组密码设置命令

groupdel        #用户组删除命令

1、groupadd命令:

        groupadd命令的功能是创建新的用户组,每个用户在创建的时候都有一个与其同名的基本组,后期可以使用groupadd命令创建新的用户组信息,让更多的用户加入到指定的扩展组。

语法格式:group        参数        用户组

实例:

groupadd        newgroup1        #创建一个新的用户组

groupadd        -g        6688        newgroup2        #创建一个新的用户组,并指定用户组ID

groupadd        -r        newgroup3        #创建新的用户组,设定为系统工作组

                                                           #1000以内的编号是系统组,1000普通用户组

添加用户组以后:/etc/group会发生变化。

扩展:

新建用户将其加入到指定的用户组之中,作为其主用户组(每个用户有且仅有一个用户组)

useradd        -g        <用户组名>        <用户名>

useradd        -g        xxx        yyy        #-g是加入主要组

或新建用户并将其加入指定附属组,一个用户可以有多个附属组,多个附属组名称用逗号隔开。

useradd        -G        <用户组名>        <用户名>

useradd         -G        xxx        yyy        #G是加入附属组

1、主要群组:每个文件都必须有一个组的所有者,因此必须有一个与每个用户相关的默认组。这个默认组成为新建文件的组所有者,被称为用户的主要群组。用户的主要群组再passwd中的第四个字段中定义。

2、次要群组:除了主要群组,用户也可以根据需要再隶属于其他的群组,这些群组称为次要群组,再group文件中第四个字段中定义。

#将已有的用户添加到指定的用户组

#将已有的用户添加到指定的用户组,作为其附属用户组

#-a代表append和-G一起使用,将用户添加到新用户组中而不避开原有的其他用户组。

usermod        -g        <新用户组名>        <旧用户组名>

#将已有用户的主用户组修改为其他新的用户组

usermod        -g        <新用户组名>        <旧用户组名>

权限中第二个为组权限,对于同组的人来说如果权限开放,可以互相进入对方的~(home)

2、groupmod命令:

“group modify”,作用是用于更改群组属性。linux系统下的群组信息一般不建议修改,因为涉及已加入的用户的归属问题,尤其是群组名称,组GID,一定要确认好后再操作。

语法格式:groupmod        参数        群族名

实例:

groupmod        -n        newgroupA        oldgroupB        #更改指定的用户组名称

groupmod        -g        8888        newgroupA        #更改指定用户组识别码

3、groupdel命令:

delete a group 其功能是用于删除用户组,Linux系统中的用户组信息被保存在/etc/group和/etc/gshadow中,手动删除对应的信息即可,亦可以使用groupdel命令删除。

语法格式:groupdel        [参数]        群组名

常用参数:

-f        强制删除        

-h        显示帮助信息

实例:

groupdel        newgroup        #删除指定名称的用户组

groupdel        -f        newgroup        #强制删除指定名称的用户组

三、用户配置文件

在Linux系统中,用户名,密码,用户组,和用户组密码都是保存在不同的配置文件中。

/etc/passwd           用于保存用户的账号文件

/etc/shadow        用于保存用户的密码文件        ===>useradd,passwd

/etc/group        用于保存用户组的文件

/etc/gshadow        用于保存用户组密码的文件        ===>groupadd,gpasswd

/etc/skel        保存用户家目录隐藏文件

/etc/default/useradd        用于定义添加用户的信息文件      ===>用户配置文件


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

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

相关文章

【AI】【本地部署】OpenWebUI的升级并移植旧有用户信息

【背景】 OpenWebUI的版本升级频率很高&#xff0c;并会修改旧版本的Bug&#xff0c;不过对于已经在使用的系统&#xff0c;升级后现有用户信息都会丢失&#xff0c;于是研究如何在升级后将现有的用户信息移植到升级后版本。 【准备工作】 OpenWebUI的升级步骤在Docker中有现…

PyCharm接入DeepSeek实现AI编程

目录 效果演示 创建API key 在PyCharm中下载CodeGPT插件 配置Continue DeepSeek 是一家专注于人工智能技术研发的公司&#xff0c;致力于开发高性能、低成本的 AI 模型。DeepSeek-V3 是 DeepSeek 公司推出的最新一代 AI 模型。其前身是 DeepSeek-V2.5&#xff0c;经过持续的…

21款炫酷烟花合集

系列专栏 《Python趣味编程》《C/C趣味编程》《HTML趣味编程》《Java趣味编程》 写在前面 Python、C/C、HTML、Java等4种语言实现18款炫酷烟花的代码。 Python Python烟花① 完整代码&#xff1a;Python动漫烟花&#xff08;完整代码&#xff09; ​ Python烟花② 完整…

zyNo.15(Web题型总结1)

web 一、工具使用 1.sqlmap使用 在目录页输入cmd就可以打开程序 使用方法查看输入python sqlmap.py --help 二、web攻防知识体系 新手村 WEB CTF入门 md5绕过、变量覆盖、随机数问题 sql注入 MySQL注入介绍与联合…

将 OneLake 数据索引到 Elasticsearch - 第 1 部分

作者&#xff1a;来自 Elastic Gustavo Llermaly 学习配置 OneLake&#xff0c;使用 Python 消费数据并在 Elasticsearch 中索引文档&#xff0c;然后运行语义搜索。 OneLake 是一款工具&#xff0c;可让你连接到不同的 Microsoft 数据源&#xff0c;例如 Power BI、Data Activ…

C++11中array容器的常见用法

文章目录 一、概述二、std::array的特点三、std::array的定义与初始化三、std::array的常用成员函数四、与 C 风格数组的互操作 一、概述 在 C11 中&#xff0c;std::array 是一个新的容器类型&#xff0c;它提供了一个固定大小的数组封装。相比传统的 C 风格数组&#xff0c;…

澳洲硕士毕业论文写作中如何把握主题

每到毕业季时&#xff0c;澳洲硕士毕业论文写作是留学生学业的头等大事。但是经常有留学生在澳洲毕业论文写作过程中会遇到写了一半&#xff0c;但是不知道应该如何继续下去的问题。有时候是在literature review的部分就越写越觉得偏离了方向&#xff0c;有时候是在数据收集阶段…

在Windows系统中本地部署属于自己的大语言模型(Ollama + open-webui + deepseek-r1)

文章目录 1 在Windows系统中安装Ollama&#xff0c;并成功启动&#xff1b;2 非docker方式安装open-webui3下载并部署模型deepseek-r1 Ollama Ollama 是一个命令行工具&#xff0c;用于管理和运行机器学习模型。它简化了模型的下载与部署&#xff0c;支持跨平台使用&#xff0c…

DeepSeek辅助学术写作摘要内容

学术摘要写作 摘要是文章的精华&#xff0c;通常在200-250词左右。要包括研究的目的、方法、结果和结论。让AI工具作为某领域内资深的研究专家&#xff0c;编写摘要需要言简意赅&#xff0c;直接概括论文的核心&#xff0c;为读者提供快速了解的窗口。 下面我们使用DeepSeek编…

网络工程师 (5)系统可靠性

前言 系统可靠性是指系统在规定的条件和规定的时间内&#xff0c;完成规定功能的能力。这种能力不仅涵盖了系统本身的稳定性和耐久性&#xff0c;还涉及了系统在面对各种内外部干扰和故障时的恢复能力和容错性。系统可靠性是评价一个系统性能优劣的关键指标之一&#xff0c;对于…

RoboVLM——通用机器人策略的VLA设计哲学:如何选择骨干网络、如何构建VLA架构、何时添加跨本体数据

前言 本博客内解读不少VLA模型了&#xff0c;包括π0等&#xff0c;且如此文的开头所说 前两天又重点看了下openvla&#xff0c;和cogact&#xff0c;发现 目前cogACT把openvla的动作预测换成了dit&#xff0c;在模型架构层面上&#xff0c;逼近了π0​那为了进一步逼近&#…

MySQL--》深度解析InnoDB引擎的存储与事务机制

目录 InnoDB架构 事务原理 MVCC InnoDB架构 从MySQL5.5版本开始默认使用InnoDB存储引擎&#xff0c;它擅长进行事务处理&#xff0c;具有崩溃恢复的特性&#xff0c;在日常开发中使用非常广泛&#xff0c;其逻辑存储结构图如下所示&#xff0c; 下面是InnoDB架构图&#xf…

SpringCloudAlibaba 服务保护 Sentinel 项目集成实践

目录 一、简介1.1、服务保护的基本概念1.1.1、服务限流/熔断1.1.2、服务降级1.1.3、服务的雪崩效应1.1.4、服务的隔离的机制 1.2、Sentinel的主要特性1.3、Sentinel整体架构1.4、Sentinel 与 Hystrix 对比 二、Sentinel控制台部署3.1、版本选择和适配3.2、本文使用各组件版本3.…

STM32 GPIO配置 点亮LED灯

本次是基于STM32F407ZET6做一个GPIO配置&#xff0c;实现点灯实验。 新建文件 LED.c、LED.h文件&#xff0c;将其封装到Driver文件中。 双击Driver文件将LED.c添加进来 编写头文件&#xff0c;这里注意需要将Driver头文件声明一下。 在LED.c、main.c里面引入头文件LED.h LED初…

MFC结构体数据文件读写实例

程序功能将结构体内数组数据写入文件和读出 2Dlg.h中代码: typedef struct Student {int nNum[1000];float fScore;CString sss;}stu; class CMy2Dlg : public CDialog { // Construction public:CMy2Dlg(CWnd* pParent NULL); // standard constructorstu stu1; ... } 2Dl…

jemalloc 5.3.0的tsd模块的源码分析

一、背景 在主流的内存库里&#xff0c;jemalloc作为android 5.0-android 10.0的默认分配器肯定占用了非常重要的一席之地。jemalloc的低版本和高版本之间的差异特别大&#xff0c;低版本的诸多网上整理的总结&#xff0c;无论是在概念上和还是在结构体命名上在新版本中很多都…

编程题-最长的回文子串(中等)

题目&#xff1a; 给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。 示例 1&#xff1a; 输入&#xff1a;s "babad" 输出&#xff1a;"bab" 解释&#xff1a;"aba" 同样是符合题意的答案。示例 2&#xff1a; 输入&#xff1a;s &…

爱书爱考平台说明

最近我开发了一个综合性的考试平台&#xff0c;内容包括但不限于职业资格证考试、成人教育、国家公务员考试等内容。目前1.0版本已经开发完成&#xff0c;其他的功能陆续完善中。 微信小程序搜索"爱书爱考" 微信小程序图标如下图: 目前维护了java相关的面试题的考题…

JUC--ConcurrentHashMap底层原理

ConcurrentHashMap底层原理 ConcurrentHashMapJDK1.7底层结构线程安全底层具体实现 JDK1.8底层结构线程安全底层具体实现 总结JDK 1.7 和 JDK 1.8实现有什么不同&#xff1f;ConcurrentHashMap 中的 CAS 应用 ConcurrentHashMap ConcurrentHashMap 是一种线程安全的高效Map集合…

Sklearn 中的逻辑回归

逻辑回归的数学模型 基本模型 逻辑回归主要用于处理二分类问题。二分类问题对于模型的输出包含 0 和 1&#xff0c;是一个不连续的值。分类问题的结果一般不能由线性函数求出。这里就需要一个特别的函数来求解&#xff0c;这里引入一个新的函数 Sigmoid 函数&#xff0c;也成…