Linux 服务器用户及用户组配置全攻略
gudong366 2025-04-21 23:46 8 浏览
作为互联网大厂的后端运维人员,日常工作中频繁与 Linux 服务器打交道。合理配置 Linux 服务器的用户以及用户组,对于保障服务器安全、提升运维效率起着至关重要的作用。今天,就来给大家详细讲讲这方面的操作,无论是初涉 Linux 服务器运维的新手,还是经验丰富的老鸟,相信都能从中收获实用的知识。
Linux 用户类型大揭秘
在深入了解用户及用户组配置之前,先得搞清楚 Linux 系统中用户的类型。Linux 系统主要有以下三种用户类型:
普通用户
这是最常见的用户类型,他们具备执行日常任务的权限,不过一般不能随意修改系统设置,也无法访问其他用户的文件。比如,公司里负责日常业务数据处理的同事,使用 Linux 服务器时可能就会以普通用户身份登录,他们能正常完成自己手头的数据处理工作,但不能去更改服务器的核心配置。
超级用户(root 用户)
root 用户拥有系统的最高权限,堪称 “王者” 一般的存在。系统维护和管理的诸多关键操作都离不开它,像安装、更新或删除软件包(特别是那些需要写入系统目录或更改系统配置的软件),修改系统文件和目录(例如/etc下的配置文件),管理用户账户和用户组(添加、删除用户或更改用户权限),执行系统级别的任务(如磁盘分区、格式化或挂载文件系统)等。
在进行故障排除和修复时,root 用户也起着关键作用,比如解决系统启动问题,编辑启动加载器的配置文件grub,修复文件系统错误或处理磁盘空间不足的情况,清除系统日志或重置系统设置以恢复系统正常运行等。在安全相关操作方面,安装或更新系统安全补丁,配置防火墙规则或 SELinux 策略,审查系统日志以监控潜在的安全威胁,都需要 root 用户的权限。
此外,执行需要大量系统资源的操作,如构建大型软件项目或进行系统备份,也会用到 root 用户权限。但由于 root 用户权限过高,一旦操作失误,可能会给系统带来严重后果,所以非必要时刻,应尽量避免使用 root 用户,更多时候是通过 sudo 命令让普通用户在需要时临时提升权限来执行特定管理任务。
系统用户
这类用户通常不是用来登录的,而是为了运行系统服务和应用程序而创建的。它们默默在后台工作,支撑着整个系统的稳定运行。
用户添加与管理
添加新用户
添加用户需要 root 权限,一般使用useradd命令。例如,要添加一个名为 “user1” 的用户,在终端输入:
sudo useradd user1
这里使用sudo命令,是因为普通用户默认没有添加用户的权限,sudo允许经过授权的用户以系统管理员(通常是 root 用户)的权限来运行程序或命令。sudo 使用时间戳文件来记录用户最近一次成功使用 sudo 的时间,默认有效期大约是 5 分钟,在这段时间内,用户再次使用 sudo 无需重新输入密码。
如果在添加用户时想要指定更多参数,各参数用法如下:
添加用户信息,使用-c或--comment "comment"选项,例如:
sudo useradd -c "This is user1" user1
指定用户的家目录,用-d或--home-dir directory选项,如:
sudo useradd -d /home/user1_dir user1
若未指定家目录,想创建默认的家目录,可加上-m或--create-home选项:
sudo useradd -m user1
指定用户的登录 shell 用-s或--shell shell选项,例如指定 bash 为登录 shell:
sudo useradd -s /bin/bash user1
指定用户的 UID 用-u或--uid uid选项,假设指定 UID 为 1001:
sudo useradd -u 1001 user1
将用户添加到额外的用户组用-G或--groups groups选项,如把用户添加到 “group2” 和 “group3” 组(假设组已存在):
sudo useradd -G group2,group3 user1
指定加密的密码用-p或--password password选项(实际操作中,不建议直接在命令中明文指定密码,通常使用passwd命令设置密码):
# 不推荐的示例,仅作参数说明
sudo useradd -p encrypted_password user1
指定账户的过期日期用-e或--expiredate date选项,日期格式为 YYYY - MM - DD,如设置 2025 年 12 月 31 日过期:
sudo useradd -e 2025 - 12 - 31 user1
指定密码过期后多少天内仍可登录用-L或--inactive days选项,假设设置为 7 天:
sudo useradd -L 7 user1
指定从密码过期开始,多少天后账户失效用-f或--inactive days选项,假设设置为 30 天:
sudo useradd -f 30 user1
不想创建家目录则用-M或--no - create - home选项:
sudo useradd -M user1
不记录到/var/log/lastlog和/var/相关日志用-N或--no - log - init选项 :
sudo useradd -N user1
添加完用户后,需要为用户设置密码,使用sudo passwd user1命令,按照提示输入新密码即可。有时可能会遇到 “密码未通过字典检查” 的提示,此时可直接忽略,再次输入一遍密码就行。
用户账户维护
修改用户信息
如果后续需要修改用户的相关信息,例如修改用户的家目录,可使用usermod命令。假设要将 “user1” 的家目录修改为 “/new/home/dir”,命令为:
sudo usermod -d /new/home/dir user1
删除用户
当某个用户不再需要时,可以使用userdel命令删除用户。比如要删除 “user1”,命令为:
sudo userdel user1
若要同时删除该用户的家目录,可加上-r选项,即:
sudo userdel -r user1
系统用户组的管理
用户组的概念
组群是具有相同特性的用户的逻辑集合,合理使用组群能极大地提高系统管理员组织和管理用户的工作效率。在为资源授权时,把权限赋予某个组群,比给每个用户单独授权要方便得多。当一个用户属于多个组群时,其中有一个组群是该用户的主组群(私有主群),其他组群则是附属组群(标准组群)。每个组群都有一个唯一的组群标识(GID),就如同每个用户都有唯一的用户标识(UID)一样。
创建和管理用户组
创建新用户组
使用sudo groupadd命令来创建新的用户组。例如,要创建一个名为 “group1” 的用户组,在终端输入:
sudo groupadd group1
为用户组添加用户
若要将用户添加到已有的用户组中,使用sudo usermod命令。比如要把 “user1” 添加到 “group1” 组,命令为:
sudo usermod -aG group1 user1
这里的-a选项表示追加,-G指定要加入的组群。
查看用户组信息
可以通过cat /etc/group命令查看系统中所有的用户组信息。该文件中每一行代表一个用户组,格式为 “组名:密码:GID: 组成员” 。执行命令如下:
cat /etc/group
修改用户组信息
如果要修改用户组的名称,使用groupmod命令。假设要将 “group1” 改名为 “new_group1”,命令为:
sudo groupmod -n new_group1 group1
其中-n选项表示新的名称。
理解用户账户和组群的配置文件
在 Linux 系统中,与用户账户和组群相关的配置文件主要有/etc/passwd、/etc/shadow和/etc/group 。
/etc/passwd
这个文件存储了系统中所有用户的基本信息,每行代表一个用户,格式为 “用户名:密码占位符:UID:GID: 用户信息:家目录:登录 Shell” 。虽然密码占位符通常显示为 “x”,但实际密码信息存储在/etc/shadow文件中。通过cat /etc/passwd命令可以查看所有用户信息,新建用户的信息会出现在文件的最后一行。执行命令:
cat /etc/passwd
/etc/shadow
该文件用于存储用户的密码及相关密码策略信息,只有 root 用户有权限查看。文件中每行格式为 “用户名:加密密码:上次修改密码的时间:密码最小使用期限:密码最大使用期限:密码过期警告天数:密码过期后宽限天数:账户失效日期:保留字段” 。由于权限限制,普通用户无法直接查看该文件内容,若以 root 用户查看,可执行:
sudo cat /etc/shadow
/etc/group
前面提到过,此文件记录了系统中所有用户组的信息,每行格式为 “组名:密码:GID: 组成员” 。查看命令与上述查看用户组信息命令相同:
cat /etc/group
权限设置与管理
在 Linux 系统中,权限设置对于保障服务器安全和资源合理访问至关重要。权限分为三个类别:所有者(user)、组(group)和其他人(others),可以针对文件、目录和命令进行权限调整以控制访问。
查看文件或目录的权限
使用ls -l命令可以以长格式显示文件和目录信息,其中就包含权限信息。例如,-rw-r--r--这样的权限表示文件所有者有读和写的权限,所属组群的成员只有读权限,其他用户也只有读权限。第一位的 “-” 表示这是一个文件,如果是 “d” 则表示目录。从第二位开始,每三位一组,分别对应所有者、组群和其他人的权限,“r” 代表读,“w” 代表写,“x” 代表执行。执行命令查看文件 “file.txt” 权限:
ls -l file.txt
修改权限 - chmod 命令
chmod命令用于修改文件或目录的权限。可以使用数字模式或符号模式来修改权限。
数字模式下,读权限对应 4,写权限对应 2,执行权限对应 1。比如要将一个文件 “file.txt” 的权限设置为所有者有读、写、执行权限,组群成员和其他用户只有读权限,命令为:
sudo chmod 744 file.txt
符号模式下,例如要给文件所有者添加执行权限,给组群成员和其他用户删除写权限,命令为:
sudo chmod u+x,g - w,o - w file.txt
其中 “u” 代表所有者,“g” 代表组群,“o” 代表其他人,“+” 表示添加权限,“-” 表示删除权限。
修改文件所有者和所属组群 - chown 和 chgrp 命令
chown命令用于修改文件或目录的所有者。例如,要将 “file.txt” 的所有者改为 “user1”,命令为:
sudo chown user1 file.txt
如果同时要修改所属组群为 “group1”,命令为:
sudo chown user1:group1 file.txt
chgrp命令专门用于修改文件或目录的所属组群,比如要将 “file.txt” 的所属组群改为 “group2”,命令为:
sudo chgrp group2 file.txt
合理配置 Linux 服务器的用户及用户组,再结合恰当的权限管理,能让我们的服务器运行得更加安全、高效。希望大家通过这篇文章,能熟练掌握相关操作,在日常的 Linux 服务器运维工作中更加得心应手。如果在实际操作过程中有任何问题,欢迎在评论区留言交流。
相关推荐
- 一文讲清怎么利用Python实现Linux系统日志检索分析管理系统
-
摘要:在现代IT运营与开发中,日志分析早已成为不可或缺的核心环节。无论是排查系统故障、进行安全审计,还是优化服务性能,日志文件始终是最真实、最权威的信息来源。Linux系统作为主流的服务器操作系统,其...
- Linux 思维导图整理(建议收藏)(linux知识点总结思维导图)
-
今天整理了一下收集的Linux思维导图。Linux学习路径Linux桌面介绍FHS:文件系统目录标准Linux需要特别注意的目录Linux内核学习路线地址:https://www.jiansh...
- 什么是操作系统(什么叫做操作系统)
-
Linux也是众多操作系统之一,要想知道Linux是什么,首先得说一说什么是操作系统。计算机是一台机器,它按照用户的要求接收信息、存储数据、处理数据,然后再将处理结果输出(文字、图片、音频、视频...
- Windows操作系统和Linux操作系统有什么不同?
-
每天一分钟,关注我学更多今天的内容是Windows操作系统和Linux操作系统在多个方面存在显著差异,主要体现在用户界面、开源性、稳定性和安全性等方面。用户界面:Windows操作系统提供直观高效的图...
- 每日学习“IT”是什么呢?(it学习网站)
-
IT是信息技术(InformationTechnology)的简称,它是一个广泛的领域,涉及到利用计算机、网络通信技术、软件等来存储、处理、传输和获取信息。计算机硬件硬件组成部分:包括中央处理器(...
- CAD是什么?如何选择最适合你的CAD软件?
-
CAD(计算机辅助设计)是建筑、机械、电子等行业的核心工具,通过数字化手段实现高精度设计与协作。传统CAD软件如AutoCAD功能强大,但操作复杂、成本高昂,而轻量化工具又难以满足专业需求。元图CAD...
- Linux是什么?(linux是什么意思)
-
在今天的时代,计算机系统已经成为了我们生活中不可或缺的一部分。而Linux则是目前世界上最为流行和免费的操作系统之一,它以其自由和开放源代码的特点,吸引了全球大量的程序员和开发者前来使用和修改。那么,...
- 牛人带你通透理解高可用网络基础架构的关键组件:负载均衡机制
-
上篇给大家介绍的内容是微服务网关:Zuul源码解析,相信大家已经领会并且贯通了;那么本文将给大家介绍的内容是负载均衡:负载均衡机制。负载均衡负载均衡(LoadBalance)是分布式网络环境中的重要...
- Linux运维网络篇(linux运维网站)
-
Linux运维过程中,我们会遇到各种形形色色的网络问题,今天我们就常见的检测手段以及处理办法给大家做一下统一分享。第一节:网络探测首先,我们需要通过各种命令来探测网络是否畅通,进而跟踪锁定到实际...
- Nginx正向代理、反向代理、负载均衡及性能优化
-
一、Nginx是什么Nginx是一款高性能的HTTP和反向代理服务器,由俄罗斯人IgorSysoev(伊戈尔·赛索耶夫)为俄罗斯网站Rambler.ru开发的,在Rambler.ru网站平稳的运...
- nginx负载均衡配置(nginx负载均衡配置教程)
-
Nginx是什么没有听过Nginx?那么一定听过它的“同行”Apache吧!Nginx同Apache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符(UniformResources...
- Springmvc使用Nginx负载均衡session共享
-
上一节,我们讲到nginx的结构组成,已经把模块、还有之前谈及负载均衡知识时候遗留的东西进行了讲解,那么今天我们继续把使用nginx做负载均衡的时候,如何处理session的方法做个解析,如何有需要对...
- Linux 系统卡顿问题的排查思路(linux系统突然非常卡)
-
#Linux系统卡顿问题排查思路当Linux系统出现卡顿问题时,可以按照以下系统性排查思路进行分析和解决:##1.快速检查系统整体状态###查看系统负载```bashuptimetophto...
- 一文搞懂LVS负载均衡工作原理 :NAT、DR、TUN模式
-
大家好,我是IT售前工程师Bernie。LVS(LinuxVirtualServer)是企业中常用的负载均衡方案,是一种基于Linux虚拟服务器,也是Linux标准内核的一部分。它能够实现高性...
- 从零构建高性能 LVS + Keepalived 四层负载均衡集群实战指南
-
一、前言在大型网站架构中,四层负载均衡是流量调度的第一道防线。相比七层(如Nginx、HAProxy),四层(基于IP/端口转发)在性能上更具优势。LVS(LinuxVirtualServer...
- 一周热门
- 最近发表
- 标签列表
-
- linux一键安装 (31)
- linux运行java (33)
- ln linux (27)
- linux 磁盘管理 (31)
- linux 内核升级 (30)
- linux 运行python (28)
- linux 备份文件 (30)
- linux 网络测试 (30)
- linux 网关配置 (31)
- linux jre (32)
- linux 杀毒软件 (32)
- linux语法 (33)
- linux博客 (33)
- linux 压缩目录 (37)
- linux 查看任务 (32)
- 制作linux启动u盘 (35)
- linux 查看存储 (29)
- linux乌班图 (31)
- linux挂载镜像 (31)
- linux 软件源 (28)
- linux题目 (30)
- linux 定时脚本 (30)
- linux 网站搭建 (28)
- linux 远程控制 (34)
- linux bind (31)