1. 程式人生 > >Linux自啟動

Linux自啟動

agetty

開啟 tty
埠,為登入名稱建立命令控制符,並引出
login
程式

如何使你的Linux系統省略輸入使用者名稱密碼

1、省略密碼驗證

很簡單,只需把/etc/passwd中的root:x:0:0:root:/root:/bin/bash,改為root::0:0:root:/root:/bin/bash,就可以了,就是去掉了裡面的x,這樣root使用者就不用密碼了。其他使用者也一樣。

2、省略輸入使用者名稱

(1)修改/etc/inittab

在inittab中,有如下配置

1:2345:respawn:/sbin/agetty tty1 9600

2:2345:respawn:/sbin/agetty tty2 9600

3:2345:respawn:/sbin/agetty tty3 9600

4:2345:respawn:/sbin/agetty tty4 9600

5:2345:respawn:/sbin/agetty tty5 9600

6:2345:respawn:/sbin/agetty tty6 9600

表示系統可以有六個控制檯,可以用ALT+(F1~F6)來切換。而/sbin/agetty就是一個登陸驗證程式,執行它,會提示使用者輸入使用者名稱和密碼,然後啟動一個指定的shell(在passwd檔案中指定的)。

所以,我們只需將其修改為不執行agettty,而是執行自己編寫的一個指令碼,就可以跳過使用者名稱和密碼的輸入。修改如下:

1:2345:respawn:/root/logintest tty1 9600

這裡我在/root/下放了一個測試指令碼,這樣系統啟動時就會執行那個指令碼,指令碼內容:

#!/bin/sh

/bin/login -f root

指令碼其實就是執行了一個root使用者的登陸而已,如果有其他要求,也可以新增到指令碼中。

/****************************************************************************/

本篇是系列文章的一部分。講的是讓linux不經過認證,直接登入。

[@[email protected]]

請參見其它系列文章。

由於linux發行版本的不同,可能會有一些不同,請讀者細心。

名詞:login-----linux用於認證使用者的密碼是否正確的程式。

         agetty----linux用於啟動tty終端的程式。

          tty終端---這個概念很麻煩,linux啟動後,只是記憶體中程式,如果沒有stdin,stdout,就沒

          法和使用者互動。

與自動登入最相關的兩個程式是agetty,login。

系統核心載入後,第一個執行的是init程式,init執行系統指令碼,然後呼叫agetty,agetty呼叫loing。

執行到agetty時,它顯示login name: 等你輸入使用者名稱,然後把它作為引數傳給login。

login顯示password:接收你的密碼,結合使用者名稱去驗證使用者的合法性。

最後啟用bash,你就會發現自己在提示符$下了。

由於agetty和login程式的作者並沒有把它作成可配置的。所以我們必需要修改原始碼才能實現自動登入。

它們分別是agetty.c login.c

我們修改之後把它用gcc編譯一下,代替原來的程式就好了。

找到agetty.c的呼叫get_logname函式的地方,把它註釋掉。這樣就不會去讀使用者名稱了。

login.c很複雜,它是讓別的程式去取得密碼並驗證。我沒時間研究它,所以呢,直接寫一個空的login程式好了,其中,我們自己設定使用者的uid sid 環境變數等等。再在login.c的最後呼叫一個bash就好了。

重啟動一個系統吧!~:)

提醒:你的機器上最好有兩個linux系統,當你修改其中一個不能進入系統的話,可以另一個linux載入它的分割槽,並把程式改回去。

累了,不想給的太細。給需要的人一個方向好了。

/**********************************************************************************/

相關推薦

Linux啟動服務優先級/順序設置

linux 自啟動 今天有一臺服務器沒有正常啟動,原因是有一個服務沒有啟動起來,因為A服務需要B服務啟動之後才能正常啟動,所以需要調整A,B服務的啟動順序。在網上查找了一些資料,總結了一下,以備以後需要。 要知道服務的啟動順序,就需要先知道服務如何啟動的。linux有7個運行級別,用戶可選擇不同

linux啟動tomcat

rip sys 保存 service AS urn java kcon home 第一種方式 1.修改腳本文件rc.local:vim /etc/rc.d/rc.local   這個腳本是使用者自定的開機啟動程序,可以在裏面添加想在系統啟動之後執行的腳本或者腳本執行命令 2

Linux啟動程式指令碼

# Monitor Collector is running # 此指令碼是檢測另外一個程式是否正在執行,如果沒有執行則啟動該程式 Path='PortableCollector' while test "1"="1";do Result=`pgrep

oracle在linux啟動和停止指令碼

****************************************************************** 一、目錄:/etc/init.d ****************************************************************** 1、d

Linux 啟動執行指令碼

#!/bin/bash #chkconfig: 2340 20 80 #description:sgapp manage util #processname:sgapp APP_HOME=/opt/sgUtils/sgzt case $1 in start) $APP_HO

Linux啟動

