⑴ linux 登錄 Banner 自定義
前面一篇文章 《SpringBoot 啟動 banner 定製》 講到了關於 Banner 的一些情況。在 Linux 登錄的時候,我們也可以自定義登錄系統時候的 Banner 信息
  
 首先,我們還是通過網站  http://network-science.de/ascii/  來自定義我們的 Banner 的藝術形式。如下圖所示
                                          
 然後我們編輯 /etc/motd 文件,將上圖中生成的文本和自己想要編輯的其他內容輸入到這個文件中,例如如下圖所示
                                          
 保存後,重新納舉登錄系統,則會出現如下的信息
                                          
 Linux 登錄的 Banner 一個比較重要的作用是識別當前機器。當一個操作人員有很多機器進行切換,特別是在跳板機中間跳來跳去去的時候,經常忘記了自己在哪個機器上,如果有這么個信息,就洞伏碧可廳旁以輔助操作者定位自己所在的位置。
⑵ linux6.5如何查看登陸系統時會已設置的顯示提示信息
在Linux 6.5中,您可以通過以下步驟查看登錄系統時已設置的顯示提示信息:
1. 打開終端或控制台窗口。
2. 輸入以下命令並按下回車鍵:`sudo nano /etc/issue`。
3. 這將打開一個文本編輯器,其中包含登錄系統時顯示的提示信息段笑。您可以查看和編輯此文件。
4. 您可以使用Ctrl + X組合鍵退出編輯器,並選擇「Y」以保存更改。
5. 重新啟動系統以使更改生效。
請注意,如果您不確定如何編輯慧老此文件握碧含,請不要更改它,以免造成系統故障。
⑶ 如何修改用戶SSH\telnet登陸linux時候顯示的歡迎信息
1、修改/etc/motd
2、修改/etc/issue
3、ssh還可以修改/etc/ssh/sshd_config里Banner項所指示的文件
# no default banner path
#Banner /some/path
4、當我們使用 telnet 連接主機時,主機的登入畫面專就會顯示 /etc/issue.net 而不是屬 /etc/issue
5、Ubuntu除了/etc/motd還需要修改更多,比如/etc/update-motd.d/裡面的文件
⑷ linux 系統配置文件
一般的配置文件都是放在/etc目錄下的 (你可以通過輸入:ll /etc命令來列出etc目錄下的具體內容專)
不同的服務對應屬不同的文件。如: 
/etc/httpd.conf對應apache服務 
/etc/named.conf對應DNS服務 
/etc/dhcpd.coonf對應DHCP服務 
/etc/samba/smb.conf對應文件共享 
/etc/passwd 對應用戶名 
/etc/shadow 對應用戶密碼 
/etc/ypserv.conf 對應NIS服務 
/etc/vsftpd/vsftpd.conf 對應FTP服務 
/etc/hosts 對應主機名和IP地址關系 
/etc/resolv.conf 對應DNS伺服器的設置 
如果你要有所改動的話要根據你的實際需要修改一下相關的配置文件就可以了!不過有的文件的位置是不能修改的!
⑸ 資深Linux運維工程師必須掌握的核心命令
查看CPU信息可以使用lscpu命令 
  
  從命令的輸出結果可以看得出來CPU的型號是 Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz,CPU(s)是4表示同時可以執行四個任務。 
  
  如果想要同時執行更多的任務,可以在VMware WorkStation中修改,修改完成以後會立即生效。 
     
  除了lscpu以外,還可以使用cat /proc/cpuinfo命令查看CPU信息,不過它是以每核分開顯示的。 
  
  使用free或者是cat /proc/meminfo可以查看當前系統的內存信息,包括總內存、已經使用內存以及可用內存信息 
  
  Linux和Windows不同的是Linux的圖形界面只是它的一個程序,而不是必備組件。我們之前安裝CentOS8.4選擇的Server With GUI包含GNOME桌面的圖形環境,我們可以使用init 3命令關閉圖形,CentOS8會出現一個字元登錄界面。 
