Linux系統命令許可權搜尋等練習題
1. rmdir -p 用來刪除一串目錄,比如 rmdir -p /tmp/test/1/2/3 如果 /tmp/1/2/ 下面除了3目錄外還有個4目錄,4目錄裡還有個5目錄,那麼是否可以成功刪除? rmdir -p 刪除一個不存在的目錄時是否報錯呢?
- rmdir -p 不能成功刪除非空目錄,rmdir -p 刪除一個不存在的目錄時會報錯,提示“沒有那個檔案或目錄”
2. 刪除一個目錄或者檔案時,在刪除之前會先問一下我們是否刪除,如果直接回車,是否刪除呢?如果輸入的不是’y’ 也 不是’n’ 會發生什麼?
- 直接回車不會刪除,如果輸入的不是’y’ 也 不是’n’也不會刪除
3. 我想建立一串目錄時如何建,比如/home/1/2/3/4.
- mkdir -p /home/1/2/3/4
4. 使用mv命令時,如果目標檔案為非目錄且存在的檔案,會怎麼樣?
- 會提示,是否要覆蓋那個檔案
5. 使用less 檢視檔案/etc/passwd 搜尋一下一共出現幾個‘root’, 按哪個鍵可以向上/向下一行一行的移動?
- 一共出現了4次‘root’,按n可以向下一行一行的移動,按N可以向上移動。
6. 請想一想如果我們給某個目錄的許可權設定成rwxrw-rw-,那麼其他使用者能否ls該目錄下的內容,能否進入到該目錄下?
- 因為其他使用者對該目錄的許可權是讀和寫,沒有執行許可權,所以ls裡面的內容是沒有問題的,但是不能進入到該目錄下,因為進入該目錄,就相當於在“執行”這個目錄。
7. 如果設定 umask 為 001 , 那麼使用者預設建立的目錄和檔案的許可權是什麼樣子的?
- 通過umask計算預設許可權的公式是:
- 1)目錄
(rwxrwxrwx)-(umask)=(目錄許可權),本例中umask=001=(——–x),所以目錄的許可權是(rwxrwxrwx)-(——–x)=(rwxrwxrw-)=776 - 2)檔案
(rw-rw-rw-)-(umask)=(檔案許可權),本例中umask=001=(——–x),所以檔案的許可權是(rw-rw-rw-)-(——–x)=(rw-rw-rw-)=666
所以得出結論,當umask為001時,目錄許可權是776,檔案許可權是666
8. 用find找出 /var/ 目錄下,最近一天內變更的檔案?再用find找出 /root/ 目錄下一小時內變更的檔案?
- find /var/ -type f -mtime -1
- find /root/ -type f -mmin -60
9. 用find找出 /etc/ 目錄下,一年內從未變更過的檔案?
- find /etc/ -type f ! -mtime -365
10. 為什麼硬連結不能連結目錄? 硬連結的檔案是否佔用空間大小,硬連結檔案是否可以垮分割槽建立?
- 因為每個目錄下面都會有一個.和..也就是說每個目錄下面的子目錄肯定會有它本身和它上一級目錄,那麼一旦設定了硬連結則會造成一種混亂,設定會導致死迴圈。硬連結的檔案並不會佔用空間大小,它只是複製了該檔案的一份inode資訊,硬連結檔案是不可以跨分割槽建立的。
11. Linux系統裡,分別用什麼符號表示: 普通文字檔案、二進位制檔案、目錄、連結檔案、塊裝置、套接字檔案以及串列埠裝置?
- 普通檔案和二進位制檔案用-表示,目錄用d表示,連結檔案(應該說是軟連線)用l表示,塊裝置用b表示,套接字用s表示,串列埠裝置用c表示。
12. 如何把把dira目錄以及目錄下的所有檔案及目錄修改為所屬主為user1, 所屬組為users?
- chown -R user1:users dira
13. Linux系統,預設目錄的許可權為什麼?文件的許可權是什麼?用三個數字表示。我們可以通過修改umask的值更改目錄和文件的預設許可權值,我們如何通過umask的值得到預設許可權值?
- 預設目錄許可權是755,文件許可權是644,目錄預設許可權=(rwxrwxrwx)-(umask),檔案預設許可權=(rw-rw-rw-)-(umask)
14. 修改dirb目錄的許可權,使所屬主可讀可寫可執行,所屬組可讀可執行,其他使用者不可讀不可寫也不可執行,使用什麼命令?
- chmod 750 dirb
15. 如何使檔案只能寫不能刪除? 如何使檔案不能被刪除、重新命名、設定連結接、寫入、新增資料?
- chattr +a file 這樣就可以使檔案只能寫不能刪除
- chattr +i file 使檔案不能被刪除、重新命名、設定連結接、寫入、新增資料
16. Linux 下一個點 ‘.’ 和兩個點 ‘..’ 分別表示什麼?
- 一個點表示當前目錄,兩個點表示上級目錄。
17. cd - 表示什麼含義?
- cd - 表示進入到上一次所在的目錄
18. 用ls 檢視目錄或者檔案時,第二列的數值表示什麼意思?如果一個目錄的這列的值為3,那麼這個3是如何得到的?
- 第二列數值表示有幾個檔案使用相同的inode,如果一個目錄的這列為3,我們可以通過使用 ls -al dir/ |grep ‘^d’|wc -l 這條命令得到
19. 如果沒有locate命令,需要我們安裝哪個包?初次使用locate命令會報錯“can not open `/var/lib/mlocate/mlocate.db’: No such file or directory”, 需要我們如何做呢?
- 沒有locate命令,需要安裝mlocate包,yum install -y mlocate, 初次使用報錯,是因為對應的資料庫檔案還沒有生成,手動生成的命令是:updatedb
20. 當拷貝一個檔案時,如果目標檔案存在會問我們是否覆蓋,如何做就不再詢問了?
- 使用 /bin/cp 進行拷貝: /bin/cp a.txt b.txt
21. 如何動態顯示一個檔案的內容,假如這個檔案內容一直再增加。
- tail -f file
22. 更改檔案讀寫執行許可權的命令是什麼?如何把一個目錄下的所有檔案(不含目錄)許可權改為644?
- chmod 用來更改檔案許可權,find ./ -type f |xargs chmod 644
23. 如何檢視當前使用者的家目錄是什麼?
- echo $HOME
24. 假如一個目錄可以讓任何人可寫,那麼如何能做到該目錄下的檔案只允許檔案的所有者更改?
- chmod o+wt dir
25. 簡述軟連結和硬連結的區別?
- 軟連線可以理解為,原始檔的快捷方式,軟連線檔案記錄的是原始檔的路徑,佔用空間非常小。當把原始檔刪除後,那麼軟連線檔案也就變成一個壞檔案了,不能使用了。
- 硬連結和原始檔的inode資訊是一模一樣的,可以說硬連結檔案只是複製了一份原始檔的inode資訊,在我們看來硬連結檔案和原始檔沒有什麼區別,刪除任何一個檔案對方都不受影響,唯一的是少了一份inode,硬連結只能在同一個分割槽下建立,而軟連線不受限制。硬連結檔案和原始檔雖然看起來像是兩個檔案,但是隻佔用一個檔案的磁碟空間。
26. cat a.txt 會更改a.txt的什麼時間? chmod 644 a.txt 會更改a.txt的什麼時間? vim呢? 直接touch呢?
- cat 修改atime,
- chmod 會更改ctime,
- vim會更改atime,ctime,mtime,
- touch也會更改三個時間。
擴充套件部分:
1. 簡單描述inode是什麼,不超過100字。
- inode是用來記錄Linux系統裡面檔案的屬性資訊的一個容器,它會記錄檔名、檔案的大小、屬主屬組、檔案的許可權、檔案的訪問時間、修改/建立時間以及更改時間(更改inode資訊)等等資訊。在Linux系統裡,每一個檔案都會有一個唯一的inode.
2. 描述 suid sgid的作用。
suid:用於二進位制可執行檔案,使使用者在執行該檔案時臨時擁有該檔案屬主的許可權,典型檔案為/usr/bin/passwd,它更改使用者的密碼時是會更改這些檔案的:/etc/passwd和/etc/shadow等,這些檔案預設普通使用者沒有寫許可權。
sgid:用於目錄,使用者在該目錄下建立的檔案都擁有與該目錄相同的屬組。
3. linux中的atime, ctime, mtime 如何區分呢?
atime為檔案最後的訪問時間;
ctime為最後一次更改inode資訊的時間,比如更改檔名、檔案許可權、寫入新內容(改變了檔案大小)等就會更改這個時間;
mtime為最後一次更改檔案內容的時間;
4. 簡述selinux是什麼?
selinux是RedHat/CentOS系統特有的安全機制,它提供強制訪問控制,限制程式只能訪問那些在它的任務中所需要檔案。SELinux是2.6版本的Linux核心中提供的強制訪問控制(MAC)系統。對於目前可用的 Linux安全模組來說,SELinux 是功能最全面,而且測試最充分的。SELinux 在型別強制伺服器中合併了多級安全性或一種可選的多類策略,並採用了基於角色的訪問控制概念。
5. 查詢當前目錄設定過set_uid的檔案,為了使該題更加簡單,設定要查詢的檔案許可權為4644,請參考上面的9。
find . -perm 4644
相關文章
- 檔案許可權管理命令chmod,chown與文字搜尋命令grep
- Linux命令-使用者、許可權管理、系統管理Linux
- Oracle的物件許可權、角色許可權、系統許可權Oracle物件
- 許可權維持專題:作業系統許可權維持作業系統
- Android系統許可權和root許可權Android
- Linux常見命令(許可權)Linux
- 許可權系統:一文搞懂功能許可權、資料許可權
- MySQL許可權系統MySql
- Oracle系統許可權Oracle
- Oracle 使用者、物件許可權、系統許可權Oracle物件
- Linux檔案許可權管理命令Linux
- Linux 檔案許可權、系統優化Linux優化
- Linux常用命令--許可權管理命令Linux
- 許可權系統:許可權應用服務設計
- 許可權修改命令
- mongodb 的許可權系統MongoDB
- 【JavaWeb】許可權管理系統JavaWeb
- 有贊許可權系統
- Android系統許可權Android
- 許可權系統設計
- 許可權系統跟進
- .NET 雲原生架構師訓練營(許可權系統 系統演示 EntityAccess)--學習筆記架構筆記
- .NET 雲原生架構師訓練營(許可權系統 系統演示 ActionAccess)--學習筆記架構筆記
- 許可權系統:6個許可權概念模型設計模型
- 許可權系統:許可權應用服務設計Tu
- Linux-許可權管理(ACL許可權)Linux
- linux 檔案許可權 s 許可權和 t 許可權解析Linux
- linux系統下的許可權知識梳理Linux
- linux檔案系統的隱藏許可權Linux
- 基於角色的許可權系統的問題
- 關於jdon裡許可權系統的問題
- hadoop命令報錯:許可權問題Hadoop
- linux檔案許可權問題Linux
- 企業許可權管理系統
- Winner許可權管理系統3.0
- MySQL許可權系統簡介MySql
- 通用許可權系統介紹
- 許可權系統概要(收集,整理)