Linux 禁止root使用者登入
本文的Linux作業系統執行在Cortex-A8的硬體之上,其為我們公司的一款產品,為了保護產品的安全,我們限制了root使用者的本地登入和遠端登入許可權。
一、禁止root本地登入:
方法: 在/etc 目錄下建立檔案 securetty,即 touch /etc/securetty
原因:本地登入login會讀取檔案/etc/login.defs, 該檔案65 - 70行的內容如下 # If defined, either full pathname of a file containing device names or a ":" delimited list of device names. Root logins will be allowed only upon these devices. CONSOLE /etc/securetty
#CONSOLE console:tty01:tty02:tty03:tty04
建立securetty檔案即可。該段英文釋義本人不是很理解,希望能看懂的朋友解釋一下。
二、禁止root遠端登入:
1. 首先考慮目標板能夠被遠端登入是使用了ssh服務,本產品已經有ssh服務,故不需要移植,若沒有ssh服務還需要移植。
2.本產品移植的ssh服務為dropbear, 它是一款輕量級的ssh服務
3.方法:該服務是由指令碼啟動,檢視/etc/init.d/dropbear 檔案,發現第77行對應root登入許可權,且最後引數為1, 將其改為0發現正好實現了功能,將
# F) root login config_get_bool val "${section}" RootLogin 1 修改為 # F) root login config_get_bool val "${section}" RootLogin 0 啟動ssh服務: /etc/init.d/dropbear restart 即可。
若ssh服務為openssh,則在/etc/ssh/sshd_config檔案下將 #PermitRootLogin yes 改為 PermitRootLogin no 即可
綜上為限制root使用者本地登入和遠端登入的方法。