默认情况下,在Linux中创建用户帐户时,用户具有shell访问权限。在某些情况下,不需要用户帐户登录shell。本文介绍如何禁止现有用户的shell登录和创建用户时禁止shell登录。设置创建用户时禁止shell登录默认情况下,在创建用户时,shell会按照/etc/default/useradd文件中的定义分配给用户。Linux附带一个/sbin/nologinshell,当用户尝试连接时会显示一条消息“此帐户当前不可用”。这是一种禁止用户登录shell的方法。下面是如何使用它:useradd-s/sbin/nologin{username}在下面的例子中,创建一个用户,shell设置为/sbin/nologin:[root@localhost~]#useradduser01-s/sbin/nologin[root@localhost~]#tail-1/etc/passwduser011000:1000::/home/user01:/sbin/nologin查看/etc/passwd可以看到user01的shell是/sbin/nologin如何禁止linux下用户登录如何在linux下禁止用户登录并为用户user01设置密码,然后ssh登录测试:[root@localhost~]#echo'123'|passwd--stdinuser01正在为用户user01更改密码。passwd:所有身份验证令牌已成功更新。[root@localhost~]#sshuser01@localhostuser01@localhost的密码:此帐户当前不可用。与本地主机的连接已关闭。关闭。对于已有用户,设置禁止shell登录,改变已有用户的shell。可以使用usermod和chsh这两个命令进行修改:chsh命令的语法如下:chsh-s/sbin/nologin{username}修改user02的shell如下:Centos8默认没有安装chsh,使用以下命令安装:[root@localhost~]#yum-yinstallutil-linux-user[root@localhost~]#chsh-s/sbin/nologinuser02Changingshellforuser02.chsh:Warning:"/sbin/nologin"未在/etc/shells中列出。Shell已更改。linux下如何禁止用户登录linux下如何禁止用户登录usermod命令语法如下:www.techweb.com.cn/prnews/qiyenews/archives/57251.htmlwww.donews.com/news/detail/4/2969423.htmlusermod-s/sbin/nologin{username}修改user03的shell如下:[root@localhost~]#usermod-s/sbin/nologinuser03如何在Linux中禁止用户登录Howto在Linux中禁止用户登录也可以在/etc/passwd文件中手动修改用户shell。总结在本教程中,我们描述了如何禁用用户对默认shell的访问。