亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 系統(tǒng) > Unix > 正文

《Unix環(huán)境高級(jí)編程》讀書筆記 第4章-文件和目錄

2024-06-28 13:24:58
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
《Unix環(huán)境高級(jí)編程》讀書筆記 第4章-文件和目錄1. stat結(jié)構(gòu)的基本形式:
  1. struct stat {
  2. mode_t st_mode; /* file type & mode (permissions), suid, sgid */
  3. ino_t st_ino; /* i-node number (serial number) */
  4. dev_t st_dev; /* device number (file system) */
  5. dev_t st_rdev; /* device number for special files */
  6. nlink_t st_nlink; /* number of links */
  7. uid_t st_uid; /* user ID of owner */
  8. gid_t st_gid; /* group ID of owner */
  9. off_t st_size; /* size in bytes, for regular files */
  10. struct timespec st_atim; /* time of last access */
  11. struct timespec st_mtim; /* time of last modification */
  12. struct timespec st_ctim; /* time of last file status change */
  13. blksize_t st_blksize; /* best I/O block size */
  14. blkcnt_t st_blocks; /* number of disk blocks allocated , 512B */
  15. };
  16. struct timespec {
  17. time_t tv_sec;
  18. long tv_nsec;
  19. }
2. 函數(shù)stat、fstat、fstatat、lstat
  • 函數(shù)名首位的“f”常常代表“該函數(shù)是通過(guò)文件描述符fd(而不是路徑名)對(duì)文件進(jìn)行操作的”
  1. #include <sys/stat.h>
  2. int stat(const char *restrict pathname, struct stat *restrict buf );
  3. int fstat(int fd, struct stat *buf );
  4. int lstat(const char *restrict pathname, struct stat *restrict buf ); // 返回該符號(hào)鏈接本身的有關(guān)信息
  5. int fstatat(int fd, const char *restrict pathname, struct stat *restrict buf, int flag);
  6. All four return: 0 if OK, −1 on error
3. 文件類型
  • 普通文件 -
  • 目錄文件 d
  • 塊特殊文件 b
  • 字符特殊文件 c
  • FIFO p
  • 套接字 s
  • 符號(hào)鏈接 l

  • 文件類型宏:參數(shù)為stat結(jié)構(gòu)中的st_mode成員(文件模式字)

  • ipC類型宏:參數(shù)為stat結(jié)構(gòu)的指針

4. 設(shè)置用戶ID(SUID) 和 設(shè)置組ID(SGID)
  • 每個(gè)進(jìn)程關(guān)聯(lián)的用戶ID和組ID,包括實(shí)際用戶ID、有效用戶ID、保存的設(shè)置用戶ID。
  • 實(shí)際用戶ID指的是執(zhí)行該程序的用戶的ID。注意區(qū)別于文件的所有者

  • 每個(gè)文件有一個(gè)所有者和組所有者,由stat結(jié)構(gòu)中的st_uid, st_gid指定。

  • 當(dāng)執(zhí)行一個(gè)程序文件時(shí),進(jìn)程的有效用戶ID通常就是實(shí)際用戶ID。但是,可以在文件模式字(st_mode)中設(shè)置一個(gè)標(biāo)志,使其“當(dāng)執(zhí)行該程序文件時(shí),將進(jìn)程的有效用戶ID設(shè)置為文件所有者的ID(st_uid)”。進(jìn)程的有效組ID類似,在文件模式字st_mode中的這兩位標(biāo)志被稱為SUID和SGID。可使用常量S_ISUID和S_ISGID測(cè)試。
  • 應(yīng)用:passwd命令
