APUE第四章 答案

2021-06-22 19:35:05 字數 1355 閱讀 8841

4.1  stat函式順著符號鏈結向前,如果符號鏈結指向的檔案不存在,那麼stat返回出錯。

4.2 關閉了該檔案的所有訪問許可權。

4.3 如下命令,開啟會提示許可權不足

chmod u-r filename vim filename
4.4 用open或者creat建立已經存在的檔案,檔案的許可權不變,但是長度變為0。

4.5 不可以。目錄長度包含指向這個目錄項和目錄下的所有檔案,它總是包含.和..兩項,符號鏈結長度是其路徑名包含的字元數。至少為乙個字元。

4.6 遇到空字元『\0』不複製即可,**如下:

#include "apue.h"

#include #include #include int main(int argc,char *argv)

close(fd1);

close(fd2);

return 0;

}

4.7 建立新的core檔案時,核心有乙個預設的許可權,這個許可權可能不會被umask修改,在shell重定向也有乙個預設許可權,這個值會被umask修改。

4.8 du命令檢視的是檔案或者目錄的使用空間。引數是檔案或者目錄名,無引數預設當前目錄。df命令檢查檔案系統的空間使用情況。

4.9 如果刪除的該檔案的鏈結不是最後乙個鏈結,則該檔案不會被刪除,i節點最後修改時間更新。

4.10 mytfw迴圈呼叫dopath,每次呼叫opendir都要開啟乙個檔案描述符,直到處理完這個目錄才關閉,那麼可開啟描述符就限制檔案系統的深度。

4.11

4.12 改變當前根目錄。作用如下:

在chroot測試環境下,測試那些可能對生產系統帶來危害的程式。

可以在chroot環境下,設定乙個僅有所希望的軟體依賴,用於構建和測試。這樣可以避免一些對開發者構造帶有不同軟體庫設定所帶來的鏈結(目標檔案的鏈結)問題。

早期遺留軟體或使用不同abi的軟體必須在chroot環境下執行,因為它們提供的庫有可能和宿主機的庫起名稱或鏈結衝突。

當乙個系統不能啟動時,從代替系統(比如live cd式安裝盤),重新寫入那些損壞的軟體。

乙個被允許開啟檔案例項(如檔案、鏈結、網路連線)的軟體被放入chroot中,這是對不必要留下在chroot目錄工作檔案的簡單設計。同時也是乙個簡單的沙盤,也可以防禦安全漏洞。注意!有root特權的程式,chroot是沒有防禦力的。

4.13 用stat儲存這些時間,改變需要改變的時間,其他時間值呼叫後復位即可。

4.14 略

4.15

4.16

4.17 若使用者有許可權,則標準輸出描述符會變成當前可用描述符最小值,若無許可權unlink失敗。

《APUE》第四章筆記(2)

下面介紹對stat結構的各個成員的操作函式。先貼個stat結構的圖 access函式 include int access const char pathname,int mode 其中,mode是表中的按位或。返回值 若成功返回0,若出錯返回 1 當程序對乙個檔案進行某種操作 讀或寫或執行 時,核...

APUE 第四章檔案和目錄

本章內容較多,本文只記錄在學習過程中所發現的問題,同時記錄所需掌握的linux方面知識.檔案型別 普通檔案 目錄檔案 塊特殊檔案 字元特殊檔案 fifo 套接字 符號鏈結 這裡要介紹下dos2unix命令,剛好前幾天在工作中有所接觸。dos2unix命令用來將dos格式的文字檔案轉換成unix格式的...

APUE 第四章 檔案和目錄

本章主要圍繞stat這個函式來講的。int stat const char pathname,struct stat buf int fstat int fd,struct stat buf int lstat const char pathname,sttuct stat buf 如果是符號鏈結,...