然後再使用free -h觀察已經使用的內存只有334M,相比圖形界面的730M 減少了接近400M內存,為了節省內存,生產環境一般不會安裝和使用圖形界面。 
  
  想要再切回圖形界面使用init 5命令即可。 
  
  還可以使用runlevel命令查看當前系統運行的模式,其中輸出結果的3表示之前是字元界面,5表示當前系統運行的是圖形界面 
     
  使用lsblk命令可以查看磁碟信息,包括有幾塊磁碟以及每塊磁碟的分區、容量信息 
  
  通過命令的執行結果可以得知目前CentOS8系統上有三塊磁碟,分別是sda,sdb,sdc,其中sdb和sdc沒有分區,
  而sda磁碟是在安裝系統時創建了四個分區,具體信息如下表格所示 
  
  除此以外還可以使用 cat /proc/partitions命令查看磁碟信息,從命令的執行結果可以看出容量還是以KB為單位。 
  
  通過arch命令可以查看當前系統架構為x86_64,這也是目前主流的系統架構。 
  
  不同的Linux發行版使用的Linux內核版本不同,通過uname -r可以查看Linux系統的內核版本 
  
  通過 cat /etc/os-release 命令或者是lsb_release -a命令可以查看操作系統的版本,後期在開發程序時不同的操作系統版本需要做不同的處理。 
  
  查看Ubuntu Server的版本 
  
  查看CentOS8的版本 
  
  CentOS還可以使用 cat /etc/redhat-release版本 
  
  Linux中的時間有系統時間和硬體時間兩種 
  
  date和clock可以使用分號隔開後同時執行看系統時間和硬體時間 
  
  目前我的系統時間和硬體時間相差了18秒 
  
  如果硬體時間是准確的,那麼就通過命令clock -s以硬體時間為准,同步校正系統時間。 
  
  如果系統時間是准確的,那麼通過clock -w命令以系統時間為准,同步校正硬體時間 
  
  不同的國家在同一時刻所處的時間是不同的,因為時區不同。 
     
  例如中國就是東八區,東八區和格林威治的時區相比相差8個小時(也就是比北京時間慢了8個小時),之前在安裝操作系統的時候設置的時區就是Asia/Shanghai,,通過timedatectl status查看當前時間狀態,其中 Universal time就是格林威治時間,而Local Time就是系統設置時區(Asia/Shanghai)的時間,它們兩者剛好相差了8個小時。 Time zone: Asia/Shanghai (CST, +0800) 表示當前的時區是亞洲上海。 
  
  如果現在你去了法國巴黎,可以通過timectl set-timezone 設置時區為歐洲巴黎,當修改時區後使用date命令查看系統時間顯示的就是當前法國的巴黎時間,相比北京時間慢了6個小時。 
  
  修改時區最終影響的是 /etc/localtime文件 
  
  不過目前我在中國,因此還是改回亞洲上海 
  
  timedatectl list-timezones可以查看所有時區 
  
  cal命令可以查看當前月份的日歷,例如今天是2021年10月5號 
  
  查看指定月份的日歷 
  
  還可以查看指定年份的日歷 
  
  生產環境不能隨便關機和重啟!!! 因為伺服器基本都是   7*24  對外提供服務
  測試環境或者是本地虛擬機安裝的Linux伺服器可以按需求關機或者重啟
  關機可以使用halt或者poweroff命令
  
  而shutdown可以實現關機或者重啟,shutdown -r表示重啟,即reboot,shutdown -h表示關機,即halt。 -c表示取消關機或重啟。
  除此以外shutdown 還可以指定時間來關機或重啟,默認是1分鍾後執行。 
  
  關機和重啟命令的常見用法 
  
  Linux下有nano和vim等文本編輯器,目前我們先使用nano來編輯文本。
  如果系統上沒有安裝nano文本編輯器,那麼在使用之前首先需要使用yum install -y nano命令來安裝nano文本編輯器 
  
  在使用nano進行文本編輯時,nano後面跟文件路徑即可打開文件,然後可以直接修改文件,類似於windows的記事本,修改完成後然後按Ctrl+x退出,接著按y保存修改,回車後退出nano。 
  
  然後使用nano /etc/motd來修改該文件,motd文件是用戶登錄之後提示的內容 
  
  然後輸入Welcome to my class 
之後按Ctrl+x退出nano編輯器,按y保存到文件匯中,然後按回車鍵確認修改。 
  
  再重新登錄CentOS8.4 
  
  登錄成功之後就會看到/etc/motd文件內容顯示在終端上 
     
  我這里准備了一個motd文件,首先使用MobaXterm終端上傳到/etc目錄下覆蓋現有的motd文件,在使用MobaXterm終端登錄CentOS8.4-1後,首先將SSH Broswer的路徑切換到/etc目錄下 