5. 文件訪問(wèn)權(quán)限
  • 所有文件類型都有訪問(wèn)權(quán)限

  • 進(jìn)程每次打開(kāi)、創(chuàng)建或刪除一個(gè)文件時(shí),內(nèi)核就進(jìn)行文件訪問(wèn)權(quán)限測(cè)試,這種測(cè)試可能涉及文件的所有者(st_uid和st_gid)、進(jìn)程的有效ID(有效用戶ID和有效組ID)、進(jìn)程的附屬組ID。兩個(gè)所有者ID是文件的性質(zhì),而兩個(gè)有效ID和附屬組ID則是進(jìn)程的性質(zhì)。

  • 內(nèi)核進(jìn)行的測(cè)試具體如下:
  1. 若進(jìn)程的有效用戶ID是0(超級(jí)用戶),則運(yùn)行訪問(wèn)
  2. 若進(jìn)程的有效用戶ID等于文件的所有者ID(即進(jìn)程擁有此文件),那么如果所有者適當(dāng)?shù)脑L問(wèn)權(quán)限位被設(shè)置,則運(yùn)行訪問(wèn);否則拒絕訪問(wèn)。適當(dāng)?shù)脑L問(wèn)權(quán)限位指的是:若進(jìn)程為讀而打開(kāi)該文件,則用戶讀位應(yīng)為1;若進(jìn)程為寫而打開(kāi)該文件,則用戶寫位應(yīng)為1;若進(jìn)程將執(zhí)行該文件,則用戶執(zhí)行位應(yīng)為1。
  3. 若進(jìn)程的有效組ID或進(jìn)程的附屬組ID之一等于文件的組ID,那么如果組適當(dāng)?shù)脑L問(wèn)權(quán)限位被設(shè)置,則允許訪問(wèn);否則拒絕訪問(wèn)。
  4. 若其他用戶適當(dāng)?shù)脑L問(wèn)權(quán)限位被設(shè)置,則允許訪問(wèn);否則拒絕訪問(wèn)。按順序執(zhí)行這4步。一旦前面的被拒絕了,即使后面的組、其他用戶擁有相應(yīng)權(quán)限也白搭。
6. 新文件和新目錄的所有權(quán)
  • 新文件的用戶ID設(shè)置為進(jìn)程的有效用戶ID
  • 新目錄的組ID有兩種選擇:1. 設(shè)置為進(jìn)程的有效組ID;2. 設(shè)置為它的父目錄的組ID。

    linux下如果新目錄的父目錄的SUID被設(shè)置,則選擇2

7. 函數(shù)access 和 faccessat

當(dāng)open函數(shù)打開(kāi)一個(gè)文件時(shí),內(nèi)核以進(jìn)程的有效用戶ID和有效組ID為基礎(chǔ)執(zhí)行其訪問(wèn)權(quán)限測(cè)試。有時(shí),進(jìn)程希望以進(jìn)程的實(shí)際用戶ID和實(shí)際組ID為基礎(chǔ)來(lái)執(zhí)行其訪問(wèn)權(quán)限測(cè)試。這使用以下兩個(gè)函數(shù):

  1. #include <unistd.h>
  2. int access(const char *pathname, int mode);
  3. int faccessat(int fd, const char *pathname, int mode, int flag);
  4. Both return: 0 if OK, −1 on error

測(cè)試文件是否存在,mode為F_OK;測(cè)試讀/寫/執(zhí)行權(quán)限,mode為R_OK、W_OK、X_OK的按位與

8. 函數(shù)umask
  • 在進(jìn)程創(chuàng)建一個(gè)新文件或新目錄時(shí),一定會(huì)使用文件模式創(chuàng)建屏蔽字。在文件模式創(chuàng)建屏蔽字中為1的位,在文件mode中的相應(yīng)位一定被關(guān)閉。
  • 常用的幾種umask值是002、022、027
  • 命令umask [-S]
  1. #include <sys/stat.h>
  2. mode_t umask(mode_t cmask);
  3. Returns: PRevious file mode creation mask

