轻松搞懂Linux中的用户管理

news2024/9/27 17:36:09

在这里插入图片描述

文章目录

  • 概念
  • 用户账户
  • 用户组
  • 用户权限
  • 用户管理工具

概念

用户管理是Linux系统管理员必须掌握的重要技能之一。Linux系统是一个多用户操作系统,可以支持多个用户同时使用,每个用户拥有自己的账户和权限,因此管理员需要了解如何创建、管理和删除用户账户,并设置用户权限以及如何为用户分配组和角色等。在本篇博客中,我将详细讨论Linux用户管理的各个方面,以及常见的用户管理工具和技巧,帮助读者掌握Linux用户知识。

用户账户

用户账户是Linux系统中的基本概念,每个用户都有一个唯一的账户名和密码,用于登录系统并执行各种操作。管理员可以创建、修改和删除用户账户,以及配置用户的权限和属性。

  1. 创建用户账户

在Linux系统中,可以使用useradd命令来创建用户账户。语法如下:

useradd [选项] 用户名

例如,要创建一个名为bob的用户,可以使用以下命令:

useradd bob

执行该命令后,系统会自动为bob用户创建一个主目录/home/bob,并分配一个默认的shell/bin/bash。如果需要指定其他的shell或目录,可以使用以下选项

  • -m:自动创建用户的主目录
  • -s shell:指定用户的默认shell。
  • -c:设置用户的注释信息。
  • -d:指定用户的主目录。
  • -g:指定用户所属的主组。

例如,以下命令将创建一个名为“john”的新用户,并将其主目录设置为“/home/john”,默认Shell设置为“/bin/bash”:

useradd -d /home/john -s /bin/bash john
  1. 修改用户账户

管理员可以使用usermod命令修改现有的用户账户。例如,要将bob用户的默认shell修改为/bin/zsh,可以使用以下命令:

usermod -s /bin/zsh bob

还可以使用usermod命令修改用户的UID、GID、主目录和登录名等属性。例如,要将alice用户的UID修改为1001,可以使用以下命令:

usermod -u 1001 alice
  1. 删除用户账户

在不需要某个用户账户时,可以使用userdel命令将其删除。例如,要删除bob用户的账户和主目录,可以使用以下命令:

userdel -r bob

其中,-r选项表示同时删除用户主目录。

  1. 修改用户密码

在Linux系统中,可以使用passwd命令来修改用户的密码。以下是修改用户密码的基本命令:

passwd 用户名

在执行上述命令时,系统会提示您输入新密码。请注意,在Linux系统中,密码不会在命令行中显示。

  1. 切换用户

在Linux系统中,可以使用su命令来切换用户。以下是切换用户的基本命令:

su 用户名

在执行上述命令时,系统会提示您输入目标用户的密码。当高权限用户切换低权限用户时,不需要输入密码

用户组

用户组是一组相关用户的集合,它们共享相同的权限和属性。在Linux系统中,每个用户都必须属于至少一个用户组。管理员可以创建、修改和删除用户组,以及将用户添加到不同的组中。

  1. 创建用户组

在Linux系统中,可以使用groupadd命令来创建用户组。例如,要创建一个名为dev的用户组,可以使用以下命令:

groupadd dev
  1. 修改用户组

管理员可以使用groupmod命令修改现有的用户组。例如,要将dev用户组的GID修改为1001,可以使用以下命令:

groupmod -g 1001 dev

还可以使用groupmod命令修改用户组的名称。例如,要将dev用户组的名称修改为developers,可以使用以下命令:

groupmod -n developers dev
  1. 删除用户组

在不需要某个用户组时,可以使用groupdel命令将其删除。例如,要删除developers用户组,可以使用以下命令:

groupdel developers #保留用户文件
groupdel -r developers #不保留用户文件

用户权限

