Ubuntu 虚拟机创建与管理用户
一 常用方式概览
二 命令行快速上手
sudo adduser alice
sudo useradd -m -s /bin/bash alice
sudo passwd alice
sudo usermod -aG sudo alice
sudo visudo
# 在 root 行下方新增:
alice ALL=(ALL:ALL) ALL
su - alice # 登录式切换,加载目标用户环境
su alice # 非登录式切换,当前目录不变
exit # 退出回到原会话
sudo usermod -aG cdrom,plugdev,lpadmin alice
sudo usermod -s /bin/bash alice
sudo deluser --remove-home alice
cat /etc/passwd | grep alice
cat /etc/group | grep alice
三 图形界面操作
四 批量与自动化管理
#!/usr/bin/env bash
for u in dev1 dev2; do
sudo adduser --disabled-password --gecos "" "$u"
echo "$u:YourStrongPass!" | sudo chpasswd
sudo usermod -aG sudo "$u"
done
- name: Ensure users exist
hosts: all
become: yes
tasks:
- name: Create users
ansible.builtin.user:
name: "{{ item.name }}"
password: "{{ item.password | password_hash('sha512') }}"
shell: /bin/bash
groups: sudo
state: present
loop:
- { name: 'dev1', password: 'YourStrongPass1!' }
- { name: 'dev2', password: 'YourStrongPass2!' }
五 多用户与远程访问配置
sudo apt update
sudo apt install -y openssh-server
sudo systemctl enable --now ssh
PermitRootLogin no
PasswordAuthentication yes # 如用密钥登录可设为 no
sudo systemctl restart ssh
sudo ufw allow 22/tcp
sudo ufw reload
ssh alice@<虚拟机IP>
六 安全与最佳实践
grep '^sudo:' /etc/group
sudo apt-get install -y libpam-cracklib
# 在 /etc/pam.d/common-password 中确保包含类似:
# password required pam_cracklib.so retry=3 minlen=8 difok=3