用户管理

在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 文件

  1. ‌使用 visudo 命令‌: 为了安全地编辑 /etc/sudoers 文件,你应该使用 visudo 命令而不是直接用文本编辑器打开它。visudo 会检查语法错误,这有助于避免配置错误导致的问题。

    sudo visudo
    
  2. ‌添加或修改用户权限‌: 在打开的编辑器中,找到你想要允许使用 sudo 而不需要密码的用户行。如果没有该用户,你可以添加一行。格式如下:

    username ALL=(ALL) NOPASSWD: ALL
    

    这里,username 是你想要配置的用户名。这行配置的意思是:用户 username 在任何主机上以任何用户身份执行任何命令时都不需要密码。

    例如,如果你想要允许用户 john 使用 sudo 而不输入密码,你应该添加或修改如下行:

    wamn ALL=(ALL) NOPASSWD: ALL
    
  3. ‌保存并退出‌: 在 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