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来进行提权。