如何在Ubuntu From Scratch中配置多用户
Ubuntu From Scratch(通常指从最小化系统或源码构建的Ubuntu环境)配置多用户需通过命令行完成,核心步骤包括创建用户、分配权限、设置环境及可选的远程访问配置。以下是详细操作流程:
以root用户或具有sudo权限的用户登录系统,使用adduser命令创建新用户(如newuser)。该命令会交互式提示输入密码(需包含大小写字母、数字和特殊字符)、全名、房间号等信息,输入完成后系统自动创建用户主目录(/home/newuser)并设置基础配置。
sudo adduser newuser
若需让新用户拥有管理员权限(可执行sudo命令),需将其添加到sudo组。使用usermod命令的-aG选项(追加组,避免移除原有组):
sudo usermod -aG sudo newuser
确保用户主目录仅对自身可读写,防止其他用户访问私有文件:
sudo chown newuser:newuser /home/newuser # 更改所有者为newuser
sudo chmod 700 /home/newuser # 设置权限为700(所有者可读写执行,其他用户无权限)
编辑用户家目录下的.bashrc文件(用户登录时自动加载),添加自定义环境变量(如PATH扩展):
sudo su - newuser # 切换到newuser的shell环境
nano ~/.bashrc # 编辑.bashrc文件
在文件末尾添加(例如扩展PATH):
export PATH=$PATH:/usr/local/custom/bin
保存并退出(Ctrl+O→Enter→Ctrl+X),然后重新加载配置:
source ~/.bashrc
若需允许新用户通过SSH远程登录,需安装并配置OpenSSH服务器:
sudo apt update
sudo apt install openssh-server
编辑SSH配置文件(/etc/ssh/sshd_config),禁用root远程登录(提升安全性)并启用密码认证:
sudo nano /etc/ssh/sshd_config
找到以下行并修改(取消注释):
PermitRootLogin no # 禁止root用户通过SSH登录
PasswordAuthentication yes # 允许密码认证(若需密钥认证可设为no)
sudo systemctl restart sshd
在本地机器生成SSH密钥对(若已有可跳过):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
将公钥复制到新用户的authorized_keys文件(需切换到newuser):
ssh-copy-id newuser@your_server_ip
测试SSH连接:
ssh newuser@your_server_ip
若需为用户分配特定权限(如访问某类文件),可创建用户组并将用户加入:
sudo groupadd devgroup # 创建名为devgroup的组
sudo usermod -aG devgroup newuser # 将newuser加入devgroup
id newuser # 查看用户所属组(应包含devgroup)
切换到新用户,验证环境配置是否正确:
su - newuser # 切换到newuser(需输入密码)
whoami # 应显示newuser
sudo ls /root # 测试sudo权限(需输入newuser密码)
sudo组除非必要,定期检查/etc/sudoers文件(建议用visudo编辑)。700,防止其他用户读取私有文件。/etc/passwd、/etc/shadow),避免误操作导致系统故障。