在Linux中如何禁止使用者登入

夢共裡醉發表於2021-10-30
預設情況下, 中建立使用者帳戶時,使用者具有 訪問許可權。在某些情況下不需要使用者帳戶登入shell。本文介紹如何設定已存在的使用者禁止shell登入、建立使用者時禁止shell登入。
建立使用者時設定禁止shell登入

預設情況下,建立使用者時,將按照 /etc/default/useradd檔案中定義的為使用者分配shell。

Linux中附帶了一個 /sbin/nologinshell,當使用者嘗試連線時,它會顯示一條訊息“This account is current not available”。這是禁止使用者登入shell的一種方法。下面是使用方式:

useradd -s /sbin/nologin {username}

下面例項,建立一個使用者,shell設定為 /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
在Linux中如何禁止使用者登入在Linux中如何禁止使用者登入
給user01使用者設定密碼,然後ssh登入測試一下:

[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.

在Linux中如何禁止使用者登入在Linux中如何禁止使用者登入
輸入密碼之後,提示This account is current not available,然後連線就關閉了。

article.pchome.net/content-2109294.html

為現有使用者時設定禁止shell登入

更改現有使用者的shell,可以使用 usermodchsh兩個 來修改:

chsh 使用語法如下:

chsh -s /sbin/nologin {username}

下面修改user02使用者的shell:

# Centos8預設沒有安裝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.

在Linux中如何禁止使用者登入在Linux中如何禁止使用者登入
usermod命令使用語法如下:

usermod -s /sbin/nologin {username}

下面修改user03使用者的shell:

[root@localhost ~]# usermod -s /sbin/nologin user03

在Linux中如何禁止使用者登入在Linux中如何禁止使用者登入
也可以手動修改 /etc/passwd檔案中的使用者shell。

總結

在本教程中講述瞭如何禁止使用者訪問預設Shell。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2839821/,如需轉載,請註明出處,否則將追究法律責任。

相關文章