chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何分配特殊文件權限

Linux愛好者 ? 來源:YXQ ? 2019-08-09 17:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Linux 上查看文件權限時,有時你會看到的不僅僅是普通的 r、w、x 和 -。除了在所有者、組和其他中看到 rwx 之外,你可能會看到 s 或者 t,如下例所示:

drwxrwsrwt

要進一步明確的方法之一是使用 stat 命令查看權限。stat 的第四行輸出以八進制和字符串格式顯示文件權限:

$ stat /var/mail  File: /var/mail  Size: 4096            Blocks: 8          IO Block: 4096   directoryDevice: 801h/2049d      Inode: 1048833     Links: 2Access: (3777/drwxrwsrwt)  Uid: (    0/    root)   Gid: (    8/    mail)Access: 2019-05-21 19:23:15.769746004 -0400Modify: 2019-05-21 19:03:48.226656344 -0400Change: 2019-05-21 19:03:48.226656344 -0400 Birth: -

這個輸出提示我們,分配給文件權限的位數(shù)超過 9 位。事實上,有 12 位。這些額外的三位提供了一種分配超出通常的讀、寫和執(zhí)行權限的方法 - 例如,3777(二進制 011111111111)表示使用了兩個額外的設置。

該值的第一個 1 (第二位)表示 SGID(設置 GID),為運行文件而賦予臨時權限,或以該關聯(lián)組的權限來使用目錄。

011111111111 ^

SGID 將正在使用該文件的用戶作為該組成員之一而分配臨時權限。

第二個 1(第三位)是“粘連”位。它確保只有文件的所有者能夠刪除或重命名該文件或目錄。

011111111111  ^

如果權限是 7777 而不是 3777,我們知道 SUID(設置 UID)字段也已設置。

111111111111^

SUID 將正在使用該文件的用戶作為文件擁有者分配臨時權限。

至于我們上面看到的 /var/mail 目錄,所有用戶都需要訪問,因此需要一些特殊值來提供它。

但現(xiàn)在讓我們更進一步。

特殊權限位的一個常見用法是使用 passwd 之類的命令。如果查看 /usr/bin/passwd 文件,你會注意到 SUID 位已設置,它允許你更改密碼(以及 /etc/shadow 文件的內(nèi)容),即使你是以普通(非特權)用戶身份運行,并且對此文件沒有讀取或?qū)懭霗嘞蕖.斎?,passwd 命令很聰明,不允許你更改其他人的密碼,除非你是以 root 身份運行或使用 sudo。

$ ls -l /usr/bin/passwd-rwsr-xr-x 1 root root 63736 Mar 22 14:32 /usr/bin/passwd$ ls -l /etc/shadow-rw-r----- 1 root shadow 2195 Apr 22 10:46 /etc/shadow

現(xiàn)在,讓我們看一下使用這些特殊權限可以做些什么。

如何分配特殊文件權限

與 Linux 命令行中的許多東西一樣,你可以有不同的方法設置。 chmod 命令允許你以數(shù)字方式或使用字符表達式更改權限。

要以數(shù)字方式更改文件權限,你可以使用這樣的命令來設置 SUID 和 SGID 位:

$ chmod 6775 tryme

或者你可以使用這樣的命令:

$ chmod ug+s tryme <== 用于 SUID 和 SGID 權限

如果你要添加特殊權限的文件是腳本,你可能會對它不符合你的期望感到驚訝。這是一個非常簡單的例子:

$ cat tryme#!/bin/bashecho I am $USER

即使設置了 SUID 和 SGID 位,并且 root 是文件所有者,運行腳本也不會產(chǎn)生你可能期望的 “I am root”。為什么?因為 Linux 會忽略腳本的 SUID 和 SGID 位。

$ ls -l tryme-rwsrwsrwt 1 root root 29 May 26 12:22 tryme$ ./trymeI am jdoe

另一方面,如果你對一個編譯的程序之類進行類似的嘗試,就像下面這個簡單的 C 程序一樣,你會看到不同的效果。在此示例程序中,我們提示用戶輸入文件名并創(chuàng)建它,并給文件寫入權限。

#include int main(){    FILE *fp;   /* file pointer*/    char fName[20];    printf("Enter the name of file to be created: ");    scanf("%s",fName);    /* create the file with write permission */    fp=fopen(fName,"w");    /* check if file was created */    if(fp==NULL)    {        printf("File not created");        exit(0);    }    printf("File created successfully\n");    return 0;}

編譯程序并運行該命令以使 root 用戶成為所有者并設置所需權限后,你將看到它以預期的 root 權限運行 - 留下新創(chuàng)建的 root 為所有者的文件。當然,你必須具有 sudo 權限才能運行一些需要的命令。

$ cc -o mkfile mkfile.c            <== 編譯程序$ sudo chown root:root mkfile       <== 更改所有者和組為 “root”$ sudo chmod ug+s mkfile        <== 添加 SUID and SGID 權限$ ./mkfile              <== 運行程序Enter name of file to be create: emptyFile created successfully$ ls -l empty-rw-rw-r-- 1 root root 0 May 26 13:15 empty

請注意,文件所有者是 root - 如果程序未以 root 權限運行,則不會發(fā)生這種情況。

權限字符串中不常見設置的位置(例如,rwsrwsrwt)可以幫助提醒我們每個位的含義。至少第一個 “s”(SUID) 位于所有者權限區(qū)域中,第二個 (SGID) 位于組權限區(qū)域中。為什么粘連位是 “t” 而不是 “s” 超出了我的理解。也許創(chuàng)造者想把它稱為 “tacky bit”,但由于這個詞的不太令人喜歡的第二個定義而改變了他們的想法。無論如何,額外的權限設置為 Linux 和其他 Unix 系統(tǒng)提供了許多額外的功能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11511

    瀏覽量

    213836
  • 權限
    +關注

    關注

    0

    文章

    13

    瀏覽量

    7366

