安全性是每個 Linux 系統管理員必須重視和關注的問題,而禁止某些使用者登入系統則是其中一項非常重要的安全措施。本文將透過實例詳細介紹如何在 Linux 系統中禁止某些使用者登錄,並保護系統安全。
預設情況下,Linux中建立使用者帳戶時,使用者俱有shell存取權限。在某些情況下不需要使用者帳戶登入shell。本文介紹如何設定已存在的使用者禁止shell登入、建立使用者時禁止shell登入。
建立使用者時設定禁止shell登入
預設情況下,建立使用者時,將依照/etc/default/useradd
檔案中定義的為使用者指派shell。
Linux中附帶了一個/sbin/nologin
shell,當使用者嘗試連線時,它會顯示一則訊息「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
#為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.
輸入密碼之後,提示This account is current not available,然後連線就關閉了。
設定禁止shell登入現有使用者時
更改現有使用者的shell,可以使用usermod
和chsh
兩個指令來修改:
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.
usermod
指令使用語法如下:
usermod -s /sbin/nologin {username}
下面修改user03用戶的shell:
[root@localhost ~]# usermod -s /sbin/nologin user03
也可以手動修改/etc/passwd
檔案中的使用者shell。
在 Linux 系統中,禁止某些使用者登入是一項非常重要的安全措施,可以有效地保護系統免受未經授權的存取。本文從實戰出發,向讀者詳細介紹了幾種禁止使用者登入的方法,同時也提及了避免誤操作的注意事項。相信透過本文的學習,讀者對 Linux 系統的使用者管理和安全措施都會有更深入的了解。
以上是保障系統安全,教你在Linux中禁止使用者登入的多種方法!的詳細內容。更多資訊請關注PHP中文網其他相關文章!