Linux禁用root使用者

2022-02-05 14:46:01 字數 3465 閱讀 8003

工具準備:linux雲主機,ssh工具

建立擁有sudo許可權的使用者注意:在阻止對root帳戶的訪問之前,請確保已使用useradd命令建立了乙個管理帳戶,該帳戶能夠使用sudo命令獲取root使用者許可權,並為該使用者帳戶提供強密碼。 標誌-m表示建立使用者的主目錄,-c表示注釋:

1 # useradd -m -c "

admin user

"admin

2 # passwd admin

接下來,使用usermod命令將此使用者新增到適當的系統管理員組,其中開關-a表示附加使用者帳戶,-g指定用於新增使用者的組(wheel或sudo,具體取決於您的linux發行版):

1 # usermod -ag wheel admin    #centos/rhel

2 # usermod -ag sudo admin #debian/ubuntu

建立具有管理許可權的使用者後,請切換到該帳戶以阻止root訪問。

1 # su admin
更改root使用者的shell禁用root使用者登入的最簡單方法是將其shell從/bin/bash/bin/bash(或允許使用者登入的任何其他shell)更改為/etc/passwd檔案中的/sbin/nologin,您可以使用您喜歡的任何命令列編輯器開啟進行編輯,如圖所示。

1 $ sudo vim /etc/passwd
編輯儲存

儲存檔案並關閉它。

從現在開始,當root使用者登入時,他/她將收到訊息「此帳戶當前不可用。「這是預設訊息,但是,您可以更改它並在檔案/etc/nologin.txt中設定自定義訊息。此方法僅對需要用於使用者登入的shell的程式有效,否則,sudo,ftpemail客戶端可以訪問root帳戶。

通過控制台裝置(tty)禁用root登入第二種方法使用名為pam_securettypam模組,只有當使用者登入「安全」tty時才允許root訪問,如/etc/securetty中的列表所定義。

上述檔案允許您指定允許root使用者登入的tty裝置,清空此檔案可防止在連線到計算機系統的任何裝置上進行root登入。

要建立空檔案,請執行。

1 $ sudo

mv /etc/securetty /etc/securetty.orig

2 $ sudo

touch /etc/securetty

3 $ sudo

chmod

600 /etc/securetty

此方法有一些限制,它只影響登入,顯示管理器(即gdm,kdmxdm)等程式以及啟動tty的其他網路服務。 諸如su,sudo,ssh和其他相關openssh工具之類的程式將可以訪問root帳戶。

禁用ssh root登入訪問遠端伺服器或vps的最常用方法是通過ssh並阻止其下的root使用者登入,您需要編輯/etc/ssh/ sshd_config檔案。

1 $ sudo vim /etc/ssh/sshd_config
然後取消注釋(如果它被注釋)指令permitrootlogin並將其值設定為no,如螢幕截圖所示。

在ssh中禁用root登入

完成後,儲存並關閉檔案。 然後重新啟動sshd服務以應用最近的配置更改。

1 $ sudo

systemctl restart sshd 2or

3 $ sudo service sshd restart

您可能已經知道,此方法僅影響openssh工具集,ssh,scp,sftp等程式將被阻止訪問root帳戶。

通過pam限制root使用者登入可插拔認證模組(簡稱pam)是linux系統上集中,可插拔,模組化和靈活的認證方法。 pam通過/lib/security/pam_listfile.so模組,可以極大地靈活地限制特定帳戶的許可權。

上述模組可用於引用不允許通過某些目標服務(如login,ssh和任何pam感知程式)登入的使用者列表。

在這種情況下,我們希望通過限制對login和sshd服務的訪問來禁用對系統的root使用者訪問。 首先在/etc/pam.d/目錄中開啟並編輯目標服務的檔案,如圖所示。

$ sudo vim /etc/pam.d/login

or$

sudo vim /etc/pam.d/login

接下來,在兩個檔案中新增以下配置。

auth    required       pam_listfile.so \

onerr=succeed item=user sense=deny file=/etc/ssh/deniedusers

完成後,儲存並關閉每個檔案。 然後建立普通檔案/etc/ssh/deniedusers,每行應包含乙個專案,而不是世界可讀的。

在其中新增名稱root,然後儲存並關閉它。

$ sudo vim /etc/ssh/deniedusers
還要為此設定所需的許可權。

$ sudo

chmod

600 /etc/ssh/deniedusers

此方法僅影響支援pam的程式和服務。 您可以通過ftp和電子郵件客戶端等阻止對系統的root訪問。

$ man

pam_securetty

$ man

sshd_config

$ man pam

linux系統禁用root使用者遠端登入

系統 redhat 7.4 1 建立新的使用者 為什麼呢?因為禁用了root後,遠端連線可以用這個賬號 adduser admin passwd admin 這裡可能會由於密碼簡單通過不了 2 修改遠端連線許可權 建立使用者後,需要給他遠端連線的許可權 vim etc sudoers 在root下面...

linux用其他使用者登陸禁用root

一 新增和root許可權一樣的使用者 1 新增可遠端的使用者,設定密碼 adduser aaaa passwd aaaa 修改密碼 然後輸入密碼 系統提示輸入確認密碼後再輸入一次。ok新增成功。2 修改 etc sudoers 檔案,找到下面一行,在root下面新增一行,如下所示 vim etc s...

Linux禁用Root遠端登陸

先在ssh的配置檔案裡修改root 遠端登陸引數。禁用root遠端登陸。然後建立乙個遠端登陸使用者。用這個使用者登陸之後,在切換到root使用者,拿到最高許可權。1.首先你得先建立子賬戶,並且用子賬戶可以登入成功。2.禁用root賬戶,修改檔案 vim etc ssh sshd config把 pe...