Linux学习笔记——用户管理

一、用户管理命令

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.mzph.cn/bicheng/69575.shtml

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

相关文章

怎样在PPT中启用演讲者视图功能?

怎样在PPT中启用演讲者视图功能&#xff1f; 如果你曾经参加过重要的会议或者演讲&#xff0c;你就会知道&#xff0c;演讲者视图&#xff08;Presenter View&#xff09;对PPT展示至关重要。它不仅能帮助演讲者更好地掌控演讲节奏&#xff0c;还能提供额外的提示和支持&#…

【Unity3D】实现2D小地图效果

目录 一、玩家脚本Player 二、Canvas组件设置 三、小地图相关 四、GameLogicMap脚本修改 基于&#xff1a;【Unity3D】Tilemap俯视角像素游戏案例-CSDN博客 2D玩家添加Dotween移动DOPath效果&#xff0c;移动完成后进行刷新小地图&#xff08;小地图会顺便刷新大地图&…

四.3 Redis 五大数据类型/结构的详细说明/详细使用( hash 哈希表数据类型详解和使用)

四.3 Redis 五大数据类型/结构的详细说明/详细使用&#xff08; hash 哈希表数据类型详解和使用&#xff09; 文章目录 四.3 Redis 五大数据类型/结构的详细说明/详细使用&#xff08; hash 哈希表数据类型详解和使用&#xff09;2.hash 哈希表常用指令(详细讲解说明)2.1 hset …

C#通过3E帧SLMP/MC协议读写三菱FX5U/Q系列PLC数据案例

C#通过3E帧SLMP/MC协议读写三菱FX5U/Q系列PLC数据案例&#xff0c;仅做数据读写报文测试。附带自己整理的SLMP/MC通讯协议表。 SLMP以太网读写PLC数据20191206/.vs/WindowsFormsApp7/v15/.suo , 73216 SLMP以太网读写PLC数据20191206/SLMP与MC协议3E帧通讯协议表.xlsx , 10382…

【算法】经典博弈论问题——威佐夫博弈 python

目录 威佐夫博弈(Wythoff Game)【模板】 威佐夫博弈(Wythoff Game) 有两堆石子&#xff0c;数量任意&#xff0c;可以不同&#xff0c;游戏开始由两个人轮流取石子 游戏规定&#xff0c;每次有两种不同的取法 1)在任意的一堆中取走任意多的石子 2)可以在两堆中同时取走相同数量…

具身智能研究报告

参考&#xff1a; &#xff08;1&#xff09;GTC大会&Figure&#xff1a;“具身智能”奇点已至 &#xff08;2&#xff09;2024中国具身智能创投报告 &#xff08;3&#xff09;2024年具身智能产业发展研究报告 &#xff08;4&#xff09;具身智能行业深度&#xff1a;发展…

把本地搭建的hexo博客部署到自己的服务器上

配置远程服务器的git 安装git 安装依赖工具包 yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel安装编译工具 yum install -y gcc perl-ExtUtils-MakeMaker package下载git&#xff0c;也可以去官网下载了传到服务器上 wget https://www.ke…

STM32 旋转编码器

旋转编码器简介 旋转编码器&#xff1a;用来测量位置、速度或旋转方向的装置&#xff0c;当其旋转轴旋转时&#xff0c;其输出端可以输出与旋转速度和方向对应的方波信号&#xff0c;读取方波信号的频率和相位信息即可得知旋转轴的速度和方向 类型&#xff1a;机械触点式/霍尔传…

后盾人JS--闭包明明白白

延伸函数环境生命周期 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> <…

Python爬虫之——Cookie存储器

目录 专栏导读1、背景介绍2、库的安装3、核心代码4、完整代码总结 专栏导读 &#x1f338; 欢迎来到Python办公自动化专栏—Python处理办公问题&#xff0c;解放您的双手 &#x1f3f3;️‍&#x1f308; 博客主页&#xff1a;请点击——> 一晌小贪欢的博客主页求关注 &…

MFC开发,给对话框添加垂直滚动条并解决鼠标滚动响应的问题

