當(dāng)前位置 主頁(yè) > 技術(shù)大全 >
對(duì)于系統(tǒng)管理員和開(kāi)發(fā)人員而言,掌握Linux技術(shù)不僅是職業(yè)發(fā)展的必備條件,更是提升工作效率和解決問(wèn)題能力的關(guān)鍵
本文將深入探討幾道經(jīng)典的Linux技術(shù)題,旨在幫助讀者深入理解Linux系統(tǒng)的核心原理,并掌握一系列高效的管理和故障排除技巧
1.深入理解Linux文件系統(tǒng)與權(quán)限管理 問(wèn)題描述: 假設(shè)你負(fù)責(zé)管理一臺(tái)運(yùn)行著CentOS 7的服務(wù)器,服務(wù)器上存儲(chǔ)著多個(gè)重要項(xiàng)目和數(shù)據(jù)庫(kù)備份
你需要?jiǎng)?chuàng)建一個(gè)新用戶“backupuser”,并為其分配一個(gè)專用目錄/backup,同時(shí)確保該用戶只能訪問(wèn)自己的目錄,無(wú)法訪問(wèn)系統(tǒng)其他部分
如何實(shí)現(xiàn)這一目標(biāo)? 解決方案: 首先,使用`useradd`命令創(chuàng)建新用戶: sudo useradd -m backupuser `-m`參數(shù)會(huì)為新用戶創(chuàng)建一個(gè)主目錄,通常是`/home/backupuser`
但我們需要的是`/backup`,所以接下來(lái)手動(dòng)創(chuàng)建目錄并更改所有權(quán): sudo mkdir /backup sudo chown backupuser:backupuser /backup 接下來(lái),設(shè)置目錄權(quán)限,使得`backupuser`只能訪問(wèn)該目錄,且不能修改其父目錄的權(quán)限(防止“權(quán)限提升”攻擊): sudo chmod 700 /backup sudo chmod u+s /bin/chown 這一步是為了防止后續(xù)可能出現(xiàn)的權(quán)限問(wèn)題,但需謹(jǐn)慎使用,因?yàn)樗淖兞薱hown的默認(rèn)行為 注意:`sudo chmod u+s /bin/chown`雖然有時(shí)用于特定場(chǎng)景下的權(quán)限修復(fù),但通常不推薦在生產(chǎn)環(huán)境中使用,因?yàn)樗赡軒?lái)安全風(fēng)險(xiǎn)
更安全的做法是通過(guò)精確的文件系統(tǒng)布局和ACL(訪問(wèn)控制列表)來(lái)管理權(quán)限
為了限制`backupuser`訪問(wèn)系統(tǒng)其他部分,可以調(diào)整其shell為受限的shell,如`/sbin/nologin`或`/usr/sbin/rbash`(如果系統(tǒng)支持): sudo usermod -s /sbin/nologin backupuser 但這種方式會(huì)阻止用戶登錄,如果仍需要用戶通過(guò)SSH登錄進(jìn)行備份操作,則需采用其他方法限制其活動(dòng)范圍,比如使用SSH的`Chroot`環(huán)境或配置`sudo`規(guī)則嚴(yán)格限制命令執(zhí)行
深入理解: Linux文件系統(tǒng)權(quán)限管理基于三種基本權(quán)限(讀r、寫w、執(zhí)行x)和用戶類別(所有者、所屬組、其他用戶)
掌握`ls -l`查看權(quán)限、`chmod`修改權(quán)限、`chown`和`chgrp`更改所有者和組是管理Linux系統(tǒng)的基礎(chǔ)
此外,了解SELinux(安全增強(qiáng)型Linux)和AppArmor等高級(jí)安全模塊,能進(jìn)一步提升系統(tǒng)的安全性
2.進(jìn)程管理與資源監(jiān)控 問(wèn)題描述: 服務(wù)器上運(yùn)行著多個(gè)關(guān)鍵服務(wù),近期發(fā)現(xiàn)系統(tǒng)響應(yīng)變慢,懷疑有某個(gè)進(jìn)程占用了大量CPU或內(nèi)存資源
如何快速定位并處理這個(gè)問(wèn)題? 解決方案: 首先,使用`top`或`htop`命令查看當(dāng)前系統(tǒng)的資源使用情況
`top`是Linux自帶的資源監(jiān)控工具,而`htop`是其增強(qiáng)版,提供了更友好的界面和更多功能(需預(yù)先安裝)
top 或 htop 在`top`或`htop`界面中,可以按`P`鍵按CPU使用率排序,或按`M`鍵按內(nèi)存使用率排序,從而快速找到資源消耗高的進(jìn)程
一旦確定了問(wèn)題進(jìn)程,可以使用`kill`命令終止它,或者使用`kill -9`強(qiáng)制終止(謹(jǐn)慎使用,因?yàn)樗辉试S進(jìn)程進(jìn)行任何清理工作): sudo kill PID 或 sudo kill -9 PID 其中,`PID`是問(wèn)題進(jìn)程的進(jìn)程ID
深入理解: 除了`top`和`htop`,還有其他工具如`ps`(顯示當(dāng)前活動(dòng)進(jìn)程)、`pgrep`(根據(jù)名稱查找進(jìn)程ID)、`pstree