<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    Linux 安全運維 150 個命令

    VSole2021-09-22 07:33:02

    本文章盤點了 Linux 運維必備 150 個命令,請配合下面的網站使用。定位你需要使用的命令,然后去這個網站查詢詳細用法即可。

    地址:wangchujiang.com/linux-command/


    這個網站來自 GitHub 項目:linux-command。

    線上查詢及幫助命令

    man:全拼manual,用來查看系統中自帶的各種參考手冊。

    help:用于顯示shell內部命令的幫助信息。

    文件和目錄操作命令

    ls:全拼list,列出目錄的內容及其內容屬性信息。

    cd:全拼change directory,切換當前工作目錄至dirName(目錄參數)。其中dirName表示法可為絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的home目錄。另外,“~”也表示為home目錄的意思,“.”是表示目前所在的目錄,“..”則表示目前目錄位置的上一層目錄。

    cp:全拼copy,復制文件或目錄。

    find:用來在指定目錄及目錄下查找文件。

    mkdir:全拼make directories,創建目錄。

    mv:全拼move,移動或重命名文件。

    pwd:全拼print working directory,顯示當前工作目錄的絕對路徑。

    rename:可用字符串替換的方式批量改變文件名。

    rm:全拼remove,刪除一個或多個文件或目錄。必須格外小心地使用該命令。

    rmdir:全拼remove empty directories,刪除空目錄。

    touch:修改文件或者目錄的時間屬性,包括存取時間和更改時間。若文件不存在,系統會建立一個新的文件。

    tree:以樹狀圖列出目錄的內容。它會列出指定目錄下的所有文件,包括子目錄里的文件。

    basename:顯示文件名。用于去掉文件名的目錄和后綴。

    dirname:顯示給定路徑的目錄部分。

    chattr:全拼change file attributes,改變文件的擴展屬性。

    lsattr:全拼list file attributes,顯示文件擴展屬性。

    file:用來識別文件類型。

    md5sum:用于生成和校驗文件的md5值。它會逐位對文件的內容進行校驗,它常用于檢查文件的完整性。

    查看文件及內容處理命令

    cat:全拼concatenate,用于連接多個文件并且打印到屏幕輸出或重定向到指定文件中,可查看文件內容。

    tac:cat的反向拼寫,因此命令的功能為反向顯示文件內容。文件內容的最后一行先顯示,第一行最后顯示。

    more:一頁一頁的形式顯示文件內容,更方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與 vi 相似),使用中的說明文件,按 h 。

    less:less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向后移動,而且 less 在查看之前不會加載整個文件。

    head:顯示文件的開頭的內容。在默認情況下,head命令顯示文件的頭10行內容。

    tail:查看文件尾部內容,有一個常用的參數 -f 常用于查閱正在改變的文件。可以看到最新的文件內容。

    cut:將文件的每一行按指定分隔符分割并輸出。

    split:分割文件為不同的小片段。

    paste:用于合并文件的列。paste指令會把每個文件以列對列的方式,一列列地加以合并。

    sort:將文本文件內容加以排序,sort可針對文本文件的內容,以行為單位來排序。

    uniq:全拼uniqique,用于檢查及刪除文本文件中重復出現的行列。

    wc:統計文件的行數、單詞數或字節數等。

    iconv:轉換文件的編碼格式。

    dos2unix:是將Windows DOS格式文件轉換為Unix、Linux格式的實用命令。Windows格式文件的換行符為\\r\ ,而Unix&Linux文件的換行符為\.。dos2unix命令其實就是將文件中的\\r\ 轉換為\。

    diff:全拼difference,diff以逐行的方式比較文件的差異。

    vimdiff:命令行可視化文件比較工具,常用于文本文件。

    rev:全拼reverse,rev命令將文件中的每行內容以字符為單位反序輸出,即第一個字符最后輸出,最后一個字符最先輸出,依次類推。

    grep/egrep:全拼(Extend)Global standard Research Expression Print out the line,是一種文本搜索工具,可以通過使用指定的通配符/正則表達式來實現文本搜索功能。

    join:用于將兩個文件中,指定欄位內容相同的行連接起來。找出兩個文件中,指定欄位內容相同的行,并加以合并,再標準輸出。

    tr:拼translate,tr命令用于轉換或刪除文件中的字符。tr 指令從標準輸入設備讀取數據,經過字符串轉譯后,將結果輸出到標準輸出設備。

    vi/vim:vi編輯器是所有Unix及Linux系統下標準的編輯器,它的強大不遜色于任何最新的文本編輯器。Vim是從 vi 發展出來的一個文本編輯器。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用。

    文件壓縮及解壓縮命令

    tar:tar命令是用來建立,還原備份文件的工具程序,它可以加入,解開備份文件內的文件。

    unzip:unzip命令用于解壓縮zip文件。

    gzip:gzip命令用于壓縮文件。gzip是個使用廣泛的壓縮程序,文件經它壓縮過后,其名稱后面會多出".gz"的擴展名。

    zip:zip命令可以用來將文件壓縮成為常用的zip格式。

    信息顯示命令

    uname:全拼Unix name,用于顯示系統信息。

    hostname:hostname命令用于顯示和設置系統的主機名稱。環境變量HOSTNAME也保存了當前的主機名。在使用hostname命令設置主機名后,系統并不會永久保存新的主機名,重新啟動機器之后還是原來的主機名。如果需要永久修改主機名,需要同時修改/etc/hosts和/etc/sysconfig/network的相關內容。

    dmesg:全拼diagnostic message,用于顯示開機信息,診斷系統故障。kernel會將開機信息存儲在ring buffer中。若是開機時來不及查看信息,可利用dmesg來查看。開機信息亦保存在/var/log目錄中,名稱為dmesg的文件里。

    uptime:顯示系統運行時間及負載。

    stat:全拼status,用于顯示文件和文件系統狀態屬性。

    du:全拼disk usage,顯示指定的目錄或文件所占用的磁盤空間。

    df:全拼disk free,用于顯示目前在Linux系統上的文件系統的磁盤使用情況統計。

    top:top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況,類似于Windows的任務管理器。top是一個動態顯示過程,即可以通過用戶按鍵來不斷刷新當前狀態。如果在前臺執行該命令,它將獨占前臺,直到用戶終止該程序為止。比較準確的說,top命令提供了實時的對系統處理器的狀態監視。

    free:free命令顯示Linux系統中空閑的、已用的物理內存及swap內存,及被內核使用的buffer。在Linux系統監控的工具中,free命令是最經常使用的命令之一。

    date:date命令可以用來顯示或設定系統的日期與時間,在顯示方面,使用者可以設定欲顯示的格式。

    cal:全拼calendar,cal命令用來顯示公歷日歷。

    搜索文件命令

    which:which命令用于查找文件。which指令會在環境變量$PATH設置的目錄里查找符合條件的文件。

    find:從磁盤遍歷查找文件或目錄。

    whereis:該指令會在特定目錄環境變量PATH路徑查找符合條件的文件。這些文件應屬于原始代碼、二進制文件,或是幫助文件。

    locate:locate命令用于查找符合條件的文檔,他會去保存文檔和目錄名稱的數據庫內,查找合乎范本樣式條件的文檔或目錄。一般情況我們只需要輸入 locate your_file_name 即可查找指定文件。locate與find 不同: find 是去硬盤找,locate 只在資料庫中找。locate的速度比find快,它并不是真的查找,而是查數據庫。

    用戶管理命令

    useradd:建立用戶帳號。使用useradd指令所建立的帳號,實際上是保存在/etc/passwd文本文件中。

    usermod:修改系統已經存在的用戶屬性。

    userdel:userdel命令用于刪除用戶帳號。若不加參數,則僅刪除用戶帳號,而不刪除相關文件。

    groupadd:用于創建一個新的用戶工作組。新工作組的信息將被添加到系統文件中。

    passwd:全拼password,passwd命令用來更改使用者的密碼。

    chage:全拼change,chage命令是用來修改帳號和密碼的有效期限。

    id:顯示用戶以及所屬群組的實際與有效ID。

    su:全拼Switch User,su命令用于變更為其他使用者的身份,除 root 外,需要鍵入該使用者的密碼。

    visudo:visudo編輯/etc/sudoers文件的專屬命令。sudoers文件的默認權限是440,即默認無法修改,visudo需要超級用戶權限,可以在不更改sudoers文件權限的情況下,直接修改sudoers文件。

    sudo:sudo命令可以把某些超級用戶權限分類有針對性授權給指定的普通用戶,并且普通用戶不需要知道root密碼就可以使用得到的授權。也就是說,經由 sudo 所執行的指令就好像是 root 親自執行。這樣用戶就可以通過自己的普通帳戶登錄實現利用root的權限來管理系統了,當然也就不需要有root賬號及密碼了。

    基礎網絡操作命令

    telnet:telnet命令使用TELNET協議遠程登錄。執行telnet指令開啟終端機階段作業,并登入遠端主機。

    ssh:使用SSH加密協議遠程登錄。

    scp:全拼secure copy,用于不同主機之間復制文件。, scp 是 linux 系統下基于 ssh 登陸進行安全的遠程文件拷貝命令。

    wget:用來從指定的URL下載文件。

    ping:測試主機之間網絡的連通性。

    route:顯示和設置linux系統的路由表。

    ifconfig:全拼interfaces config,通常需要以root身份登錄或使用sudo以便在Linux機器上使用ifconfig工具。ifconfig工具不僅可以被用來簡單地獲取網絡接口配置信息,還可以修改這些配置。

    ifup:啟動網卡。

    ifdown:關閉網卡。

    netstat:顯示網絡狀態。利用netstat指令可讓你得知整個Linux系統的網絡情況。

    ss:全拼Socket Statistics,用來獲取socket統計信息,它可以顯示和netstat類似的內容。ss的優勢在于它能夠顯示更多更詳細的有關TCP和連接狀態的信息,而且比netstat更快速更高效。

    深入網絡操作命令

    nmap:全拼Network Mapper,是Linux下的網絡掃描和嗅探工具包。nmap是在網絡安全滲透測試中經常會用到的強大的掃描器。

    lsof:全名list open files,列出當前系統打開文件的工具。在linux系統環境下,任何事物都可以以文件形式存在,通過文件不僅可以訪問常規的數據,還可以訪問網絡連接和硬件。

    mail:電子郵件發送和接收工具。

    mutt:郵件管理命令。

    nslookup:交互式查詢互聯網DNS服務器的命令。

    dig:常用的域名查詢工具,可以用來測試域名系統工作是否正常。

    host:常用的分析域名查詢工具,可以用來測試域名系統工作是否正常。

    traceroute:顯示數據包到主機間的路徑。traceroute指令讓你追蹤網絡數據包的路由途徑,預設數據包大小是40Bytes,用戶可另行設置。

    tcpdump:免費的網絡分析工具。TcpDump可以將網絡中傳送的數據包的“頭”完全截獲下來提供分析。

    有關磁盤與文件系統的命令(16個)

    mount:用于掛載Linux系統外的文件。

    umount:用于卸除文件系統。

    fsck:全拼file system check,用來檢查和維護不一致的文件系統。若系統掉電或磁盤發生問題,可利用fsck命令對文件系統進行檢查。

    parted:磁盤分區命令,沒有磁盤大小限制。針對大于2TB的硬盤,需要采用GPT分區,使用parted命令進行操作 。

    mkfs:全拼make filesystem,格式化創建Linux文件系統。常見的文件系統有ext2,ext3, ext4 , vfat等。

    partprobe:從kernel重新讀取分區信息。

    e2fsck:檢查ext2/ext3/ext4類型文件系統。

    mkswap:用于設置交換區(swap area)。mkswap可將磁盤分區或文件設為Linux的交換區。

    swapon:啟用交換分區。

    swapoff:關閉交換分區。

    sync:在 linux/unix 系統中,在文件或數據處理過程中一般先放到內存緩沖區中,等到適當的時候再寫入磁盤,以提高系統的運行效率。sync 命令則可用來強制將內存緩沖區中的數據立即寫入磁盤。

    resize2fs:調整ext2/ext3/ext4文件系統大小。

    系統權限及用戶授權相關命令

    chmod:全拼Change mode,Linux/Unix 的文件調用權限分為三級 : 文件擁有者、群組、其他。chmod命令可以控制文件如何被他人所調用。

    chown:全拼Change owner,Linux/Unix 是多人多工操作系統,所有的文件皆有擁有者。chown將指定文件的擁有者改為指定的用戶或組 。

    chgrp:全拼Change group,用于變更文件或目錄的所屬群組。

    umask:顯示或設置權限掩碼。在linux系統中,我們創建一個新的文件或者目錄的時候,這些新的文件或目錄都會有默認的訪問權限,umask命令與文件和目錄的默認訪問權限有關。若用戶創建一個文件,則文件的默認訪問權限為 -rw-rw-rw- ,創建目錄的默認權限 drwxrwxrwx ,而umask值則表明了需要從默認權限中去掉哪些權限來成為最終的默認權限值。

    查看系統用戶登陸信息的命令

    whoami:顯示當前有效的用戶名稱。

    who:顯示目前登錄系統的用戶信息。

    w:顯示已經登陸系統的用戶列表,并顯示用戶正在執行的指令。

    last:用于顯示用戶最近登錄信息。

    lastlog:顯示系統中所有用戶最近一次登錄信息。

    users:顯示當前登錄系統的所有用戶的用戶列表。

    finger:顯示本地主機現在所有的用戶的登陸信息。

    內置命令及其它

    echo:打印變量,或直接輸出指定的字符串。

    printf:將結果格式化輸出到標準輸出。

    rpm:管理rpm包的命令。rpm(redhat package manager) 原本是 Red Hat Linux 發行版專門用來管理 Linux 各項套件的程序,由于它遵循 GPL 規則且功能強大方便,因而廣受歡迎。逐漸受到其他發行版的采用。RPM 套件管理方式的出現,讓 Linux 易于安裝,升級,間接提升了 Linux 的適用度。

    yum:yum( Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。基于RPM包管理,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。yum提供了查找、安裝、刪除某一個、一組甚至全部軟件包的命令。

    watch:周期性的執行給定的命令,并將命令的輸出以全屏方式顯示。

    alias:用于設置指令的別名。若僅輸入alias,則可列出目前所有的別名設置。alias的效力僅及于該次登入的操作。若要每次登入是即自動設好別名,可在/etc/profile(全局生效)或.bashrc(當前用戶生效)中設定指令的別名。別名的作用:1)通過給危險命令加一些保護參數,防止人為誤操作。2)把很多復雜的字符串或命令變成一個簡單的字符串或命令。

    unalias:用于刪除別名。

    date:用來顯示或設定系統的日期與時間,在顯示方面,使用者可以設定欲顯示的格式。

    clear:清除屏幕。

    history:顯示歷史記錄和執行過的指令命令。

    eject:彈出光驅。

    time:用于測量一個命令的運行時間。

    nc:一個功能強大的網絡工具,通過它不僅可以探測端口,還能作為客戶端連接服務。

    xargs:全拼extended arguments,給命令傳遞參數的一個過濾器,也是組合多個命令的一個工具。

    exec:用于調用并執行指令的命令。exec命令通常用在shell腳本程序中,可以調用其他的命令。如果在當前終端中使用命令,則當指定的命令執行完畢后會立即退出終端。

    export:設置或者顯示環境變量。

    unset:刪除變量或函數。

    type:用來顯示指定命令的類型,判斷給出的指令是內部指令還是外部指令。

    bc:任意精度計算器語言,通常在linux下當計算器用。

    系統管理與性能監視命令

    chkconfig:用于檢查,設置系統的各種服務。這是Red Hat公司遵循GPL規則所開發的程序,它可查詢操作系統在每一個執行等級中會執行哪些系統服務,其中包括各類常駐服務。

    vmstat:全拼Virtual Memory Statistics,用來顯示Linux系統虛擬內存狀態,也可以報告關于進程、內存、I/O等系統整體運行狀態。

    mpstat:全拼Multiprocessor Statistics,實時系統監控工具。其報告與CPU的一些統計信息,這些信息存放在/proc/stat文件中。在多CPU系統里,其不但能查看所有CPU的平均狀況信息,而且能夠查看特定CPU的信息。

    iostat:用于輸出CPU和磁盤I/O相關的統計信息。

    sar:全拼System Activity Reporter,目前 Linux 上最為全面的系統性能分析工具之一,可以從多方面對系統的活動進行報告。

    ipcs:用于報告linux中進程間通信設施的狀態,顯示的信息包括消息列表、共享內存和信號量的信息。

    ipcrm:用來刪除一個或更多的消息隊列、信號量集或者共享內存標識。

    strace:用于診斷、調試Linux用戶空間跟蹤器。我們用它來監控用戶空間進程和內核的交互,比如系統調用、信號傳遞、進程狀態變更等。

    ltrace:用來跟蹤進程調用庫函數的情況。

    關機/重啟/注銷和查看系統信息的命令

    shutdown:用來進行關機程序,并且在關機以前傳送訊息給所有使用者正在執行的程序,shutdown 也可以用來重開機。

    halt:用來關閉正在運行的Linux操作系統。halt命令會先檢測系統的runlevel,若runlevel為0或6,則關閉系統,否則即調用shutdown來關閉系統。

    poweroff:用來關閉計算機操作系統并且切斷系統電源

    logout:退出當前登錄的Shell。

    exit:退出當前登錄的Shell。

    Ctrl+d:退出當前登錄的Shell的快捷鍵。

    進程管理相關命令

    bg:將一個在后臺暫停的命令,變成繼續執行。

    fg:將后臺中的命令調至前臺繼續運行。

    jobs:查看當前有多少在后臺運行的命令。

    kill:用于刪除執行中的程序或工作。

    killall:用于終止某個指定名稱的服務所對應的全部進程。

    pkill:通過進程名終止進程。

    crontab:用來定期執行程序的命令。當安裝完成操作系統之后,默認便會啟動此任務調度命令。

    ps:全拼Processes Status,用來列出系統中當前運行的那些進程。ps命令列出的是當前那些進程的快照,就是執行ps命令的那個時刻的那些進程,如果想要動態的顯示進程信息,就可以使用top命令。

    pstree:將所有行程以樹狀圖顯示。

    nice/renice:為未運行命令指定運行時調度優先級的,如果是已運行的命令則需要renice命令。

    nohup:全拼no hang up,讓后臺工作在離開操作終端時,也能夠正確地在后臺執行。

    pgrep:通過程序的名字來查詢進程的工具,一般是用來判斷程序是否正在運行。

    runlevel:查看系統當前運行級別。

    init:用于切換到指定的運行級別。

    service:用于管理Linux操作系統中服務的命令。它可以啟動、停止、重新啟動和關閉系統服務,還可以顯示所有系統服務的當前狀態。

    地址:https://blog.csdn.net/weixin_39157014

    進程間通信linux查找文件
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    本文章盤點了 Linux 運維必備 150 個命令,請配合下面的網站使用。定位你需要使用的命令,然后去這個網站查詢詳細用法即可。 地址:wangchujiang.com/linux-command/
    容器安全之CVE-2022-0185
    2022-03-28 16:35:58
    最近的CVE-2022-0185還是挺有意思的,在谷歌kctf(基于 K8s 的 CTF)中被發現。這個洞是在Linux內核的文件系統上下文中功能中的legacy_parse_param函數驗證長度的代碼處有缺陷,導致了一個基于堆的緩沖區溢出(整數下溢)。 攻擊影響為越界寫入/拒絕服務/權限提升和特定場景下的容器逃逸(k8s)。 其中會涉及到一些容器安全的基礎小知識,有必要簡單學習一下這個洞。
    前言 由于傳播、利用此文所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負責,文章作者不為此承擔任何責任。 如果文章中的漏洞出現敏感內容產生了部分影響,請及時聯系作者,望諒解。
    能運行的環境包括I/O,權限控制,系統調用,進程管理,內存管理等多項功能都可以歸結到上邊兩點中。需要注意的是,kernel 的crash 通常會引起重啟。注意大多數的現代操作系統只使用了 Ring 0 和 Ring 3。
    一個廣泛應用于 Windows、 Linux 和 Mac 環境的開源模塊的維護者最近破壞了它的功能,以抗議烏克蘭的戰爭,大眾再次將注意力集中在與軟件代碼依賴相關的潛在的嚴重安全問題上。
    攻擊者已經增加了對Linux系統的目標攻擊,并且像LaZagne(一種流行的開源密碼恢復工具)這樣的hacktool實用程序的易于訪問性使得攻擊者在惡意軟件攻擊鏈中使用它來轉儲密碼變得越來越方便。
    長久以來,網絡攻擊者一直都在積極探索和實現針對Linux操作系統的定向攻擊,而LaZagne(一種流行的開源密碼恢復工具)等實用工具的易訪問性,使得威脅行為者在惡意軟件攻擊鏈中使用它們來轉儲密碼時變得越來越方便了。
    vsomeip 是 GENIVI 實現的開源 SOME/IP 庫,由 C++ 編寫,目前主要實現了 SOME/IP 的通信和服務發現功能,并在此基礎上增加了少許的安全機制。 GENIVI是一個聯盟組織,由 BMW 倡導,是汽車信息娛樂領域系統軟件標準的倡導者,創建基于linux 系統的 IVI 軟件平臺和操作系統。GENIVI 倡導了很多開源軟件項目,比如:DLT、CommonAPI C++、v
    28 張圖,搞懂TCP
    2022-07-08 06:58:09
    做IT相關的工作,肯定都離不開網絡,網絡中最重要的協議是TCP。應用進程可以通過監聽socket,來獲取這個socket接受到的消息。不同的運輸層協議對socket有不同的定義方式。運輸層協議運輸層的協議就是大名鼎鼎的TCP和UDP。當然除此之外,還有更多更優秀的運輸層協議,但目前廣為使用的,就是TCP和UDP。
    恰巧近期有一枚和容器逃逸相關的漏洞:CVE-2022-0492 Linux內核權限提升漏洞可導致容器意外逃逸。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类