如何安全地创建 Linux 用户账户

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

本教程将指导你完成创建一个拥有专用主目录的新 Linux 用户的过程。正确管理用户账户及其相关目录对于维护一个组织良好且安全的 Linux 系统至关重要。通过本教程的学习,你将能够创建新用户、配置其主目录,并理解此设置的重要性。

Linux 用户基础

理解 Linux 多用户架构

Linux 是一个复杂的多用户系统,旨在同时支持多个用户,同时保持强大的安全性和资源管理能力。Linux 环境中的每个用户都有唯一的身份、权限和访问权限。

graph TD A[Linux 系统] --> B[根用户] A --> C[系统用户] A --> D[普通用户]

用户账户类型

用户类型 描述 典型特征
根用户 系统管理员 拥有完整系统访问权限,用户 ID 为 0
系统用户 服务账户 权限有限,无登录 shell
普通用户 普通账户持有者 系统访问权限有限,拥有个人工作区

关键用户管理概念

Linux 用户账户是系统安全和资源分配的基础。每个账户由以下内容标识:

  • 用户名
  • 用户 ID (UID)
  • 组 ID (GID)
  • 主目录
  • 默认 shell

用户认证与识别

Linux 中的用户认证涉及通过以下方式验证用户凭证:

## 查看当前用户
whoami

## 显示用户信息
id username

## 列出已登录用户
who

这些命令展示了 Linux 多用户系统中的基本用户识别机制,使管理员能够有效地跟踪和管理用户交互。

用户账户创建

用户账户管理方法

Linux 提供了多种创建用户账户的方法,主要有两个命令:useraddadduser。每种方法提供不同级别的配置和交互方式。

graph LR A[用户账户创建] --> B[useradd 命令] A --> C[adduser 命令] B --> D[手动配置] C --> E[交互式配置]

使用 useradd 命令

useradd 命令提供精确的、适合脚本的用户账户创建方式:

## 创建新用户
sudo useradd johndoe

## 使用特定主目录创建用户
sudo useradd -m -d /home/johndoe johndoe

## 使用特定 shell 创建用户
sudo useradd -s /bin/bash johndoe

用户账户配置选项

选项 描述 示例
-m 创建主目录 useradd -m username
-s 指定登录 shell useradd -s /bin/bash username
-g 分配主要组 useradd -g developers username
-G 分配附加组 useradd -G sudo,admin username

设置用户密码

创建用户账户后,设置初始密码:

## 为新用户设置密码
sudo passwd johndoe

此命令启动交互式密码配置过程,确保对新用户账户的初始访问安全。

主目录设置

主目录概念

在 Linux 中,每个用户都被分配一个个人主目录,作为存储个人文件、配置和应用程序数据的私人工作区。

graph LR A[主目录] --> B[个人文件] A --> C[配置文件] A --> D[应用程序数据] A --> E[用户特定设置]

默认主目录结构

目录 用途 示例
~/Documents 个人文档 /home/用户名/Documents
~/Downloads 下载的文件 /home/用户名/Downloads
~/.config 应用程序配置 /home/用户名/.config
~/.ssh SSH 连接密钥 /home/用户名/.ssh

创建和配置主目录

## 手动创建主目录
sudo mkdir -p /home/用户名

## 设置主目录所有权
sudo chown 用户名:用户名 /home/用户名

## 设置目录权限
sudo chmod 700 /home/用户名

自定义主目录权限

正确的权限配置可确保用户隐私和系统安全:

## 限制目录访问
chmod 700 /home/用户名

## 允许组成员读取/执行
chmod 750 /home/用户名

总结

在本教程中,你已经学习了如何创建一个新的 Linux 用户账户,并配置一个专用的主文件夹,以实现更好的组织性和安全性。通过遵循这些步骤,你可以有效地管理用户账户,并确保每个用户在 Linux 系统中有自己的私人空间。此设置有助于维护一个干净且有条理的文件结构,同时还能增强你的 Linux 环境的整体安全性。