在 Linux 中如何禁止用户登录
?
默認(rèn)情況下,Linux中創(chuàng)建用戶(hù)帳戶(hù)時(shí),用戶(hù)具有shell訪(fǎng)問(wèn)權(quán)限。在某些情況下不需要用戶(hù)帳戶(hù)登錄shell。本文介紹如何設(shè)置已存在的用戶(hù)禁止shell登錄、創(chuàng)建用戶(hù)時(shí)禁止shell登錄。
默認(rèn)情況下,創(chuàng)建用戶(hù)時(shí),將按照/etc/default/useradd文件中定義的為用戶(hù)分配shell。Linux中附帶了一個(gè)/sbin/nologinshell,當(dāng)用戶(hù)嘗試連接時(shí),它會(huì)顯示一條消息“This account is current not available”。這是禁止用戶(hù)登錄shell的一種方法。下面是使用方式:
useradd -s /sbin/nologin {username}
下面實(shí)例,創(chuàng)建一個(gè)用戶(hù),shell設(shè)置為/sbin/nologin:
[root@localhost ~]# useradd user01 -s /sbin/nologin [root@localhost ~]# tail -1 /etc/passwd user01:x:1000:1000::/home/user01:/sbin/nologin
查看/etc/passwd可以看到user01的shell為/sbin/nologin
給user01用戶(hù)設(shè)置密碼,然后ssh登錄測(cè)試一下:
[root@localhost ~]# echo '123'|passwd --stdin user01 Changing password for user user01. passwd: all authentication tokens updated successfully. [root@localhost ~]# ssh user01@localhost user01@localhost's password: This account is currently not available. Connection to localhost closed.
輸入密碼之后,提示This account is current not available,然后連接就關(guān)閉了。
更改現(xiàn)有用戶(hù)的shell,可以使用usermod和chsh兩個(gè)命令來(lái)修改:chsh命令使用語(yǔ)法如下:
chsh -s /sbin/nologin {username}
下面修改user02用戶(hù)的shell:
# Centos8默認(rèn)沒(méi)有安裝chsh,使用下面命令安裝: [root@localhost ~]# yum -y install util-linux-user [root@localhost ~]# chsh -s /sbin/nologin user02 Changing shell for user02. chsh: Warning: "/sbin/nologin" is not listed in /etc/shells. Shell changed.
usermod命令使用語(yǔ)法如下:
usermod -s /sbin/nologin {username}
下面修改user03用戶(hù)的shell:
[root@localhost ~]# usermod -s /sbin/nologin user03
也可以手動(dòng)修改/etc/passwd文件中的用戶(hù)shell。
總 結(jié)
在本教程中講述了如何禁止用戶(hù)訪(fǎng)問(wèn)默認(rèn)Shell。希望對(duì)你有幫助!
?
總結(jié)
以上是生活随笔為你收集整理的在 Linux 中如何禁止用户登录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【收藏】华为5700系列交换机常用配置示
- 下一篇: linux 其他常用命令