然後點擊上傳文件的按鈕 
     
  選擇提前准備好的motd文件上傳到/etc目錄下 
     
  然後再次重新登錄系統就會看到一個大佛 
     
  大家可以自行訪問https://www.bootschool.net/ascii-art 在線生成ASCII(圖)藝術字,然後將內容復制到motd文件即可。 
當我們登錄Linux打開一個終端窗口,然後輸入命令,用戶與計算機的這種臨時交互被稱為一次會話(Session)、會話的一個重要的特點就是窗口與其中啟動的進程是連接在一起的,打開窗口則會話開始,關閉窗口則會話結束,而且會話內部的進程也會隨之而終止,不管有沒有運行完成。 
  
  這里舉一個例子,我們首先使用XShell遠程登錄CentOS8.4-1,然後使用ping 10.0.0.103命令檢測是否能夠連接10.0.0.103,也就是Ubuntu Server 20.04.3-1那台機器 
命令執行的結果顯示能夠連接,而且只要你不關閉窗口會一直顯示收到數據以及耗時。 
     
  然後我們復制一個會話 
     
  然後使用ps aux|grep ping 查看ping的進程信息,因為沒有關閉會話窗口所以進程還在 
     
  當我們關閉之前開啟的會話窗口之後 
再次使用ps aux|grep ping查看進程會發現ping進程不存在了 
     
  為了解決上述的問題,我們就可以將會話與窗口解綁,也就是窗口關閉時會話並不會終止,而是繼續運行,等到以後需要的時候,再讓會話綁定其他窗口。 
  
  而終端復用器程序(例如screen,tmux)就是將會話與窗口的解綁工具,將它們徹底分離。 
  
  首次運行screen時會發現Shell提示command not found 
  
  我們需要使用yum install -y screen 來安裝screen,但是執行之後發現提示錯誤:: Unable to find a match: screen 
  
  Centos8安裝screen需要使用epel來安裝,安裝epel後,再安裝screen,解決centos8無法安裝screen的問題 
  
  然後再執行yum install -y screen 便可安裝成功 
Screen安裝成功 
  
  在安裝完screen後就可以使用了,首先在終端輸入screen,然後你就會看到屏幕好像是刷新了一下,本質就是一個會話 
     
  然後再次運行ping 10.0.0.103 
     
  由於開啟了screen,即使關閉了所有的會話窗口,你會發現使用ps aux |grep ping 命令查看ping命令的進程也還在。 
  
  如果後期在做運維工作,有些命令很耗時又怕誤操作關閉會話導致命令的進程關閉就可以使用screen。 
  
  screen除了創建會話,能讓命令關閉窗口後繼續在後台執行的功能以外,還能夠實現遠程桌面共享,從而實現遠程協助的功能。 
  
  實現該功能必須滿足兩個條件,兩個用戶必須使用同一個賬號登錄同一台機器。 
  
  例如這里小紅和小明同時使用root賬號登錄了CentOS8.4,其中左邊的窗口是小紅,右邊的窗口是小明 
     
  然後小紅使用screen -S help開啟一個遠程會話,會話的名稱叫help 
  
  然後小明使用screen -x help加入小紅開啟的會話 
     
  此時小明可以看到小紅窗口的內容 
     
  當小明解決小紅的問題後,可以使用ctrl a,d退出當前會話 
     
  如果小明不知道小紅的會話名稱,可以使用screen -ls獲取當前會話 
  
  echo就是用於輸出信息 
  
  echo輸出固定字元串 
  
  echo輸出變數值 
  
  echo輸出轉義字元 
  
  echo 默認可以實現換行 
  
  echo輸出信息還可以帶顏色 
  
  echo還可以清除屏幕,等價於clear命令或者是快捷鍵Ctrl+l