Linux系统中的文件和目录都有一些权限属性,包括读、写、执行等。用户可以通过权限属性来控制对文件和目录的访问和操作。管理员可以通过用户权限来控制用户的访问和操作范围。

  1. 文件和目录权限

Linux系统中,每个文件和目录都有一个所有者和一个所属用户组。所有者和用户组可以分别设置读、写和执行权限。管理员可以使用chmod命令来修改文件和目录的权限属性。

在Linux系统中,每个文件或目录都有三种不同类型的访问权限,分别是读取(r)、写入(w)和执行(x)。这些权限是分配给三个不同的用户组,包括文件所有者、文件所属组和其他用户。

chmod命令的语法格式如下:

chmod [who][operator][permission] file

其中,who代表要设置权限的用户组,operator表示要执行的操作,permission表示要设置的权限。

who的取值包括:

  • u:表示文件所有者
  • g:表示文件所属组
  • o:表示其他用户
  • a:表示所有用户(等价于ugo)

operator的取值包括:

  • +:表示添加权限
  • -:表示删除权限
  • =:表示设置权限为指定值

permission的取值包括:

  • r:表示读取权限
  • w:表示写入权限
  • x:表示执行权限
  • s:表示设置SUID或SGID位
  • t:表示设置粘着位

例如,要将文件test.txt的所有者的写权限关闭,可以使用以下命令:

chmod u-w test.txt

chmod命令也可以使用数字修改文件权限

r --> 4
w --> 2
x --> 1

拿 rwxrw-r-x 来说,所有者、所属组和其他人分别对应的权限值为:
所有者 = rwx = 4+2+1 = 7
所属组 = rw- = 4+2 = 6
其他人 = r-x = 4+1 = 5
所以,此权限对应的权限值就是 765。

例如:打开file.txt文件的所有权

chmod 777 file.txt
  1. sudo权限

在Linux系统中,管理员可以通过sudo命令将某个普通用户提升为管理员用户,以便其执行需要管理员权限的操作。管理员可以使用visudo命令编辑sudo配置文件/etc/sudoers,以控制用户的sudo权限。例如,以下行允许用户bob以管理员身份执行所有命令:

bob ALL=(ALL) ALL

其中,第一个bob表示用户账户,第二个ALL表示可以在任何主机上执行,(ALL)表示可以作为任何用户执行,第三个ALL表示可以执行任何命令。

用户管理工具

Linux系统中,有许多命令行工具和图形化工具可以帮助管理员进行用户管理。以下是一些常用的用户管理工具。

  1. useradd
    useradd命令用于创建用户账户。管理员可以使用各种选项来指定用户的属性和权限。

  2. usermod
    usermod命令用于修改现有的用户账户。管理员可以使用各种选项来修改用户的属性和权限。

  3. userdel
    userdel命令用于删除用户账户。管理员可以使用-r选项来同时删除用户主目录。

  4. groupadd
    groupadd命令用于创建用户组。管理员可以使用各种选项来指定用户组的属性和权限。

  5. groupmod
    groupmod命令用于修改现有的用户组。管理员可以使用各种选项来修改用户组的属性和权限。

  6. groupdel
    groupdel命令用于删除用户组。

  7. visudo
    visudo命令用于编辑sudo配置文件/etc/sudoers,以控制用户的sudo权限。

  8. GNOME 用户和组
    除了命令行工具外,还有一些图形化工具可以帮助管理员进行用户管理。GNOME 用户和组是一个在 GNOME 桌面环境下使用的用户管理工具,可以帮助管理员轻松管理用户和用户组。

    要打开 GNOME 用户和组,可以按下Alt+F2快捷键打开运行对话框,然后输入gnome-system-tools并按回车键。在打开的“用户和组”窗口中,可以添加、修改和删除用户和用户组。

  9. Webmin
    Webmin 是一个基于 web 的管理界面,可以让管理员通过 web 浏览器管理 Linux 系统。Webmin 提供了许多模块,包括用户和组模块,可以帮助管理员进行用户管理。