原文標題:更深入地了解 Linux 權限

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    LINUX修改文件權限

    本帖最后由 Stark揚 于 2018-9-28 16:56 編輯 用戶權限在Windows操作系統(tǒng)里也不陌生,但是Linux操作系統(tǒng)的用戶權限文件權限要比Windows操作系
    發(fā)表于 09-26 13:58

    淺析Linux命令與Linux文件的分類

    查看當前目錄(2)Linux文件的分類:普通文件(-),目錄文件(d),設備文件(c字符設備/ b塊設備),鏈接文件(l)(3)Linux
    發(fā)表于 12-15 06:15

    Linux 中文件權限管理的探討

    Linux 是一種多用戶的操作系統(tǒng),其文件權限管理在文件管理中占有重要的地位。為了更好地把握Linux 的文件權限的相關內(nèi)容,本文以多種Li
    發(fā)表于 06-11 09:37 ?11次下載

    Linux改變文件或目錄的訪問權限命令

    Linux改變文件或目錄的訪問權限命令 Linux改變文件或目錄的訪問權限命令  Linux系統(tǒng)中的每個文件和目錄都有訪問許可
    發(fā)表于 01-18 12:46 ?1260次閱讀

    設備文件系統(tǒng)devfs詳細解析

    ,典型的 /dev 樹包含數(shù)百個塊特殊文件和字符特殊文件,它們?nèi)荚诟?b class='flag-5'>文件系統(tǒng)上。每個特殊文件都可以讓用戶空間進程輕松地與內(nèi)核設備實現(xiàn)交互。舉例來說,通過對這些
    發(fā)表于 11-01 15:36 ?0次下載

    Linux系統(tǒng)文件權限細節(jié)分析

    linux是一個安全的操作系統(tǒng),她是以文件為基礎而設計的,其文件權限是比較復雜的,可以用stat命令以及l(fā)sattr命令來顯示某個文件的詳細信息: 可以看到,
    發(fā)表于 11-07 11:08 ?9次下載

    如何修改權限命令chmod用法

    Linux中的Chmod命令用于更改或分配文件和目錄的權限。在Linux/Unix系統(tǒng)中,文件和目錄的可訪問性是由文件所有權和
    的頭像 發(fā)表于 11-03 17:16 ?7204次閱讀
    如何修改<b class='flag-5'>權限</b>命令chmod用法

    第1期Ubuntu入門篇:【12】Ubuntu文件權限管理

    文章目錄簡介目標參考資料閱讀基礎環(huán)境說明參考資料文件信息解讀文件權限的作用文件權限文件
    發(fā)表于 12-07 17:51 ?8次下載
    第1期Ubuntu入門篇:【12】Ubuntu<b class='flag-5'>文件</b><b class='flag-5'>權限</b>管理

    如何遞歸更改文件和目錄的權限

    如果您使用Linux作為主要操作系統(tǒng)或管理Linux服務器,當您嘗試創(chuàng)建或編輯文件并收到權限拒絕Permission deny錯誤時。
    的頭像 發(fā)表于 12-09 16:52 ?4471次閱讀

    linux修改文件權限

    我們首先使用`ls -l`指令查看文件權限信息(以/etc/fstab為例)。
    的頭像 發(fā)表于 01-11 10:45 ?1284次閱讀

    Linux系統(tǒng)如何修改文件屬性與權限

    我們已經(jīng)深入學習了Linux系統(tǒng)中用戶和用戶組的基本概念。每個文件和目錄都具有“所屬用戶”和“所屬用戶組”這兩個屬性,這兩個屬性對文件權限及安全性至關重要。本節(jié)我們就來學習如何修改一個文件
    的頭像 發(fā)表于 05-12 15:29 ?2878次閱讀
    Linux系統(tǒng)如何修改<b class='flag-5'>文件</b>屬性與<b class='flag-5'>權限</b>

    linux文件訪問權限怎么設置

    Linux 文件訪問權限是操作系統(tǒng)中一個非常重要的概念。正確地設置文件訪問權限可以保護系統(tǒng)的安全性,防止未經(jīng)授權的人員對文件進行修改、刪除或
    的頭像 發(fā)表于 11-23 10:20 ?2125次閱讀

    Linux文件權限及Makefile

    的詳細信息 //man -L zh_CN open man 1 open man 2 open man 3 open Part2文件權限 2.1 權限理解 在 Ubuntu(以及其他類 UNIX
    的頭像 發(fā)表于 11-24 16:06 ?809次閱讀
    Linux<b class='flag-5'>文件</b><b class='flag-5'>權限</b>及Makefile

    Linux文件權限詳解

    權限的意義在于允許某一個用戶或某個用戶組以規(guī)定的方式去訪問某個文件
    的頭像 發(fā)表于 11-01 09:45 ?653次閱讀

    搞懂Linux權限管理,提升系統(tǒng)安全性與穩(wěn)定性

    目錄 權限管理 4.1 linux安全上下文 4.2 特殊權限 2.1 修改權限的命令chmod 2.2 修改文件屬主和屬組的命令chown
    的頭像 發(fā)表于 11-22 10:31 ?672次閱讀
    搞懂Linux<b class='flag-5'>權限</b>管理,提升系統(tǒng)安全性與穩(wěn)定性