当前位置: 首页 > news >正文

AlpineLinux的用户管理

在Alpine Linux中进行用户管理是一项基本的系统管理任务,包括添加新用户、删除用户、修改用户信息等。以下是一些常用的用户管理命令和操作:

添加用户

使用 adduser 命令可以创建新的用户账户。例如,创建一个名为 tom 的用户:

localhost:~# adduser tom
Changing password for tom
New password:
Bad password: too weak
Retype password:
passwd: password for tom changed by root
localhost:~# ls /home/
tom

在创建过程中,系统会提示你为新用户设置密码,并创建一个主目录。

如果不希望创建主目录,可以使用 -H--no-create-home 选项。如果你想要指定用户的主目录,可以使用 -h--home 选项,并指定一个路径。

localhost:~# adduser -H jerry
Changing password for jerry
New password:
Bad password: too weak
Retype password:
passwd: password for jerry changed by root
localhost:~# ls /home/
tom

删除用户

要删除用户,可以使用 deluser 命令。例如,删除用户 tom

localhost:~# deluser tom
deluser: can't find tom in /etc/group
localhost:~# ls /home/
tom

如果你希望在删除用户的同时删除其主目录,可以添加 --remove-home 选项:

localhost:~# deluser --remove-home tom
deluser: can't find tom in /etc/group
localhost:~# ls /home/

修改用户密码

修改用户密码可以使用 passwd 命令。例如,修改用户 jerry 的密码:

localhost:~# passwd jerry
Changing password for jerry
New password:
Bad password: too weak
Retype password:
passwd: password for jerry changed by root

和新创建用户时一样,需要在提示下输入新密码两次。

添加用户到组

在Alpine Linux中,你可以使用 addgroup 命令创建新的用户组,然后使用 adduser 命令将用户添加到指定的组。例如,创建一个名为 developers 的组,并将用户 jerry 添加到该组:

localhost:~# addgroup developers
localhost:~# adduser jerry developers

创建系统用户

系统用户通常用于运行系统服务,它们的UID在100到999之间。创建系统用户时,可以使用 -S--system 选项。例如,创建一个系统用户 systemuser

localhost:~# adduser -S systemuser
localhost:~# grep systemuser /etc/passwd
systemuser:x:103:65533:Linux User,,,:/home/systemuser:/sbin/nologin

设置用户Shell

默认情况下,Alpine Linux为新用户设置的shell是 /bin/sh。如果你希望为用户设置不同的shell,可以使用 -s--shell 选项。例如,为用户 tom 设置 /bin/ash 作为登录shell:

localhost:~# adduser -s /bin/ash tom
Changing password for tom
New password:
Bad password: too weak
Retype password:
passwd: password for tom changed by root
localhost:~# grep tom /etc/passwd
tom:x:1002:1002:Linux User,,,:/home/tom:/bin/ash

用户和组的权限管理

在Alpine Linux中,你可以使用 wheel 组来管理用户的sudo权限。将用户添加到 wheel 组,可以允许该用户使用 doas 命令执行管理员级别的操作。例如,将用户 jerry 添加到 wheel 组:

localhost:~# adduser jerry wheel
localhost:~# grep jerry /etc/group
wheel:x:10:root,jerry
jerry:x:1001:
developers:x:1000:jerry

doas命令需要安装

localhost:~# apk add doas
fetch http://mirrors.ustc.edu.cn/alpine/v3.20/main/x86_64/APKINDEX.tar.gz
fetch http://mirrors.ustc.edu.cn/alpine/v3.20/community/x86_64/APKINDEX.tar.gz
(1/1) Installing doas (6.8.2-r7)
Executing busybox-1.36.1-r29.trigger
OK: 600 MiB in 128 packages
localhost:~# doas

然后再配置/etc/doas.d/doas.conf文件,添加permit persist :wheel的内容

localhost:~# vim /etc/doas.d/doas.conf
localhost:~# cat /etc/doas.d/doas.conf
permit persist :wheel

切换到jerry用户,就可以和其他发行版本一样在输入密码后执行执行管理员的命令

localhost:~# su jerry
/root $ doas apk update
doas (jerry@localhost) password:
fetch http://mirrors.ustc.edu.cn/alpine/v3.20/main/x86_64/APKINDEX.tar.gz
fetch http://mirrors.ustc.edu.cn/alpine/v3.20/community/x86_64/APKINDEX.tar.gz
v3.20.3-190-ga986f1414fb [http://mirrors.ustc.edu.cn/alpine/v3.20/main]
v3.20.3-191-gbcd1124b198 [http://mirrors.ustc.edu.cn/alpine/v3.20/community]
OK: 24171 distinct packages available

也可以apk add sudo安装sudo命令,然后如其他发行版本般使用sudo来进行提权。

http://www.dtcms.com/a/282122.html

相关文章:

  • conda activate 时报错: CondaError: Run ‘conda init‘ before ‘conda activate‘
  • XC7A75T‑2FGG484I Xilinx Artix‑7 FPGA AMD
  • go项目实战
  • 深入解析Linux进程地址空间与虚拟内存管理
  • 虚拟内存管理--请求分页管理方式
  • 15.dispatcherRunner启动
  • 图机器学习(10)——监督学习中的图神经网络
  • LLM大语言模型不适合统计算数,可以让大模型根据数据自己建表、插入数据、编写查询sql统计
  • ether.js的calldata
  • 探索阿里云DMS:解锁高效数据管理新姿势
  • 【WRFDA数据教程第一期】LITTLE_R 格式详细介绍
  • 常用 Benchmark 总结-GPT 4.1、GPT 4.5、DeepSeek模型
  • 【游戏引擎之路】登神长阶(十七):Humanoid动画——长风破浪会有时,直挂云帆济沧海
  • 联网工人安全解决方案:技术赋能下的安全新范式
  • Django REST Framework 入门指南:从 0 到 1 实现 RESTful API
  • 【LLM】OpenRouter调用Anthropic Claude上下文缓存处理
  • cudaOccupancyMaxActiveBlocksPerMultiprocessor配置内核的线程块大小
  • Linux运维新手的修炼手扎之第18天
  • 二刷 黑马点评 分布式锁-redission
  • 【芯片设计中的WDT IP:守护系统安全的电子警犬】
  • HDFS基本操作训练(创建、上传、下载、删除)
  • CSS面试题及详细答案140道之(21-40)
  • 智租换电与中国电信达成战略合作!共筑数字能源新基建
  • LeetCode|Day15|125. 验证回文串|Python刷题笔记
  • GaussDB 预写日志回收参数设置
  • Uniapp中双弹窗为什么无法显示?
  • Java虚拟机——JVM
  • uniapp各端通过webview实现互相通信
  • UniApp 多端人脸认证图片上传实现
  • AI Agent:重构智能边界的终极形态——从技术内核到未来图景全景解析