用户和组高级操作

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
可观测监控 Prometheus 版,每月50GB免费额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 本文介绍了Linux系统中用户和组管理的基本操作,包括使用`usermod`命令修改用户属性、使用`passwd`和`usermod`命令禁用和恢复用户账户、使用`userdel`命令删除用户账户、使用`groupadd`、`groupdel`和`groupmod`命令管理组群,以及使用`gpasswd`命令为组群添加用户。此外,还介绍了`su`和`sudo`命令的使用方法,帮助用户在不同身份之间切换。

 1 维护用户账户

1.1 修改用户账户

usermod命令用于修改用户的属性,格式为

usermod [选项] 用户名

Linux系统中的一切都是文件,因此在系统中创建用户也就是修改配置文件的过程。用户的信息保存在/etc/passwd文件中,可以直接用文本编辑器来修改其中的用户参数项目,也可以用usermod命令修改已经创建的用户信息,诸如用户的UID、基本/扩展用户组、默认终端等。usermod命令的参数以及作用如下表所示。

参 数 作 用
-c 填写用户账户的备注信息
-d -m 参数-m与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去
-e 账户的到期时间,格式为YYYY-MM-DD
-g 变更所属用户组
-G 变更扩展用户组
-L 锁定用户禁止其登录系统
-U 解锁用户,允许其登录系统
-s 变更默认终端
-u 修改用户的UID

例子:

创建用户user1,查看用户及其组信息。

[root@rhel7-lzq-01 ~]# useradd user1
[root@rhel7-lzq-01 ~]# id user1
uid=1001(user1) gid=1001(user1) 组=1001(user1)

image.gif

也可以直接通过tail 查看是否添加用户成功。

image.gif 编辑

将用户user1加入root用户组中,这样扩展组列表中会出现root用户组的字样,而基本组不会受到影响:

[root@rhel7-lzq-01 ~]# usermod -G root user1
[root@rhel7-lzq-01 ~]# id user1
uid=1001(user1) gid=1001(user1) 组=1001(user1),0(root)

image.gif

用-g参数修改用户的基本组ID,用-G参数修改用户扩展组ID

[root@rhel7-lzq-01 ~]# id user1
uid=1001(user1) gid=1001(user1) 组=1001(user1),0(root)
[root@rhel7-lzq-01 ~]# usermod -u 8888 user1
[root@rhel7-lzq-01 ~]# id user1
uid=8888(user1) gid=1001(user1) 组=1001(user1),0(root)

image.gif

修改用户user1的主目录为/var/user1,把启动shell修改为/bin/tcsh,完成后恢复到初始状态,操作如下:

#### 默认目录和shell编辑器 ########
[root@rhel7-lzq-01 ~]# tail -n 5 /etc/passwd
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
lu:x:1000:1000:lu:/home/lu:/bin/bash
user1:x:1001:1001::/home/user1:/bin/bash

image.gif

#### 修改目录:########
[root@rhel7-lzq-01 ~]# usermod -d /var/user1 -s /bin/tcsh user1
[root@rhel7-lzq-01 ~]# tail -3 /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
lu:x:1000:1000:lu:/home/lu:/bin/bash
user1:x:8888:1001::/var/user1:/bin/tcsh
[root@rhel7-lzq-01 ~]#

image.gif

#### 恢复原状 ########
[root@rhel7-lzq-01 ~]# usermod -d /home/user1 -s /bin/bash user1
[root@rhel7-lzq-01 ~]# tail -3 /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
lu:x:1000:1000:lu:/home/lu:/bin/bash
user1:x:8888:1001::/home/user1:/bin/bash

image.gif

1.2 禁用和恢复用户账户

有时需要临时禁用一个账户而不删除它。禁用用户账户可以用passwd或usermod命令实现,也可以直接修改/etc/passwd或/etc/shadow文件。

例如,暂时禁用和恢复user1账户,可以使用以下3种方法实现。