总的来说,Linux 用户管理是非常重要的,管理员可以通过用户管理来控制用户的访问和操作范围,以保证系统的安全性和稳定性。在本文中,我们介绍了 Linux 用户管理的基础知识,包括用户账户的创建、删除和修改,以及用户组的创建、删除和修改。我们还介绍了一些图形化工具,包括 GNOME 用户和组和Webmin,可以帮助管理员更方便地进行用户管理。

同时,我们还提到了一些注意事项,如不要将 root 用户授权给其他用户、使用强密码等。这些注意事项可以帮助管理员确保系统的安全性。希望这篇文章对初学者和有经验的管理员都有所帮助。


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

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

相关文章

当参数调优无法解决kafka消息积压时可以这么做

今天的议题是:如何快速处理kafka的消息积压 通常的做法有以下几种: 增加消费者数增加 topic 的分区数,从而进一步增加消费者数调整消费者参数,如max.poll.records增加硬件资源 常规手段不是本文的讨论重点或者当上面的手段已经使…

vue 在install时候node-sass@4.14.1 postinstall: node scripts/build.js错误

今天重装了node和Vue脚手架,在install的时候报了下面的错误 报错如下: Build failed with error code: 1 [npminstall:runscript:error] node-sass^4.14.1 run postinstall node scripts/build.js error: Error: Command failed with exit code 1: node…

Allegro如何输出钻孔表操作指导

Allegro如何输出钻孔表操作指导 用Allegro做PCB设计的时候,需要输出钻孔表格,用于生产加工,如下图 如何输出钻孔表,具体操作如下 点击Manufacture点击NC

面试问题【集合】

集合常见的集合有哪些List、Set、Map 的区别ArrayList 和 Vector 的扩容机制Collection 和 Collections 有什么区别ArrayList 和 LinkedList 的区别是什么ArrayList 和 Vector 的区别是什么ArrayList 和 Array 有何区别ArrayList 集合加入1万条数据,应该怎么提高效率…

全面了解 B 端产品设计 — 基础扫盲篇

在今天,互联网的影响力与作用与日俱增,除了我们日常生活领域的改变以外,对于商业领域的渗透也见效颇丰。 越来越多的企业开始使用数字化的解决方案来助力企业发展,包括日常管理、运营、统计等等。或者通过互联网的方式开发出新的业务形态,进行产业升级,如这几年风头正劲的…

WMS相关知识点

目录一、WMS简介二、窗口的分类三、添加Window一、WMS简介 Window:在Android视图体系中Window就是一个窗口的概念。Android中所有的视图都是依赖于Window显示的。 Window是一个抽象的概念,它对应屏幕上的一块显示区域,它不是实实在在的内容&…

大学生实践| 微软ATP“师徒制”AI实战项目收获满满!

ChatGPT在极短时间内掀起了一轮AI狂潮,AI数据、AI大模型、AIGC……对我们AI实践项目感兴趣的同学也越来越多!微软(亚洲)互联网工程院下属的微软ATP为大学生们提供了丰富的企业级实践项目。2个月内!本期优秀的Chen同学在微软AI工程师团队带领下…

研报精选230301

目录 【行业230301天风证券】家用电器23W9周度研究:一图解读立达信招股说明书【行业230301财信证券】风电设备行业深度:受益大兆瓦、国产替代和技术进步,风电轴承or滚子有望迎来高景气度【行业230301中泰证券】有色金属行业周报:静…

composer安装thinkphp

