ubuntu

ubuntu如何限制用户登录

小樊
104
2025-04-10 07:52:56
栏目: 智能运维

在Ubuntu系统中,可以通过以下几种方法来限制用户登录:

方法一:使用/etc/security/access.conf

  1. 编辑/etc/security/access.conf文件

    sudo nano /etc/security/access.conf
    
  2. 添加或修改规则: 在文件中添加以下行来拒绝特定用户的登录:

    -:ALL EXCEPT root
    -:username:ALL
    

    这里的username是你想要限制登录的用户名。

  3. 保存并退出: 按Ctrl+X,然后按Y确认保存,最后按Enter退出。

方法二:使用/etc/pam.d/common-auth

  1. 编辑/etc/pam.d/common-auth文件

    sudo nano /etc/pam.d/common-auth
    
  2. 添加PAM模块: 在文件的顶部添加以下行来限制特定用户的登录:

    auth requisite pam_succeed_if.so user != username quiet_success
    

    这里的username是你想要限制登录的用户名。

  3. 保存并退出: 按Ctrl+X,然后按Y确认保存,最后按Enter退出。

方法三:使用/etc/shells

  1. 编辑/etc/shells文件

    sudo nano /etc/shells
    
  2. 移除不允许登录的shell: 找到你想要限制登录的用户的默认shell,并将其从列表中移除。例如,如果你想禁止用户使用bash登录,可以移除/bin/bash

  3. 保存并退出: 按Ctrl+X,然后按Y确认保存,最后按Enter退出。

方法四:使用usermod命令

  1. 禁用用户的shell

    sudo usermod -s /sbin/nologin username
    

    这里的username是你想要限制登录的用户名。

  2. 重新启用用户的shell(如果需要):

    sudo usermod -s /bin/bash username
    

方法五:使用iptablesufw

如果你希望通过网络层面限制用户登录,可以使用iptablesufw来阻止特定用户的SSH访问。

使用iptables

sudo iptables -A INPUT -p tcp --dport 22 -m owner --uid-owner username -j DROP

使用ufw

sudo ufw deny from any to any port 22 proto tcp owner uid username

注意事项

通过以上方法,你可以有效地限制Ubuntu系统中特定用户的登录。

0
看了该问题的人还看了