(1)使用passwd命令

修改用户口令(密码)信息

[root@rhel7-lzq-01 ~]# passwd user1
更改用户 user1 的密码 
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

image.gif

锁定用户:

[root@rhel7-lzq-01 ~]# passwd -l  user1
锁定用户 user1 的密码 
passwd: 操作成功

image.gif

查看锁定情况:

使用passwd命令禁用user1账户,利用tail命令可以看到被锁定的账户密码栏前面会加上“!”

[root@rhel7-lzq-01 ~]# tail -1 /etc/shadow
user1:!!$6$CM5uCdgm$bwxneTRd62xKfVzheARIlBfpA3XYADrK8JeRE7SZXU5KvhY35MJXN1FTgvMLBEAKk/5ds7aqWzIcRb7do3EZz.:20017:0:99999:7:::

image.gif

解除锁定并查看结果:

利用passwd命令的-u选项解除账户锁定,重新启用user1账户

[root@rhel7-lzq-01 ~]# passwd -u user1
解锁用户 user1 的密码。
passwd: 操作成功
[root@rhel7-lzq-01 ~]# tail -1 /etc/shadow
user1:$6$CM5uCdgm$bwxneTRd62xKfVzheARIlBfpA3XYADrK8JeRE7SZXU5KvhY35MJXN1FTgvMLBEAKk/5ds7aqWzIcRb7do3EZz.:20017:0:99999:7:::

image.gif

(2)使用usermod命令

[root@rhel7-lzq-01 ~]# usermod -L user1
[root@rhel7-lzq-01 ~]# tail -1 /etc/shadow
user1:!$6$CM5uCdgm$bwxneTRd62xKfVzheARIlBfpA3XYADrK8JeRE7SZXU5KvhY35MJXN1FTgvMLBEAKk/5ds7aqWzIcRb7do3EZz.:20017:0:99999:7:::
[root@rhel7-lzq-01 ~]# usermod -U user1
[root@rhel7-lzq-01 ~]# tail -1 /etc/shadow
user1:$6$CM5uCdgm$bwxneTRd62xKfVzheARIlBfpA3XYADrK8JeRE7SZXU5KvhY35MJXN1FTgvMLBEAKk/5ds7aqWzIcRb7do3EZz.:20017:0:99999:7:::

image.gif

(3)直接修改用户账户配置文件

可将/etc/shadow文件中关于user1账户的passwd域的第一个字符前面加上一个“!”,达到禁用账户的目的,在需要恢复的时候只要删除字符“!”即可。

1.3 删除用户账户

要删除一个账户,可以直接删除/etc/passwd和/etc/shadow文件中要删除的用户所对应的行,或者用userdel命令删除。userdel命令的格式为

userdel [-r] 用户名

如果不加-r选项,userdel命令会在系统中所有与账户有关的文件中(例如/etc/passwd,/etc/shadow,/etc/group)将用户的信息全部删除。

如果加-r选项,则在删除用户账户的同时,还将用户主目录以及其下的所有文件和目录全部删除掉。另外,如果用户使用E-mail的话,同时也将/var/spool/mail目录下的用户文件删掉。

[root@rhel7-lzq-01 ~]# userdel -r user1
[root@rhel7-lzq-01 ~]# tail -5 /etc/passwd
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
lu:x:1000:1000:lu:/home/lu:/bin/bash
# user1 已经被删除了

image.gif

2 维护组群

2.1 添加组

[root@rhel7-lzq-01 ~]# groupadd testgroup
[root@rhel7-lzq-01 ~]# cat /etc/group
...
ntp:x:38:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
lu:x:1000:
testgroup:x:1001:

image.gif

2.2 删除组

要删除一个组可以用groupdel命令,例如删除刚创建的testgroup组时可用以下命令:

[root@rhel7-lzq-01 ~]# groupdel testgroup
[root@rhel7-lzq-01 ~]# tail -5 /etc/group
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
lu:x:1000:

image.gif

2.3 修改组群

修改组群的命令是groupmod,其命令格式为

groupmod [选项] 组名

常见的命令选项如下表所示。

选 项 说 明
-g gid 把组群的GID改成gid
-n group-name 把组群的名称改为group-name
-o 强制接受更改的组的GID为重复的号码

修改组名

[root@rhel7-lzq-01 ~]# groupmod -n lzq lu
[root@rhel7-lzq-01 ~]# tail -5 /etc/group
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
lzq:x:1000:

image.gif

3 为组群添加用户

在Red Hat Linux中使用不带任何参数的useradd命令创建用户时,会同时创建一个和用户账户同名的组群,称为主组群。当一个组群中必须包含多个用户时,则需要使用附属组群。在附属组中增加、删除用户都用gpasswd命令。gpasswd命令的格式为

gpasswd [选项] [用户] [组]

只有root用户和组管理员才能够使用这个命令,命令选项如下表所示:

选 项 说 明
-a 把用户加入组
-d 把用户从组中删除
-r 取消组的密码
-A 给组指派管理员

例子:

要把user1用户加入testgroup组,并指派user1为管理员,可以执行下列命令:

[root@rhel7-lzq-01 ~]# groupadd  testgroup 
[root@rhel7-lzq-01 ~]# gpasswd -a user1 testgroup
[root@rhel7-lzq-01 ~]# gpasswd -A user1 testgroup

image.gif

4 su命令和sudo命令的使用

4.1 su 命令

su命令可以解决切换用户身份的需求,使得当前用户在不退出登录的情况下,顺畅地切换到其他用户,比如从root管理员切换至普通用户:

[root@rhel7-lzq-01 ~]# id
uid=0(root) gid=0(root) =0(root) =unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@rhel7-lzq-01 ~]# useradd -G testgroup test
[root@rhel7-lzq-01 ~]# su - test
[test@rhel7-lzq-01 ~]$ id
uid=1001(test) gid=1002(test) =1002(test),1001(testgroup) =unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

image.gif

当从root管理员切换到普通用户时是不需要密码验证的,而从普通用户切换成root管理员就需要进行密码验证。

[test@rhel7-lzq-01 ~]$ su root
密码:
[root@rhel7-lzq-01 test]# su - test
上一次登录:一 1021 09:41:01 CST 2024pts/0 上
[test@rhel7-lzq-01 ~]$ exit
登出
[root@rhel7-lzq-01 test]#

image.gif

4.2 sudo

尽管像上面这样使用su命令后,普通用户可以完全切换到root管理员身份来完成相应工作,但这会暴露root管理员的密码,从而增大了系统密码被黑客获取的概率,因此上述操作并不是最安全的方案。

这个命令自学。

