Linux用户及用户组管理命令

Linux操作系统是一种基于UNIX的多用户、多任务的操作系统。在Linux系统中,用户和用户组的管理是非常重要的,因为它关系到系统安全和多用户环境下的资源共享。本文将详细介绍Linux中用户和用户组管理的相关命令,帮助用户更好地理解和管理Linux系统。

1. 用户管理命令

1.1 添加用户

  • useradd:添加新用户
    • 语法:useradd [选项] 用户名
    • 示例:useradd -m john 添加一个新用户john,并为其创建家目录。

系统将创建一个新用户john, 该用户的 Home 目录为/home/john

useradd 命令的参数较多 常用的组合为
useradd 用户名 -g 组名 –G 组名 -d Home 目录名 -p 密码
其中 -g 指定该用户的首要组
-G 指定该用户的次要组
-d 指定该用户的 Home 目录
-p 指定该用户的密码
如输入以下命令
useradd oracle –g oinstall –G dba –d /home/oracle –p ora123
系统将创建一个用户 oracle oracle 用户的首要组为 oinstall 次要组为 dba
Home 目录为/home/oracle 密码为 ora123

1.2 删除用户

  • userdel:删除用户账号
    • 语法:userdel [选项] 用户名
    • 示例:userdel -r john 删除用户john,并将其家目录一并删除。

1.3 修改用户信息

  • usermod:修改用户信息
    • 语法:usermod [选项] 用户名
    • 示例:usermod -G developers john 将用户john添加到developers组。

1.4 查看用户信息

  • id:显示用户的用户ID、组ID及所属的用户组

    • 语法:id 用户名
    • 示例:id john 显示用户john的用户ID、组ID及所属的用户组信息。
  • finger:显示用户的详细信息

    • 语法:finger [选项] 用户名
    • 示例:finger john 显示用户john的详细信息。

2. 用户组管理命令

2.1 添加用户组

  • groupadd:添加新的用户组
    • 语法:groupadd [选项] 组名
    • 示例:groupadd developers 添加一个名为developers的新组。

2.2 删除用户组

  • groupdel:删除用户组
    • 语法:groupdel 组名
    • 示例:groupdel developers 删除名为developers的用户组。

2.3 修改用户组信息

  • groupmod:修改用户组信息
    • 语法:groupmod [选项] 组名
    • 示例:groupmod -n newname developers 将developers组重命名为newname组。

2.4 查看用户组信息

  • getent:获取条目信息

    • 语法:getent group 组名
    • 示例:getent group developers 获取developers组的信息。
  • groups:显示用户所属的所有用户组

    • 语法:groups 用户名
    • 示例:groups john 显示用户john所属的所有用户组信息。

3. 其它相关命令

3.1. passwd

出于系统安全考虑 Linux系统中的每一个用户除了有其用户名外还有其对应的用户口令 用户可以随时用 passwd 命令改变自己的口令 该命令的一般格式为:

  • passwd

输入该命令后 按系统提示依次输入密码和密码确认后 即可完成用户密码的修改
此外 超级用户还可以修改其他用户的口令 命令如下:

  • passwd 用户名

3.2. su

su 命令这个命令非常重要 它可以让一个普通用户拥有超级用户或其他用户的权限 也可以让超级用户以普通用户的身份做一些事情 普通用户使用这个命令时必须有超级用户或其他用户的口令 如要离开当前用户的身份 可以键入 exit 命令 su 命令的一般形式为:

  • su - 用户名

3.3. chmod

chmod 命令是非常重要的 用于改变文件或目录的访问权限 该命令有两种用法 一种是包含字母和操作符表达式的文字设定法 另一种是包含数字的数字设定法
由于数字设定法不太直观 本文不做介绍 文字设定法的用法如下

  • chmod [who] [+ | - | =] [mode] 文件名

命令中各选项的含义为:
1. 操作对象 who 可以是下述字母中的任一个或者它们的组合
u 表示用户(user) 即文件或目录的所有者
g 表示同组(group)用户 即与文件属主有相同组 ID 的所有用户
o 表示其他(others)用户
a 表示所有(all)用户 它是系统默认值
2. 操作符号可以是
+ 添加某个权限
- 取消某个权限
= 赋予给定权限,并取消其他所有权限
3. mode 表示权限 常用的参数有
r 可读
w 可写
x 可执行

举例

1. 将文件 script 的权限设为可执行 命令如下:

  • chmod =rx text

执行成功后 用 ls -l script 命令查看文件属性的结果如下
-r-xr-xr-x 1 user group 0 Feb 10 09:42 script
2. 将文件 text 的权限设为 文件属主可读 可写 可执行 与文件属主同组
的用户可读 其他用户不可读 命令如下:

  • chmod u=rwx,g=r,o= text

注意,后无空格 o=后有空格,执行成功后 用 ls –l text 命令查看文件属性的结果如下
-rwxr----- 1 user group 0 Feb 10 09:42 text

3.4. chown

chown 用于更改某个文件或目录的属主和属组 这个命令也很常用 例如
root 用户把自己的一个文件拷贝给用户 oracle 为了让用户 oracle 能够存
取这个文件 root 用户应该把这个文件的属主设为oracle 否则用户oracle
无法存取这个文件 chown 的基本用法为
chown [用户:组] 文件

举例

  • chown oracle:dba text

该命令将 text 文件的属主和属组分别改为 oracle 和 dba

4. 管理用户和用户组的注意事项

  • 在添加或删除用户和用户组时,需要注意对系统的影响,尤其是当操作的是系统关键用户或用户组时。
  • 修改用户信息或用户组信息时,需要确保新的信息符合系统的安全策略和业务需求。
  • 在进行用户和用户组管理操作时,建议使用root用户或具有相应权限的用户执行,以避免权限不足导致的错误。
  • 定期审计用户和用户组信息,确保系统的用户和用户组配置符合组织的安全策略。