无论在使用QT或者MFC进行界面开发时&#xff0c;都会出现在一个对话框里面存在好多的选项&#xff0c;导致对话框变得非常长或者非常大&#xff0c;就会显现的不美观&#xff0c;在这种情况下通常是添加一个页面的滚动条来解决这个问题&#xff0c;下面我们就来介绍给MFC的对话…

(undone) MIT6.S081 2023 学习笔记 (Day6: LAB5 COW Fork)

网页&#xff1a;https://pdos.csail.mit.edu/6.S081/2023/labs/cow.html 任务1&#xff1a;Implement copy-on-write fork(hard) (doing) 现实中的问题如下&#xff1a; xv6中的fork()系统调用会将父进程的用户空间内存全部复制到子进程中。如果父进程很大&#xff0c;复制过…

分享| RL-GPT 框架通过慢agent和快agent结合提高AI解决复杂任务的能力-Arxiv

结论 “RL-GPT: Integrating Reinforcement Learning and Code-as-policy” RL-GPT 框架为解决大语言模型在复杂任务处理中的难题提供了创新有效的途径&#xff0c; 旨在将强化学习&#xff08;RL&#xff09;和代码即策略相结合&#xff0c; 以解决大语言模型&#xff08…

【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章

欢迎来到ZyyOvO的博客✨&#xff0c;一个关于探索技术的角落&#xff0c;记录学习的点滴&#x1f4d6;&#xff0c;分享实用的技巧&#x1f6e0;️&#xff0c;偶尔还有一些奇思妙想&#x1f4a1; 本文由ZyyOvO原创✍️&#xff0c;感谢支持❤️&#xff01;请尊重原创&#x1…

一个简单的自适应html5导航模板

一个简单的 HTML 导航模板示例&#xff0c;它包含基本的导航栏结构&#xff0c;同时使用了 CSS 进行样式美化&#xff0c;让导航栏看起来更美观。另外&#xff0c;还添加了一些 JavaScript 代码&#xff0c;用于在移动端实现导航菜单的展开和收起功能。 PHP <!DOCTYPE htm…

【算法应用】基于A*-蚁群算法求解无人机城市多任务点配送路径问题

目录 1.A星算法原理2.蚁群算法原理3.结果展示4.代码获取 1.A星算法原理 A*算法是一种基于图搜索的智能启发式算法&#xff0c;它具有高稳定性和高节点搜索效率。主要原理为&#xff1a;以起点作为初始节点&#xff0c;将其加入开放列表。从开放列表中选择具有最小总代价值 f (…

Python-基于PyQt5,json和playsound的通用闹钟

前言&#xff1a;刚刚结束2024年秋季学期的学习&#xff0c;接下来我们继续来学习PyQt5。由于之前我们已经学习了PyQt5以及PyUIC,Pyrcc和QtDesigner的安装&#xff0c;配置。所以接下来我们一起深入PyQt5&#xff0c;学习如何利用PyQt5进行实际开发-基于PyQt5&#xff0c;json和…

预测不规则离散运动的下一个结构

有一个点在19*19的平面上运动&#xff0c;运动轨迹为 一共移动了90步&#xff0c;顺序为 y x y x y x 0 17 16 30 10 8 60 15 15 1 3 6 31 10 7 61 14 15 2 12 17 32 9 9 62 16 15 3 4 12 33 10 9 63 18 15 4 3 18 34 15 12 6…

供应链系统设计-供应链中台系统设计(十)- 清结算中心概念片篇

综述 我们之前在供应链系统设计-中台系统设计系列&#xff08;五&#xff09;- 供应链中台实践概述文章中针对中台到底是什么进行了描述&#xff0c;对于中台的范围也进行划分&#xff0c;如下图所示&#xff1a; 关于商品中心&#xff0c;我们之前用4篇文章介绍了什么是商品中…

C27.【C++ Cont】时间、空间限制和STL库的简单了解

&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;春节篇&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8;&#x1f9e8; 目录 1.竞赛中的…