在 Raspberry Pi OS 上创建新用户

Jinku Hu 2022年5月18日
在 Raspberry Pi OS 上创建新用户

本文将演示如何在 Raspberry Pi OS 上创建新用户。

在 Raspberry Pi OS 上创建新用户

基于 Linux 的系统上的用户管理通常是一个重要的话题,涉及许多微妙的细节。

尽管如此,本文仍将介绍几种用于创建/删除新用户的命令行工具和方法。请注意,Raspberry Pi OS 上的大多数用户管理命令将与基于 Debian/Ubuntu 的系统相同。

让我们进入一个实际示例并在 Raspberry Pi 上创建一个新用户 bob

sudo adduser bob

样本输出:

[sudo] password for pi: 
Adding user `bob' ...
Adding new group `bob' (1001) ...
Adding new user `bob' (1001) with group `bob' ...
Creating home directory `/home/bob' ...
Copying files from `/etc/skel' ...
New password:

前面的命令需要使用 sudo 权限执行。adduser 实际上是一个基于 Debian 的低级 useradd 实用程序的系统包装器,它在 Raspberry Pi OS 上被推荐使用。

此命令在路径 /home/bob 上为用户 bob 创建相应的主目录,并分配第一个可用的 UID。UID 代表用户 ID,它通常是存储在系统中的唯一 32 位整数。

普通用户的可用范围在 /etc/adduser.conf 文件中指定,在当前的 Raspberry Pi OS 版本中恰好是 1000-59999。你可以通过打开 /etc/passwd 文件来检查所有现有用户。

只有用户名(bob)参数的 adduser 命令将提示输入新密码以激活给定用户名的密码登录。通常,无需设置密码即可创建新用户,这将导致帐户被禁用,类似于 Raspberry Pi OS 上禁用的 root 用户。

后者可以使用 adduser 命令的 --disabled-login 参数来实现:

sudo adduser --disabled-login bob

后一个命令将创建一个没有密码的 bob 用户,稍后可以使用 passwd 命令设置该用户,并且用户名将自动激活。

在 Raspberry Pi OS 上删除用户

要从 Raspberry Pi 操作系统中删除特定用户,我们需要使用 deluser 命令。该命令是 userdel Linux 实用程序的包装器,通常在基于 Debian/Ubuntu 的系统上提供。

删除 bob 用户的基本命令结构如下:

sudo deluser bob

此命令删除用户而不删除其主目录和 bob 拥有的其他文件。

但是,你可以指定 --remove-home 参数来删除用户的主目录,或者指定 --remove-all-files 参数来删除系统上的主目录和所有用户拥有的文件/目录.

请注意,后一个参数是前一个参数的超集,因此你不需要同时指定两者:

sudo deluser --remove-home bob
sudo deluser --remove-all-files bob

有时,用户 bob 可能有一些正在运行的程序,当你尝试删除该用户时,该命令将产生错误并显示相应的消息。

最好在执行 deluser 命令之前运行 killall 命令并终止与用户 bob 关联的所有现有进程。以下命令可用于完成所有进程:

sudo killall -TERM -u bob
Author: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn

相关文章 - Raspberry Pi