通过上述命令和注意事项的介绍,相信用户可以更加熟练地进行Linux系统下的用户及用户组管理。合理地管理用户和用户组,不仅可以提高系统的安全性,还可以有效地实现资源共享和权限控制,为多用户环境下的系统管理提供便利。

目录

1. 用户管理命令

1.1 添加用户

1.2 删除用户

1.3 修改用户信息

1.4 查看用户信息

2. 用户组管理命令

2.1 添加用户组

2.2 删除用户组

2.3 修改用户组信息

2.4 查看用户组信息

3. 其它相关命令

3.1. passwd

3.2. su

3.3. chmod

3.4. chown

4. 管理用户和用户组的注意事项


 

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

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

相关文章

.NET MVC API Swagger 自动生成API文档入坑

开发环境 Win10 VS2022 .NET8.0 1.从NuGet添加Swagger 在解决方案资源管理器中右键单击项目>管理 NuGet 包 将包源设置为“nuget.org” 确保启用“包括预发行”选项 在搜索框中输入“Swashbuckle.AspNetCore” 从“浏览”选项卡中选择最新的“Swashbuckle.AspNetCore”包&a…

springboot 发布webservice接口

1. pom 文件加包 <dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-frontend-jaxws</artifactId><version>3.2.4</version></dependency><dependency><groupId>org.apache.cxf</groupId>&…

NVM的安装与配置

目录 一、简介二、下载2.1、windows环境下载地址2.2、安装 三、配置3.1、查看可安装版本3.2、安装版本3.3、使用和切换版本3.4、模块配置 四、其他4.1、全局安装pnpm4.2、常用nvm命令 一、简介 NVM&#xff0c;全称为Node Version Manager&#xff0c;是一个流行的命令行工具&a…

OpenHarmony实战开发-在Native侧实现进度通知功能。

介绍 本示例通过模拟下载场景介绍如何将Native的进度信息实时同步到ArkTS侧。 效果图预览 使用说明 点击“Start Download“按钮后&#xff0c;Native侧启动子线程模拟下载任务Native侧启动子线程模拟下载&#xff0c;并通过Arkts的回调函数将进度信息实时传递到Arkts侧 实…

ubuntu 使用conda 创建虚拟环境总是报HTTP错误,转换多个镜像源之后仍报错

最近在使用Ubuntu conda创建虚拟环境时&#xff0c;总是报Http错误&#xff0c;如下图所示&#xff1a; 开始&#xff0c;我以为是conda 镜像源的问题&#xff0c;但是尝试了好几个镜像源都不行&#xff0c;还是报各种各样的HTTP错误。后来查阅很多&#xff0c;总算解决了。解…

spring高级篇(一)

1、ApplicationContext与BeanFactory BeanFactory是ApplicationContext的父级接口&#xff1a;&#xff08;citlaltu查看类关系图&#xff09; 在springboot的启动类中&#xff0c;我们通过SpringApplication.run方法拿到的是继承了ApplicationContext的ConfigurableApplicatio…

PHP直播电商平台APP开发应该具有的功能和搭建之前应该思考的过程?

直播电商平台是一个充满活力和潜力的领域&#xff0c;可以为用户提供全新的购物体验。以下是一些开发和搭建直播电商平台的想法&#xff1a; 功能丰富的直播模块&#xff1a; 实现主播与观众之间的实时互动&#xff0c;包括文字聊天、语音聊天、送礼物、打赏等功能。 商品展示…

竞技游戏新纪元:如何打造满足现代玩家需求的极致体验?

文章目录 一、现代玩家需求分析二、以玩家体验为核心的游戏设计三、个性化与定制化服务四、强化社交互动与社区建设五、持续更新与优化《游戏力&#xff1a;竞技游戏设计实战教程》亮点编辑推荐内容简介目录获取方式 随着科技的飞速发展和游戏产业的不断壮大&#xff0c;现代玩…

【程序分析】3-4 数据流分析-三种应用

目录 Reach Definition 可达分析 may analysis 算法 为什么会停&#xff1f; 活变量分析 may analysis: 不放过任何 path&#xff0c;v 在这条 path 上这条 path 就都要考虑 算法-后向传播 可用表达式分析 must analysis-不会误报&#xff0c;可能漏报 算法&#xff…

关于万兆以太网IP核仿真相关问题

文章目录 一、sim_speedup_control信号二、 一、sim_speedup_control信号 一般来说我们自己进行仿真时候该信号都直接给1&#xff0c;之前的高速IP核好像并没有出过错误&#xff0c;但是10G PCSPMS IP核进行仿真的时候&#xff0c;该信号必须要先置为0&#xff0c;等待用户复位…

react17 + antd4 如何实现Card组件与左侧内容对齐并撑满高度

在使用antd进行页面布局时&#xff0c;经常会遇到需要将内容区域进行左右分栏&#xff0c;并在右侧区域内放置一个或多个Card组件的情况。然而&#xff0c;有时我们会发现右侧的Card组件并不能与左侧的栏目对齐&#xff0c;尤其是当左侧栏目高度动态变化时。本文将介绍如何使用…

BTI性能开销权衡及优化措施

BTI分支目标识别精讲与实践系列 思考 1、什么是代码重用攻击&#xff1f;什么是ROP攻击&#xff1f;区别与联系&#xff1f; 2、什么是JOP攻击&#xff1f;间接分支跳转指令&#xff1f; 3、JOP攻击的缓解技术&#xff1f;控制流完整性保护&#xff1f; 4、BTI下的JOP如何…