⑹ 如何設置用戶登錄後的歡迎信息
問:如何答薯設置用戶登錄後的歡迎信息?
答:修改/etc/motd文件,往裡面寫入文本,就能使用戶通過Telnet正確登錄後,執行Shell之前得到相應的提示信息。 motd就是「messages of the day」,也就是當日清前者信息的意思。管理員可悔姿以往裡面寫一些需要注意的事項或通知等來提醒正式用戶。更多知識點請查看《linux就該這么學》。
⑺ Linux文件管理基礎及編輯工具用法
文件名稱區分大小寫
  
 文件名最長255個字元
  
 包括路徑在內文件名稱最長4095個位元組
  
 藍色-->目錄:綠色-->可執行文件:紅色-->壓縮文件:淺藍色-->鏈接文件:灰色-->其它文件
  
 除了斜杠和NUL,所有字元都有效,使用特殊字元的目錄名和文件不推薦使用,有些字元需要加引號來引用
  
 標准Linux文件系統,文件名稱大小寫敏感
  
 
  
 /boot: 內核引導文件存放目錄
  
 /bin: 所有用戶使用的基本命令;不能關聯至獨立分區,系統啟動會用到的程序
  
 /sbin: 管理類的基本命令;不能關聯至獨立分區,系統啟動會用到的程序
  
 /lib: 系統啟動時程序依賴的基本共享庫文件及內核模塊文件(/lib/moles)
  
 /etc: 配置文件目錄
  
 /home: 普通用戶家目錄
  
 /root: 管理員家目錄
  
 /media: 攜帶型移動設備掛載點
  
 
  
 /mnt: 臨時文件系統掛載點
  
 /dev: 設備文件及特殊文件存儲位置
  
 /opt: 第三方應用程序安裝位置,同/usr/local
  
 /srv: 系統服務用到的數據
  
 /tmp: 存儲臨時文件
  
 /usr: 系統軟體資源存放目錄
  
 /var: 系統運行時的可變動數據:/var/tmp:系統兩次重啟產生的臨時數據
  
 
  
 /proc: 內核與進程信息相關的虛擬文件系統
  
 /sys: 硬體設備相關信息的虛擬文件系統
  
 /selinux: selinux安全策略
  
 meta data: 
  
     文件類型,許可權,UID,GID
  
     鏈接數(指向這個文件名路徑名稱個數)
  
     該文件的大小和不同的時間戳
  
     指向磁碟上文件的數據塊指針
  
     有關文件的其他數據
  
 
  
         文件類型:
  
             -: 普通文件
  
             d: 目錄文件
  
             b: 塊設備
  
             c: 字元設備
  
             l: 符號鏈接文件
  
             p: 管道文件pipe
  
             s: 套接字文件socket
  
 
  
         查看方式:
  
             使用ll,ls -l: 看第一個字元,鏈接數,
  
             ls -lih:
  
                 inode編號,文件類型,文件許可權,硬鏈接個數,文件屬主,文件屬組,文件大小,文件修改時間
  
             file命令,type命令,
  
             stat命令: 文件詳細信息,修改時間mtime,改變時間ctime,訪問時間atime
  
              -sm filename: 查看文件大小
  
             文件擴展名:
  
                 源碼.tar、.tar.gz、.tgz、.zip、.tar.bz表示壓縮文件,創建命令一般為tar,gzip,zip等。
  
                 .sh表示shell腳本文件,通過shell語言開發的程序。
  
                 .pl表示perl語言文件,通過perl語言開發的程序。
  
                 .py表示python語言文件,通過python語言開發的程序。
  
                 .html、.htm、.php、.jsp、.do表示網頁語言的文件。
  
                 .conf表示系統服務的配置文件。
  
                 .rpm表示rpm安裝包文件。
  
 
  
         touch: 創建空文件和刷新時間戳
  
             touch [OPTION]... FILE...
  
 
  
                 -a: 改變atime和ctime
  
                 -m: 改變mtime和ctime
  
                 -t: [[CC[YY[MMDDhhmm[.ss]]]]]
  
                     指定atime和mtime的時間戳
  
                 -c: 如果文件不存在,則不予創建 
  
 硬鏈接:
  
     同一個文件多個名字
  
     不支持跨分區,不支持目錄
  
     平級關系,刪除原始文件不影響打開
  
     iNode相同,鏈接數增長
  
     創建語法,原始文件路徑,相對於工作目錄的路徑
  
     文件類型,普通文件
  
     創建方式ln filename [linkname]
  
 軟鏈接:
  
     與原始文件,不同的文件
  
     支持跨分區,支持目錄
  
     依賴關系,刪除原始文件即失效
  
     iNode不同,鏈接數不會增長
  
     創建語法,原始文件路徑,相對於軟鏈接的路徑
  
     文件類型顯示l
  
     創建方式ln -s filename [linkname]
  
 
  
 實例說明:
  
     cd ../data
  
     mkdir -pv d1/d2
  
     touch linux.txt
  
     ln linux.txt d1/d2/linux.hlink
  
     ln -s ../../linux.txt d1/d2/linux.slink
  
     ln -s ../d2 d1/d2/d2.slink
  
     tree
  
 
  
     執行如圖:
stat: 查看文件狀態
  
     示例: stat /etc/issue
  
         stat/etc/motd
  
 
  
 touch: 創建空文件和刷新時間
  
     touch [OPTION]... FILE...
  
         -a: 僅改變atime和ctime
  
         -m: 僅改變mtime和ctime
  
         -t: 指定atime和mtime時間戳
  
         -c: 如果文件不存在,則不予創建
  
 
  
     示例: touch /data/f1
  
 
  
 cp: 復制文件和目錄
  
     cp [OPTION]... SOURCE... DIRECTORY
  
         -i: 覆蓋前提示
  
         -n: 不覆蓋
  
         -r,-R: 遞歸復制目錄及內部的所有內容
  
         -a: 歸檔,相當於-dR --preserv=all
  
         -p: 等同--preserv=mode,ownership,timestamp
  
         -u: 只復制源比目標更新或目標不存在
  
         -b: 目標存在,覆蓋前先備份filename~
  
         --backup=numbered: 目標存在,覆蓋前先備份並加數字後綴
  
 
  
     cp SRC DEST
  
         SRC是文件:
  
             如果目標不存在: 新建DEST,並將SRC中內容填充至DEST中
  
             如果目標存在:
  
                 如果DEST是文件: 將SRC中內容覆蓋至DEST中
  
                 如果DEST是目錄: 在DEST下新建與原文件同名的文件,並將SRC中內容填充至新文件中
  
 
  
         SRC是多個文件:
  
             DEST必須存在,且為目錄
  
         SRC是目錄: 使用選項-r
  
             如果DEST不存在: 則創建指定目錄,復制SRC目錄中所有文件至DEST中
  
             如果DEST存在:
  
                 如果DEST是文件: 報錯
  
                 如果DEST是目錄:在DEST下新建與原目錄同名的目錄,並將SRC中內容復制至新目錄中
  
 
  
     示例: mkdir -p /data/backup
  
         cp -ab /etc/issue /etc/passwd /etc/group /data/backup
  
 
  
 mv: 移動和重命名文件
  
     mv [OPTION]... SOURCE... DIRECTORY
  
         -f: 強制
  
         -b: 目標存在,覆蓋前先備份
  
 
  
     示例: mv /etc/issue /data
  
         mv /etc/issue /data/issue.bak
  
 
  
 rm: 刪除
  
     rm [OPTION]... FILE...
  
         -f: 強制刪除
  
         -r: 遞歸
  
         --no-preserve-root 刪除/
  
 
  
     示例: rm -rf /data/d1/d2
  
 
  
 tree: 顯示目錄樹
  
     -d:只顯示目錄
  
     -L level: 指定顯示的層級數目
  
     -P pattern: 只顯示由指定pattern匹配到的路徑
  
 
  
     示例: tree /data
  
 
  
 ls:列出指定目錄下的內容
  
     ls [OPTION]... [FILE]...
  
 -a:顯示所有文件包括隱藏文件
  
 -A:顯示除.和..之外的所有文件
  
 -l,--long:顯示文件的詳細屬性信息
  
 -h:對文件大小進行單位換算,可能影響精度
  
 -d:查看目錄本身而非其內部的文件
  
 -r:逆序顯示文件
  
 -R:遞歸顯示文件
    示例:ls -lah / 詳細顯示/目錄下的所有文件(包括隱藏文件)
  
 
  
 mkdir:創建目錄
  
     mkdir [OPTION]... DIRECTORY...
  
 -p:自動按需創建父目錄
  
 -m:創建目錄時給定許可權
  
 
  
     示例: mkdir -p /data/test/A/B
  
 
  
 cat:正向查看文本內容
  
     cat [OPTION]... [FILE]...
  
 -n:給顯示的文本行編號
  
 -E:顯示行結束符號$
  
 
  
     示例: cat -n /etc/fstab
  
 
  
 tail:顯示文本內容,默認顯示後10行
  
     tail [OPTION]... [FILE]...
  
 -n #:顯示文本後#行內容
  
 -f:查看文件尾部內容結束後不退出,跟隨顯示新增的行
    示例: tail -8 /etc/passwd
  
 
  
 head:顯示文本內容,默認顯示頭10行
  
     head [OPTION]... [FILE]...
  
   -n #:顯示文本頭#行內容
  
     示例: head -5 /etc/passwd
  
 
  
 less:分屏顯示文本內容,不主動退出
  
     less [options] file [...]
  
 Space鍵:顯示文本下一屏內容
  
 Enter鍵:只顯示文本下一行內容
  
 b鍵:顯示文本上一屏內容
  
 q鍵:退出
  
 cp /etc/profile /tmp
  
 vim /tmp/profile
  
     :%s/^\s\+//
  
 
  
 如圖:
命令模式下輸入:
  
     :set tabstop=4
  
 或寫入用戶配置文件~/.vimrc
⑻ Linux修改/etc/issue 動態地顯示自定義信息
你可以參考一下ubuntu的腳本,他是用腳本實現的,腳本的位置是
/etc/update-motd.d/
顯示效果如下:
Welcome to Ubuntu 11.04 (GNU/Linux 2.6.38-8-server x86_64)
 * Documentation:  http://www.ubuntu.com/server/doc
  System information as of Tue May 17 11:51:09 CST 2011
  System load:  0.0                Processes:             92
  Usage of /:   9.2% of 912.69GB   Users logged in:       0
  Memory usage: 40%                IP address for eth0:   xxx.xxx.xxx.xxx
  Swap usage:   0%                 IP address for virbr0: xxx.xxx.xxx.xxx
  Graph this data and manage this system at https://landscape.canonical.com/
⑼ 如何修改deepin的版本信息為ubuntu
Ubuntu的登陸和歡殲高森迎信息控制/etc/issue和/etc/motd
/etc/issue與/etc/motd區別在於:當一個網路用戶或通過串口登錄系統 上時,/etc/issue的文件內容顯示在login提示符之前,而/etc/motd內容顯示在用戶成功登錄系統之後。
修改登陸前顯示信息:
復制代碼
代碼如下:
#vi /etc/issue
#vi /etc/issue.net
Custom 10.04.2 LTS \n \l
issue 內各代碼意義:
\d 本地端時間日期;
\l 顯示第幾個終端機介面;
\m 顯示硬體等級 (i386/i486/i586/i686...);
\n 顯示主機網路名稱;
\o 顯示 domain name;
\r 操作系統版本 (相當於 uname -r)
\t 顯示本地端時間;
\s 操作系統名稱;
\v 操作系統氏畝版念鍵本。
可 以通過修改/etc/issue內容製作自己喜歡的登陸信息。這里還要注意的是,除了 /etc/issue 外還有個 /etc/issue.net。這個是提供給 telnet 這個進程登錄程序用的。當我們使用 telnet 連接主機時,主機的登入畫面就會顯示 /etc/issue.net 而不是 /etc/issue 。
登陸後顯示信息:
復制代碼
代碼如下:
#vi /var/run/motd
Welcome to Ubuntu!
這里顯示很多系統信息,都是怎麼得來和更新的呢?
ubuntu 與別的linux不同,直接修改/etc/motd文件重登錄後無效。因為這里/etc/motd是一個符號鏈接,指向/var/run/motd,應該 是一個啟動後在生成的文件。在版本10.04中,找到生成的腳本在目錄/etc/update-motd.d/中,那幾個有序號的文件就是,包括 00-header,20-cpu-checker ,90-updates-available, 98-reboot-required,10-help-text,50-landscape-sysinfo,91-release- upgrade,99-footer。修改這幾個文件,可以得到自己想要的結果。
修改後用:
⑽ 如何修改linux系統banner信息
Linux下登錄提示是記錄在/etc/issue和/etc/motd中,這兩者的區別是,前者是在用戶登錄前就顯示,而後者則是在用戶登錄後顯示。我們當然需要更改/etc/issue中的內容。而Linux在重新啟動過程中會執行一系列腳本,使更改的Banner恢復腳本定議的內容,用戶可以用#注釋掉相關腳本,用戶也可以在rc.local腳本中添加內容,這樣就可以在啟動過程中執行。在Arch上rc.local位於/etc/rc.local,而在Slackware中,其位於/etc/rc.d/rc.local。
知道了以上的信息後就不難辦了。使用管理員許可權修改rc.local文件的內容如下所示:
#!/bin/bash
ipaddr=$(ifconfig | sed -ne 's/ *inet
addr:([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}) *B.*/1/p')
echo $'x1bx5bx48x1bx5bx32x4ax0a'圓枝'Arch
Linux ['$ipaddr'] ( ) (l)' > /etc/issue
以上需要說明的是第二行,是通過正則獲取ifconfig命令輸出的ip地址,最後一行是輸出信息到issue文件。
最後一行中前邊的字元串是用來清除終端顯示的,而issue文件中轉義字元也有不同的含義,可以通過man
agetty 8來獲取所有轉義字元的含義。
一,ftp服務Linux
Banner修改法:
wu-ftp修改
用十六進制文本編輯器修改/usr/sbin/in.ftpd文件,找到如下幾行:
/var/log/lastlog
Could
not write %.100s:%.100s
Version wu-2.6.1-16
改成:
Microsoft FTP
Service(Version.6.0)
或者:
Serv-U FTP Server v6.4 for WinSock ready...
通過上面的方法將自己的WU-FTP修改成SERV-U或IIS自帶的FTP,從而達到迷惑黑客的目的。
vsftpd的修改 編輯配置文件 vsftpd.conf 找到這行#ftpd_banner= 將#號刪除,把=號賀鄭後面的修改成你要的名稱
我這里修改成了 ftpd_banner=Serv-U FTP Server v6.4 for WinSock ready...
二,Telnet Linux
Banner修改法:
編輯文件/etc/issue.net,找到類似這幾行(不同版本的Linux內容不太一樣):
Red
Hat Linux release 8.0(Psyche)
Kernel on an m
改成:
Microsoft Windows
Version 5.00(Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server
Build
5.00.99206.1
由於issue.net重啟後會自動恢復,為了保護這些偽造的信息,還需要編輯文件/etc/rc.local,
在這些行前加「#」號,注釋掉恢復的功能:
#echo」」>/etc/issue
#echo」$R」>>/etc/issue
#echo
「Kernel $(uname –r) on $a $SMP$(umame
–m)」>>/etc/issue
#cp-f/etc/issue/etc/issue.net
#echo>>/etc/issue通過上面的方禪腔頌法將自己linux系統下的telnet服務修改成windows下的telnet服務,從而達到迷惑黑客的目的。
三,Apache Linux
Banner修改法:
在安裝Apache前,在源文件/src/include目錄下找到httpd.h頭文件。此文件定義了Apache的版本信息,Apache安裝時需要調用它。編輯http.h文件,找到如下幾行:
#define
Server_BASEVENDOR 「Apache Group」
#define Server_BASEPRODUCT
「Apache」
#define Server_BASEREVISION
「1.3.20」
可以根據自己的意願改成其他信息,筆者改的是Microsoft-IIS/5.0。
編輯文件/etc/ssh/sshd_config,找到這行:
Banner/etc/issue.net
在此行前加#進行注釋就可以不顯示SSH的Banner了。通過上面的方法將自己的APACHE
banner修改成windows下的IIS,從而達到迷惑黑客的目的。
四,Sendmail Linux
Banner修改法:
在sendmail.mc文件中去掉$v、$z這兩個宏,並包含下面的內容:
define(confSMTP_LOGIN_MSG』,$j
Sendmail
Sencure/Recure/Rabid;$b)
然後生成sendmail.cf文件
#m4/etc/mail/sendmail.mc>/etc/sendmail.cf
如果sendmail.mc中沒有include(『/usr/share/sendmail.cf/m4/cf.m4』)這一行就需要
和Sendmail
提供的預設的配置文件cf.m4一起使用來生成文件sendmail.cf:
#m4 /usr/share/sendmail-cf/m4/cf.m4
/etc/mail/sendmail.mc>/etc/sendmail.cf通過上面的方法有效的對sendmail服務的banner進行修改,從而達到迷惑黑客的目的。
五,修改linux機器的ttl值運行
echo 128 >
/proc/sys/net/ipv4/ip_default_ttl 將數字128寫入ip_default_ttl文件,128段通常為windows系統
可以將此語句寫入啟動,/etc/rc.local 這樣開機有自動修改了ttl數值了,保護了linux安全
總結:
經過上述的幾個步驟,Linux系統的基本安全性能就得到了很大的增強。我們成功的將黑客阻擋在入侵之外。當然要得到最大化的安全性能,當然還要根據實際需求配置Apache等,由於篇幅所限,這里就不詳細介紹了。