相关文章
|
3天前
|
存储 人工智能 弹性计算
阿里云弹性计算_加速计算专场精华概览 | 2024云栖大会回顾
2024年9月19-21日,2024云栖大会在杭州云栖小镇举行,阿里云智能集团资深技术专家、异构计算产品技术负责人王超等多位产品、技术专家,共同带来了题为《AI Infra的前沿技术与应用实践》的专场session。本次专场重点介绍了阿里云AI Infra 产品架构与技术能力,及用户如何使用阿里云灵骏产品进行AI大模型开发、训练和应用。围绕当下大模型训练和推理的技术难点,专家们分享了如何在阿里云上实现稳定、高效、经济的大模型训练,并通过多个客户案例展示了云上大模型训练的显著优势。
|
7天前
|
存储 人工智能 调度
阿里云吴结生:高性能计算持续创新,响应数据+AI时代的多元化负载需求
在数字化转型的大潮中,每家公司都在积极探索如何利用数据驱动业务增长,而AI技术的快速发展更是加速了这一进程。
|
3天前
|
人工智能 运维 双11
2024阿里云双十一云资源购买指南(纯客观,无广)
2024年双十一,阿里云推出多项重磅优惠,特别针对新迁入云的企业和初创公司提供丰厚补贴。其中,36元一年的轻量应用服务器、1.95元/小时的16核60GB A10卡以及1元购域名等产品尤为值得关注。这些产品不仅价格亲民,还提供了丰富的功能和服务,非常适合个人开发者、学生及中小企业快速上手和部署应用。
|
12天前
|
人工智能 弹性计算 文字识别
基于阿里云文档智能和RAG快速构建企业"第二大脑"
在数字化转型的背景下,企业面临海量文档管理的挑战。传统的文档管理方式效率低下,难以满足业务需求。阿里云推出的文档智能(Document Mind)与检索增强生成(RAG)技术,通过自动化解析和智能检索,极大地提升了文档管理的效率和信息利用的价值。本文介绍了如何利用阿里云的解决方案,快速构建企业专属的“第二大脑”,助力企业在竞争中占据优势。
|
14天前
|
自然语言处理 数据可视化 前端开发
从数据提取到管理:合合信息的智能文档处理全方位解析【合合信息智能文档处理百宝箱】
合合信息的智能文档处理“百宝箱”涵盖文档解析、向量化模型、测评工具等,解决了复杂文档解析、大模型问答幻觉、文档解析效果评估、知识库搭建、多语言文档翻译等问题。通过可视化解析工具 TextIn ParseX、向量化模型 acge-embedding 和文档解析测评工具 markdown_tester,百宝箱提升了文档处理的效率和精确度,适用于多种文档格式和语言环境,助力企业实现高效的信息管理和业务支持。
3935 2
从数据提取到管理:合合信息的智能文档处理全方位解析【合合信息智能文档处理百宝箱】
|
3天前
|
算法 安全 网络安全
阿里云SSL证书双11精选,WoSign SSL国产证书优惠
2024阿里云11.11金秋云创季活动火热进行中,活动月期间(2024年11月01日至11月30日)通过折扣、叠加优惠券等多种方式,阿里云WoSign SSL证书实现优惠价格新低,DV SSL证书220元/年起,助力中小企业轻松实现HTTPS加密,保障数据传输安全。
494 3
阿里云SSL证书双11精选,WoSign SSL国产证书优惠
|
10天前
|
安全 数据建模 网络安全
2024阿里云双11,WoSign SSL证书优惠券使用攻略
2024阿里云“11.11金秋云创季”活动主会场,阿里云用户通过完成个人或企业实名认证,可以领取不同额度的满减优惠券,叠加折扣优惠。用户购买WoSign SSL证书,如何叠加才能更加优惠呢?
984 3
|
7天前
|
机器学习/深度学习 存储 人工智能
白话文讲解大模型| Attention is all you need
本文档旨在详细阐述当前主流的大模型技术架构如Transformer架构。我们将从技术概述、架构介绍到具体模型实现等多个角度进行讲解。通过本文档,我们期望为读者提供一个全面的理解,帮助大家掌握大模型的工作原理,增强与客户沟通的技术基础。本文档适合对大模型感兴趣的人员阅读。
391 15
白话文讲解大模型| Attention is all you need
|
7天前
|
算法 数据建模 网络安全
阿里云SSL证书2024双11优惠,WoSign DV证书220元/年起
2024阿里云11.11金秋云创季火热进行中,活动月期间(2024年11月01日至11月30日),阿里云SSL证书限时优惠,部分证书产品新老同享75折起;通过优惠折扣、叠加满减优惠券等多种方式,阿里云WoSign SSL证书将实现优惠价格新低,DV SSL证书220元/年起。
559 5
|
3天前
|
安全 网络安全
您有一份网络安全攻略待领取!!!
深入了解如何保护自己的云上资产,领取超酷的安全海报和定制鼠标垫,随时随地提醒你保持警惕!
689 1
您有一份网络安全攻略待领取!!!