Linux-用户和用户组管理

news2024/9/21 0:36:33

用户管理

创建

useradd USERNAME(名字)

[root@localhost ~]# useradd bao    创建指令

怎么判断创建成功与否(是否报错)

观察是否报错可行但用变量的方式判断会更加直观

[root@localhost ~]# echo $?    变量

什么是变量?(概念引入)

说明

变量是一块命名的内存空间,可以通过变量的名称来调用变量的值

在系统里声明一个变量

[jian@localhost ~]$ bianliang=zhangsan

注:不是比较运算,是用来赋值的

把zhangsan赋值给bianliang

调用该变量就能把所赋的值显示出来

[jian@localhost ~]$ echo $bianliang

当zhangsan变成lisi,调用也会显示lisi

[jian@localhost ~]$ bianliang=lisi

[jian@localhost ~]$ echo $bianliang

可以调用“?”变量,该变量的值为0说明程序正常执行,在Linux里叫程序的退出码

[jian@localhost ~]$ echo $?

退出码范围0-255

其中0表示正常,1-255 表示不正常

当程序执行完以后会返回一个退出码,如果返回码为0表示程序可以正常退出,如果退出码是其他非零值,则表示程序不能正常退出。

通过man手册可以了解到一些常见退出码的含义:

[root@localhost jian]# man useradd 打开手册并往下翻阅

0.成功

1.无法更新密码文件

2.命令语法有问题(命令格式无效)

3.选项所对应的值有问题(选择参数无效)

4.所对应的UID已经被占有

6.指定的组不存在

9.用户名已经被使用

10.不能更新组文件

12.不能更新家目录

14.无法更新SELinux用户映射

举例

创建用户时如果已经被创建,再次创建会出现报错(如下)

[jian@localhost ~]$ useradd bao    

[jian@localhost ~]$ echo $?

查看

创建完成查看该用户的信息id USERNAME  查看指定用户信息

[jian@localhost ~]$ id bao     查看指令

uid(userid)用户对应的数字编码

gid(groupid)用户组对应的数字编码

groups 基本组(用户默认的组)信息以及附加组信息

注:创建用户时,若未指定组则创建同名的组

拥有基本组之后还可以加入附加组

删除

删除不再想使用的用户

[root@localhost ~]# userdel bao        删除指令

[root@localhost ~]# echo $?

删除成功

[root@localhost ~]# id bao

显示已经没有该用户,但在家目录和邮箱还可以看到

[root@localhost ~]# ll /home  家目录

[root@localhost ~]# ll /var/spool/mail/   邮箱

如果在删除时想把信息全部删除,在末尾加-r选项

[root@localhost ~]# userdel -r USERNAME

表示同时删除该用户的家目录和邮箱

删除用户的同时也会删除用户组

修改

usermod USERNAME 修改用户

现在使用man手册了解常用的一些选项

[root@localhost ~]# man usermod  

如图所示界面可往下翻阅

举例:(常用的指令)

-a/-G

添加用户到一个附加组,也可只使用-G的选项

[root@localhost jian]# ll /home

创建几个用户(都有基本组),再继续创建一个用户duo

让用户duo属于用户bao的组,在创建用户时就指定选项

[root@localhost jian]# useradd -g bao duo

[root@localhost jian]# id duo

用户duo的基本组是用户bao的,基本组信息也是用户bao的

再加上一个附加组

[root@localhost jian]# usermod -G lai duo

[root@localhost jian]# id duo

附加组已经添加完成

-g 表示修改基本组