9. 函數(shù)chmod、fchmod和fchmodat
  1. #include <sys/stat.h>
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
欧美电影在线观看网站| 国产精品99爱免费视频| 欧美xxx.com| 日本肉体xxxx裸体784大胆| 欧美亚洲日本国产| 欧美一区二区三区在线电影| 91丨porny丨最新| 亚洲视频三区| 久久国产成人精品| 日韩免费一二三区| 一区二区三区四区蜜桃| 91亚洲精品国产| 国产一区美女在线| 欧美熟乱第一页| 国产美女特级嫩嫩嫩bbb片| 国产xxxxxx久色视频在| 国产精品久久激情| 黄色一级二级三级| 国产精品久久久久久免费观看| 黄色网页免费在线观看| 亚洲欧美怡红院| 欧美黄色一级| 一区二区三区视频| 97精品人妻一区二区三区蜜桃| 粉嫩av一区二区三区在线播放| 在线观看视频色潮| 久久99伊人| 国产精品久久AV无码| 日韩一级片在线免费观看| www.污污视频| 搞黄在线观看| 亚洲国产日韩欧美在线99| 亚洲日本高清| 人妻无码一区二区三区免费| 青青青爽在线视频免费观看| 欧美色网在线| 欧美色视频在线观看| 女生裸体免费视频| 五月激情六月综合| 国产九九热视频| 777a∨成人精品桃花网| 久久久久88色偷偷| 国产精品人人妻人人爽人人牛| 久久精品国产亚洲aⅴ| 日韩精品免费一区二区三区| 国产视频第二页| 国产精品7777| 亚洲男同性视频| 操人视频在线播放| 欧美xxxx14xxxxx性爽| 宅男视频免费在线观看视频| 国产男女爽爽爽| 香蕉成人啪国产精品视频综合网| 爱爱的免费视频| 99国产精品99久久久久久粉嫩| 国产v片在线观看| 6080亚洲精品一区二区| 在线看无码的免费网站| 天天综合天天综合色| 国产乱码精品一区二区三区五月婷| 国产精品国产亚洲精品看不卡| 国产综合视频一区二区三区免费| 国产欧美精品| 春暖花开亚洲一区二区三区| 激情五月宗合网| 亚洲一区二区三区爽爽爽爽爽| av在线不卡网| 欧美做爰爽爽爽爽爽爽| 亚洲国产成人精品综合99| 虎白女粉嫩尤物福利视频| 激情丁香婷婷| 国产成人亚洲欧美| 欧美日韩一区二| 色综合影院在线观看| av一本久道久久波多野结衣| 亚洲影院高清在线| 亚洲免费三区一区二区| 国产成人99久久亚洲综合精品| 性欧美xxxx视频在线观看| 欧美日韩国产色综合一二三四| 在线观看国产日韩| 美女张开让男人捅| 欧美在线亚洲在线| 中文字幕专区| 午夜国产福利一区二区| av在线电影免费观看| 国产精品三级视频| 国产传媒在线视频| 国产精品7777777| 欧美一区二区三区久久综合| 超污黄色软件| 午夜影视日本亚洲欧洲精品| 先锋影音国产一区| 电影天堂久久| 亚洲欧美一区二区在线观看| 国产亚洲视频中文字幕视频| 一级黄色av片| 欧美一区免费观看| 成人h在线播放| 泷泽萝拉在线播放| 日韩福利电影在线| 91精品一区二区三区综合| 你懂的视频欧美| 国产一区二区三区美女| 情趣视频在线观看| 最近中文字幕免费mv| 日韩黄色一区二区| 99精品国产在热久久| 国产精品视频一区二区三区四区五区| 日韩在线一区二区三区| 超免费在线视频| 色婷婷久久99综合精品jk白丝| 亚洲欧美日韩综合精品网| 在线视频中文字幕| 色综合久久综合网| 第四色播日韩| 日韩一区二区三区免费| 91成人精品一区二区| 黄页网站在线播放| 91久久精品国产91性色| 日韩av一区在线| 高清视频一区二区三区四区| 欧美www.| 青青在线免费观看视频| 好操啊在线观看免费视频| 亚洲欧美一区二区三区四区五区| 亚洲电影小说图| 中文一区二区在线观看| 国产在线精品二区| 亚洲精品一区二区三区婷婷月| 调教驯服丰满美艳麻麻在线视频| 国产国产人免费人成免费视频| 国产91免费观看| 无码国产精品一区二区免费式直播| 男女激情视频网站| 亚洲精品一区二区三区蜜桃久| 国产精品久久婷婷六月丁香| 成人久久久精品国产乱码一区二区| 先锋影音男人资源| 国产精品久久久久久久天堂第1集| 噜噜噜久久,亚洲精品国产品| 欧美激情在线一区| 2018中文字幕一区二区三区| 麻豆精品久久精品色综合| 国产乱色精品成人免费视频| 国产成人在线免费观看| 欧美国产日韩综合| 久久久男人的天堂| 免费毛片在线播放免费| 亚洲第一综合网站| 变态另类ts人妖一区二区| 91精品久久久久久久久中文字幕| av大全在线观看| 热国产热中文视频二区| 欧美v亚洲v综合v国产v仙踪林| 成人三级在线视频| 精品人妻一区二区三区含羞草| 精品国产乱码久久久久久影片| 污片视频在线免费观看| 色婷婷综合成人av| 国产成人一区二区三区小说| 国产一区二区你懂的| 欧美成人3dxxxx| 欧美老**bbbb毛片| 国产高清www| av成人资源网| 天天舔天天干天天操| 另类一区二区三区| 奇米777国产一区国产二区| 国产精品无码av在线播放| 色一情一乱一伦| 一区二区三区在线视频观看58| 99精品视频在线观看播放| 怡红院怡春院首页| 亚洲欧美电影在线观看| 日韩中文在线中文网在线观看| 成人国产精品久久久| 日韩影视在线观看| 亚洲一区二区自拍| 欧美黑白配在线| 一区二区三区在线视频观看58| 日本成人黄色片| 97在线看福利| 成人激情校园春色| 成人美女黄网站| 日韩一区二区三区四区在线| 亚洲一区二区三区在线看| 日韩 欧美 综合| 亚洲国产精彩中文乱码av| 亚洲精品网站在线观看| 在线观看日本一区| 精品久久久久av| 亚洲一区二区视频在线观看| 黄色毛片av| 精品久久久久久久久久久久久久久久久久| 男人天堂电影网| 国产亚洲高清视频| 亚洲国产91精品在线观看| 成人在线短视频| 日韩亚洲精品视频| 蜜桃视频久久一区免费观看入口| 老熟妇一区二区三区啪啪| 国产亚洲欧美日韩俺去了| 少女频道在线观看免费播放电视剧| 免费黄网站观看| 99精品一区二区| 日本伊人精品一区二区三区观看方式| 国产一区二区在线视频| 伦理一区二区三区| 精品亚洲免费视频| 91精彩视频在线播放| 北条麻妃99精品青青久久| 在线视频欧美亚洲| 日本大片在线看黄a∨免费| 久久9999免费视频| 日本亚州欧洲精品不卡| 爱爱爱爱免费视频| 天堂资源在线| 国产人妻黑人一区二区三区| 天堂在线一二区| 福利在线一区| 亚洲成在人线免费视频| 亚洲欧美乱综合图片区小说区| 欧美成人高清手机在线视频| www.夜夜操.com| 久久99国产精品成人| 手机av免费在线观看| 精品福利视频一区二区三区| 粉嫩av一区二区三区在线播放| 亚洲国产精品一区在线观看不卡| 欧美另类极品| 91精品国产乱码久久| 国产二区在线播放| 欧美成人黑人猛交| 青青草福利视频| 一级一片免费看| 亚洲精品乱码久久久久久久| 国产欧美日韩在线观看视频| 国产成人精品123区免费视频| 亚洲a∨一区二区三区| 黄色片在线观看免费| 一区二区三区视频免费观看| 久久国产精品久久精品国产| 97av在线影院| 亚洲美女炮图| 欧美精品一区二区精品网| 最新黄网在线观看| 亚洲视频视频在线| 精品国产一区二区三区久久久蜜臀| 精品国产乱码久久久久久樱花| 欧美亚洲另类在线一区二区三区| 日韩午夜视频在线| 欧美另类亚洲| 日韩深夜视频| 亚洲黄页在线观看| 日本丶国产丶欧美色综合| 日韩欧美中文字幕一区二区| 精品全国在线一区二区| 国产天堂亚洲国产碰碰| 欧洲精品视频在线观看| 美女航空一级毛片在线播放| 欧亚乱熟女一区二区在线| 中文字幕乱码中文字幕| 欧美日韩**字幕一区| 日本一区精品| 毛片女人与拘交视频| 少妇性l交大片| 毛片免费看不卡网站| 日韩一区二区三区观看| 精品免费久久久久久久| 蜜桃精品一区二区| 福利片免费在线观看| 亚洲最大免费| 午夜免费一区二区| 成人黄色影片在线| 精品亚洲永久免费精品| 成品网站w灬+源码1688网页| 久久99久久久| 日韩久久精品一区| 亚洲无码精品一区二区三区| 96成人在线视频| 99久久精品久久亚洲精品| 国产吃瓜黑料一区二区| 久久国产精品视频在线观看| av中文字幕在线看| 成人片在线播放| 91久色国产| 夜级特黄日本大片_在线| 国产成人免费9x9x人网站视频| 久色乳综合思思在线视频| 一区二区久久精品| 欧美成人毛片| 国产一区二区视频网站| 天天操天天干天天操| 精品国产sm最大网站免费看| 成人性生交大片免费看中文网站| 亚洲男女av一区二区| 超碰在线资源| 国产精品美女久久久久aⅴ国产馆| 精品久久国产一区| 亚洲无线一线二线三线区别av| 久久人体做爰大胆| 久久视频一区| 欧美r级电影| www.xxx亚洲| 一区二区日韩电影| 中文字幕天堂在线| 欧美中文字幕视频| 天堂在线网站| 手机在线播放av| 伊人久久综合一区二区| 久久99久久久欧美国产| 国产av第一区| 日韩限制级电影在线观看| 一区二区精品区| 日韩欧美成人午夜| 精品176二区| 天天色综合久久| 99久久免费国产| 欧美精品一区二区高清在线观看| 国产日韩av在线播放| 99久久久国产精品美女| 久久国产精品无码一级毛片| 91视频免费网站| 中文字幕97| 国产美女视频免费| 国产一区二区三区在线观看免费| 欧美日韩一区二区三|