用户管理
在Debian系统中添加用户,可以使用adduser命令。以下是一个基本的示例:
sudo adduser newusername
这将创建一个新用户,并设置用户密码及其他基本信息。
如果你想要添加用户时跳过一些步骤(例如,不设置密码,不要求输入全名等),可以使用adduser --disabled-password:
sudo adduser --disabled-password --gecos "" newusername
这将创建一个没有密码的新用户,并且不会要求输入用户的全名。
如果你需要为用户设置特定的用户信息,可以使用useradd命令,并配合-m(创建家目录),-u(指定用户ID),-G(指定额外组)等选项。例如:
sudo useradd -m -u 1005 -G sudo,admin newusername
这将创建一个新用户newusername,指定用户ID为1005,并加入sudo和admin额外组。
记得替换newusername为你想要创建的用户名。
添加用户时设置家目录和shell
你也可以在添加用户时直接指定家目录和shell类型:
sudo useradd -m -s /bin/bash newuser
这里:
-m 选项会在/home目录下创建用户的家目录。
-s 选项指定用户的登录shell,例如/bin/bash是Bash shell。
#检查是否安装 sudo 命令
sudo -l
#安装sudo 软件命令
apt install sudo -y
# 将用户添加到 sudo 组,即允许用户使用sudo 命令
# 替换 username 为您的实际用户名
usermod -aG sudo username
检查用户是否成功创建
id newuser
设置 sudo 命令时不需要输入密码
编辑 /etc/sudoers 文件
-
使用
visudo命令: 为了安全地编辑/etc/sudoers文件,你应该使用visudo命令而不是直接用文本编辑器打开它。visudo会检查语法错误,这有助于避免配置错误导致的问题。sudo visudo -
添加或修改用户权限: 在打开的编辑器中,找到你想要允许使用
sudo而不需要密码的用户行。如果没有该用户,你可以添加一行。格式如下:username ALL=(ALL) NOPASSWD: ALL这里,
username是你想要配置的用户名。这行配置的意思是:用户username在任何主机上以任何用户身份执行任何命令时都不需要密码。例如,如果你想要允许用户
john使用sudo而不输入密码,你应该添加或修改如下行:wamn ALL=(ALL) NOPASSWD: ALL -
保存并退出: 在
visudo编辑器中,保存更改并退出。在大多数文本编辑器中,你可以通过按Ctrl + O保存更改,然后按Ctrl + X退出。
禁止所有用户密码登录
sudo nano /etc/ssh/sshd_config
# 禁止密码认证
PasswordAuthentication no
# 禁止挑战响应认证
ChallengeResponseAuthentication no
# 禁止使用PAM的密码认证
UsePAM no
# 确保公钥认证是开启的(如果使用密钥登录)
PubkeyAuthentication yes
# 可选:禁止空密码
PermitEmptyPasswords no
#重启SSH服务
sudo systemctl restart sshd