-G 表示修改附加组 GROUPNAME,GROUPNAME,GROUPNAME(指定多个

-c

表示注释或描述(昵称)

登录界面只有jian用户,如果让用户bao出现在界面应该怎么实现?

给用户bao添加用户密码

[root@localhost jian]# passwd bao

屏幕上出现名字为bao的用户,并且可以正常登录使用

同理,其他用户也可添加用户密码来实现登录界面的显示

用户登录显示设置好,再使用-c更改描述(昵称)

[root@localhost jian]# usermod -c zheyang bao

让用户bao描述为zheyang,变化很明显(如下图所示

-l

更改用户登录名称(登录后显示的名称)

[root@localhost jian]# id bao

显示的用户名称是bao,把用户名称改成pao

[root@localhost jian]# usermod -l pao bao

[root@localhost jian]# id bao

查找不到bao的信息,但查找修改后的名称pao可以继续查找到相关信息

[root@localhost jian]# id pao

登录界面依然显示设置的comment

使用密码登录“zheyang”并查看终端情况

终端显示的名字是已经修改的pao

-L

用来锁定用户密码在Linux下账号如果没有密码是不能登录操作系统的,如果把密码锁住,该用户就不能登录到操作系统

禁用用户pao进行实验举例:

[root@localhost jian]# usermod -L pao

此时界面没有pao的登录方式“zheyang”

不允许登录,怎么解锁

-U

使用-U解锁

[root@localhost jian]# usermod -U pao

重新出现登录方式

-s

注:如果一个用户的shell是/bin/bash,则允许登录操作系统

例子:

[root@localhost jian]# usermod -s /sbin/nologin pao

[root@localhost jian]# grep pao /etc/passwd

不能登录用户pao图中无登录方式

[root@localhost jian]# su – pao

此时账号也不可以使用,现在去恢复账号的使用(操作)

[root@localhost jian]# usermod -s /bin/bash pao

[root@localhost jian]# su – pao

切换账号成功,可以使用

[pao@localhost ~]$ id

-u

修改UID

先查看原有UID

[root@localhost jian]# id pao

UID为1002

[root@localhost jian]# usermod -u 8888 pao

[root@localhost jian]# id pao

现在的UID已经修改完成,若切换GID则需要事先存在

用户组管理

指令的使用格式

 groupadd GROUPNAME  添加组

 groupdel GROUPNAME 删除组

 groupmod GROUPNAME 修改组

 grep GROUPNAME /etc/group   查看组(一般查看方法)

演示:

[root@localhost jian]# groupadd yue   添加

[root@localhost jian]# grep yue /etc/group   查看

[root@localhost jian]# groupmod -g 8888 yue   修改GID

[root@localhost jian]# grep yue /etc/group    查看

[root@localhost jian]# groupdel yue     删除

[root@localhost jian]# grep yue /etc/group  查看

注:删除之后将不会显示该组,如果还有用户属于该组,默认不能删除。

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

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

相关文章

Vant2框架tab切换list不加载问题(切换后onload不继续触发)

遇到的问题: van-list 加载,页面上有个切换的 van-tab,实现切换不同的类型,加载不同的list的功能。 Vant2 的 List 列表 就有个 bug,当切换 tab 的时候,它的 onload 没有自动触发。 然而在当前标签页&#…

AMD第二季度财报:数据中心产品销售激增,接近总收入一半

#### 财报亮点 7月30日,AMD公布了截至6月29日的第二季度财务业绩,利润超过了华尔街的预期。根据TechNews的报道,最值得注意的是,AMD现在近一半的销售额来自于数据中心产品,而非传统的PC芯片、游戏主机或是工业与汽车嵌…

IDEA打开项目显示在顶端

问题 IDEA打开项目显示在顶端,更改到左侧 解决方案 删除项目中.idea文件,重新打开

【pikachu靶场】跨站脚本攻击详细教程Cross-Site Scripting(xss)

文章目录 XSS(跨站脚本)概述 1.反射型xss(get) 2.反射型xss(post) 3.存储型XSS 4.DOM型xss 5.DOM型XSS-X 6.xss之盲打 7.xss之过滤 8.xss之htmlspecialchars 9.xss之href输出 10.xss之js输出 XSS…

并发编程相关面试题-Synchronized

重量级锁实现的原理 1、synchronized是JVM内置锁,基于Monitor机制实现,依赖底层操作系统的互斥锁Mutex(互斥量),它是一个重量级锁、 2、synchronized同步方法是通过方法中的access_flags中设置ACC_SYNCHRONIZED标志来…

换根dp学习总结3

我也不想搞这么多,但是这东西真的太难了,因为我还是个蒟蒻。算了蒟蒻继续写这次的总结了 寻找全图最远路径问题——Computer ——题目来源于hdu2196 题意:题目就是说会输入多组数据,每组数据给你一个n,表示结点的总数…

怎么评价程序员40岁了竟然还在撸代码?

怎么评价外卖员40岁了竟然还在送外卖? 怎么评价滴滴司机40岁了竟然还在跑滴滴? 怎么评价老师40岁了竟然还在教书?难道程序员的本职工作不是敲代码吗?无论你是管理层还是螺丝钉,工业环境下怎么可能一行代码都不敲呢&…

RocketMQ Dashboard安装

RocketMQ Dashboard 是一个基于 Web 的管理工具,用于监控和管理 RocketMQ 集群。它提供了一个用户友好的界面,使管理员能够轻松地查看和操作 RocketMQ 系统中的各种组件和状态。 主要功能包括: 集群管理: 监控和管理 NameServer 和 Broker …

web框架:django基础(二)

文章目录 django基础(二)1.回顾2.今日概要3.路由系统3.1 传统的路由3.2 正则表达式路由3.3 路由分发小结 3.4 name3.5 namespaceapp_namenamespace的多层嵌套 3.4 最后的 / 如何解决?3.5 当前匹配对象小结 4.视图4.1 文件or文件夹4.2 相对和绝…

《QDebug 2024年7月》

一、Qt Widgets 问题交流 1. 二、Qt Quick 问题交流 1.Qt5 QML 在某些环境下,有些字体中文渲染有问题 如 Qt5.15 在部分安卓机上复制的复只有半截宽,半径的径字也不对,等等 用 Qt6.7 测试则正常,或者换成其他如小米、阿里巴巴…

Golang的TLS版本配置参数-排坑经历

一、背景 公司有个黑盒监控拨测组件,类似可以通过各种协议如HTTP、TCP、ICMP等等针对目标主机、目标IP、目标站点进行定时拨测,通过返回的状态码等信息来推断,目标业务系统/主机、站点是否存在异常,健康情况如何。 最近在配置一个…

一文搞懂机器学习!2024.6月最新!(附代码实现)

前言 机器学习入门精品文章 随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文介绍机器学习的基础内容。 机器学习是人工智能的一个分支,它使计算机系统能够从数据中学习并做出决策或预测&am…

Jangow-1.0.1靶机漏洞复现(未完成)

首先,这个靶机只能使用VirtualBox打开,靶机下载地址为 https://download.vulnhub.com/jangow/jangow-01-1.0.1.ova 虚拟机软件下载地址为 Download_Old_Builds – Oracle VM VirtualBox 开启靶机后访问ip进入如下页面,点击site进入到一个…

【C++】哈希容器

unordered系列关联式容器 在之前的博文中介绍过关联式容器中的map与set,同map与set一样,unordered_set与unordered_set也是关联式容器。 在C98中,STL提供了底层为红黑树结构的一系列关联式容器,查询效率可以达到logN;在…

详解HTTP代理与SOCKS代理之间的差异

代理服务器在网络安全和隐私保护方面,发挥着十分重要的作用。其中,HTTP代理和SOCKS代理是两种常见的代理方式,它们在原理、功能和应用场景上有着明显的差异。本文将为大家深入分析这两种代理之间的区别,帮助大家更好地选择适合自己…

Linux中如何添加磁盘分区

在Linux中添加分区通常涉及到几个步骤,包括识别磁盘、创建分区、格式化分区,以及挂载或将其用作特定的文件系统类型(如LVM、RAID等)。以下是一个基本的步骤指南,假设你正在使用命令行界面(CLI)和…

《技术人求职之道》之简历优化篇(下):技能与项目亮点,如何让你的简历熠熠生辉

摘要 本文将深入探讨技术求职者在撰写简历时的关键要素,包括专业技能的表达和项目经验的描述。文章首先提出专业技能描述的六条基本原则,包括统一技术词汇、标点符号一致性、技术关键字的驼峰命名法、技术分类、技术热度和掌握度排序以及慎用“精通”。接着,指导读者如何美…

FFmpeg Windows安装教程

一. 下载ffmpeg 进入Download FFmpeg网址,点击下载windows版ffmpeg。 下载第一个essentials版本就行。 二. 环境配置 上面源码解压后如下 将bin添加到系统环境变量 验证安装是否成功,输入ffmpeg –version,显示版本即为安装成功。

必应Bing国内广告开户、投放流程和避坑攻略!

必应Bing作为微软旗下的搜索引擎,不仅在全球范围内拥有庞大的用户群体,在中国也有着稳定的市场份额。为了让企业更好地利用必应Bing在国内的广告资源,云衔科技提供了全面的广告开户及代运营服务,帮助企业轻松驾驭数字化营销之路。…

c语言指针3

文章目录 前言一、数组名的理解1.数组名正常情况是首元素的地址2.数组名不是首元素地址的情况2. 1 sizeof(arr)中的数组名2. 2 &arr中的arr代表整个数组 3. 结论 二、使用指针访问数组1.使用指针输入输出数组中的数 三、一维数组传参的本质四、冒泡排序五、二级指针5.1 二级…