人家的官方文档上步骤都有了,按照步骤走就行 安装composer 不作赘述 附一个文档链接: 安装 ThinkPHP5.1完全开发手册 看云 主要说一个自己踩过的坑吧 composer create-project topthink/think5.1.* tp5 在输入这个命令以后提示 [Composer\Downl…

git repack多包使用及相关性能测试

1、git数据结构 git 中存在四种数据结构,即object包含四种,分别是tree对象、blob对象、commit对象、tag对象 1.1 blob对象 存储文件内容,内容是二进制的形式,通过SHA-1算法对文件内容和头信息进行计算得到key(文件名)。 如果一…

一款优秀的低代码开发平台是什么样的?

目录 一、一款优秀的低代码平台应该是什么样的? 二、低代码核心能力 01、全栈可视化编程: 02、全生命周期管理: 03、低代码扩展能力: 三、小结 一、一款优秀的低代码平台应该是什么样的? 从企业角度来说&#x…

模拟QQ登录-课后程序(JAVA基础案例教程-黑马程序员编著-第十一章-课后作业)

【案例11-3】 模拟QQ登录 【案例介绍】 1.案例描述 QQ是现实生活中常用的聊天工具,QQ登录界面看似小巧、简单,但其中涉及的内容却很多,对于初学者练习Java Swing工具的使用非常合适。本案例要求使用所学的Java Swing知识,模拟实…

计算机组成原理(2.2)--系统总线

目录 一、总线结构 1.单总线结构 1.1单总线结构框图 ​编辑1.2单总线性能下降的原因 2.多总线结构 2.1双总线结构 2.2三总线结构 2.3四总线结构 ​编辑 二、总线结构举例 1. 传统微型机总线结构 2. VL-BUS局部总线结构 3. PCI 总线结构 4. 多层 PCI 总线结构 …

手撕八大排序(下)

目录 交换排序 冒泡排序: 快速排序 Hoare法 挖坑法 前后指针法【了解即可】 优化 再次优化(插入排序) 迭代法 其他排序 归并排序 计数排序 排序总结 结束了上半章四个较为简单的排序,接下来的难度将会大幅度上升&…

安卓逆向学习及APK抓包(二)--Google Pixel一代手机的ROOT刷入面具

注意:本文仅作参考勿跟操作,root需谨慎,本次测试用的N手Pixel,因参考本文将真机刷成板砖造成的损失与本人无关 1 Google Pixel介绍 1.1手机 google Pixel 在手机选择上,优先选择谷歌系列手机,Nexus和Pixel系列&…

mac系统上hdfs java api的简单使用

文章目录1、背景2、环境准备3、环境搭建3.1 引入jar包3.2 引入log4j.properties配置文件3.3 初始化Hadoop Api4、java api操作4.1 创建目录4.2 上传文件4.3 列出目录下有哪些文件4.4 下载文件4.5 删除文件4.6 检测文件是否存在5、完整代码1、背景 在上一节中,我们简…

五分钟进步系列之nginx(一)

学习方式:先读英文的原版,如果你能看懂就可以到此为止的了。如果你看不懂,可以再看一下我给的较高难度的英文单词的翻译。如果还是看不懂可以去最下面看我翻译的汉语。下面是我在nginx官网中找到的一段话,它给我们描述了nginx的负…

JAVA中加密与解密

BASE64加密/解密 Base64 编码会将字符串编码得到一个含有 A-Za-z0-9/ 的字符串。标准的 Base64 并不适合直接放在URL里传输,因为URL编码器会把标准 Base64 中的“/”和“”字符变为形如 “%XX” 的形式,而这些 “%” 号在存入数据库时还需要再进行转换&…

软件自动化测试工程师面试题集锦

以下是部分面试题目和我的个人回答,回答比较简略,仅供参考。不对之处请指出 1.自我介绍 答:姓名,学历专业,技能,近期工作经历等,可以引导到最擅长的点,比如说代码或者项目 参考&a…

Qt音视频开发19-vlc内核各种事件通知

一、前言 对于使用第三方的sdk库做开发,除了基本的操作函数接口外,还希望通过事件机制拿到消息通知,比如当前播放进度、音量值变化、静音变化、文件长度、播放结束等,有了这些才是完整的播放功能,在vlc中要拿到各种事…