1. 程式人生 > >Linux 禁止root使用者登入

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使用者本地登入和遠端登入的方法。