agetty開啟 tty 埠,為登入名稱建立命令控制符,並引出 login 程式 如何使你的Linux系統省略輸入使用者名稱密碼 1、省略密碼驗證 很簡單,只需把/etc/passwd中的root:x:0:0:root:/root:/bin/bash,改為root::0:0:root:/root:/b

如何建立一個最簡單的Linux啟動服務?

最雞蛋的方法是把命令寫到/etc/rc.d/rc.local或者/etc/rc.local裡,這樣雖然能夠實現隨機執行,但是並不夠靈活。不能像mysql,apache等服務一樣能夠使用service命令或者呼叫init.d下的指令碼啟動、關閉或者重啟程序。 $ ser

linux 啟動 | 三種方式啟動

inux 定時啟動 啟動關閉 number lis 簡單 ons lai bsp linux 實現自啟動有多種方式,通過Linux 底層啟動原理介紹,便可以理解以下幾種方式 這裏簡單介紹一下這幾種方式 一、自定義開機程序 /etc/rc.d/rc.local

Linux下添加定義腳本到開機啟動,標準rpm,舉例:設置Apache啟動

不同 config desc 完全 def chkconfig mod etc chm 寫一個腳本,名字為:autostart.sh,放在/etc/init.d/目錄下,賦予權限chmod +x /etc/init.d/autostart.sh 代碼如下 #!/bin/sh

Linux:Tomcat配置及設置開機啟動

down %20 fig 選項 輸入 html download c-c erl 1、配置完成後 2、執行:source /etc/profile 3、啟動Tomcat服務器,tomcat對應的bin下面執行:./startup.sh(啟動/關閉命令:http://www.

linux 重要的開機啟動服務

自啟 信息 lin cpu使用率 網絡 sshd work 使用率 sysstat 1.sshd 遠程連接 2.rsyslog/syslog 日誌相關軟件,這是操作系統提供的一種機制,系統的守護程序通常會使用rsyslog程序將各種信息寫道各個系統的日誌文件中 3.

linux開機啟動

manage lin itl dep 3.0 mbed 自動化 amp 查看 做程序自啟動可以把啟動腳本寫成開機啟動腳本或者做成服務,這邊采用寫入開機啟動腳本 vi /etc/rc.local 加入啟動腳本 zk加入開機自啟動 /opt/zookeeper-3.4.6/bi

linux awk命令批量關閉系統開機啟動服務

awk命令 批量關閉系統開機自啟動服務安裝好一個新的系統之後,為了簡化系統需要關閉一些開機自啟動的服務。蝸牛使用了grep和awk的基礎命令進行操作。作為服務器使用,新系統中需要啟動的服務大概就以下幾個crond network sshd rsyslog 查看運行級別3開機自啟動的服務chkconfig --

Linux將服務設置為開機啟動的方法小結

linux 開機 自啟動 Linux設置為開機自啟動的幾種方法小結 和Windows一樣,Linux也可以將一些服務設置為開機自啟動,這樣可以避免每次開機都會去打開某一個服帶來的麻煩!Linux開機將服務設置為開機自啟動的方法大概有一下幾種:一、ntsysv圖形界面設置 ntsysv

linux應用啟動配置

tar white username 目錄 col tran letter pen 需要 Linux在啟動時,會自動執行/etc/rc.d目錄下的初始化程序,因此我們可以把啟動任務放到該目錄下: 1、因為其中的rc.local是在完成所有初始化之後執行,因此可以把啟動腳本寫

postgresql在linux下的的開機啟動服務與環境變量的配置

gpo 屬性 腳本 命令 strong 修改 post 方式 ebo 設置PostgreSQL開機自啟動 PostgreSQL的開機自啟動腳本位於PostgreSQL源碼目錄的contrib/start-scripts路徑下 linux文件即為linux系統上的啟動腳本

Linux設置nodejs開機啟動

lan download sta 壓縮 無奈 端口 img post 程序 系統:Centos7 工具:Xshell、Xftp 由於客戶服務器從windows系統切換到了linux系統,所以原先部署在windows上的node服務端需要遷移到linux服務器上。 1、nod

如何在Linux上實現:Eureka服務的開機啟動

參數 src class blog nohup echo 創建文件 too hup 【問題描述】   由於最近在使用Spring Eureka的註冊中心服務,而辦公室每天晚上要斷電,每天早上過來後需要手工啟動Eureka服務非常麻煩。   需要實現:開機自動該服務的功能。

linux下設置tomcat啟動

image conf 如果 ces src ima init tom spa 怎麽設置linux安裝了tomcat之後讓tomcat開機就啟動呢? 下來我們來簡單的說一下: 第一步@1: 首先我們找到tomcat的安裝的位置,找到之後我們cd到tomcat的bin目錄下面;

Linux安裝後,需保留哪些啟動服務?

Linux運維 Linux學習 Linux入門 Linux基礎 Linux雲計算 和Windows系統一樣,Linux服務器運行過程中也會一些沒用的軟件服務默認運行,這些占用了很多系統資源,也會有安全隱患,所以一般是建議關閉的。那麽,工作中Linux主機到底需要有哪些開機自啟動服務呢?