提示:在Linux中有多個用戶共享目錄

終端

今天,我返回另一個提示,我個人使用了很多: 能夠在Linux上的多個用戶之間擁有共享目錄。 我把它們放在一種情況下,因為我和妻子在家裡,我們倆都使用同一台PC Arch Linux 但每個人都有自己的用戶。 因此,我們注意到我們共享的那些文件夾(例如音樂或照片)存在問題,因為每個文件夾都有自己的文件,重複了一些事情。

那時我們想到 創建一個共享文件夾,但是存在權限問題。 如果該文件夾是我的,則看不到它,如果該文件是我創建的,則不刪除它,依此類推。 最初,補丁是,每次我們編輯其他內容供他人訪問之前,我們都會為這些文件賦予777權限,直到找到解決方案為止, 組權限!

什麼是組權限?

那是最好的 為該共享目錄及其所有內容分配一個具有讀寫權限的特殊組,該組的所有成員都可以使用該目錄。 這樣一來,只需將用戶添加到該組中,我們就可以在該目錄中進行交互。

以及如何配置呢?

這是最好的部分,我將繼續告訴您我是如何與妻子一起做的。 首先是創建該目錄,在本例中,我將其稱為«共享的“。

sudo mkdir /home/compartido

我在/ home和我們的帳戶外部創建了它,以避免上層目錄因其自己的權限而煩惱。 現在,我們必須創建組,然後將其放入“共享»

sudo groupadd compartidos

然後,我們將該組分配給我們之前創建的目錄,並且我們還更改了權限,以便我們在其中創建的所有內容(無論是目錄還是文件)也都屬於該組。

sudo chgrp -R compartidos /home/compartido
sudo chmod g+s dirname

另外,我們必須向其中添加用戶。 然後,我們必須為每個命令重複此命令:

sudo usermod -G compartido sebastian
sudo usermod -G compartido mimujer

到目前為止,我們擁有目錄«/主頁/共享»屬於該小組«共享«,具有相同訪問權限的所有成員用戶都可以訪問,並且目錄中創建的所有內容都將屬於該組,而我們中的任何人都可以看到他們。

現在,我們只需要執行最後一個步驟(可能是可選的),而是更改用戶的umask,以確保我們創建的每個新文件都可被該組的其他成員修改。 這不僅會影響目錄,還會影響整個用戶,因此他們必須查看它是否對他們有用。 就我而言,因為只有我和我的妻子使用該系統,所以它不會打擾我們,我們給自己分配了umask 002,這意味著創建的每個文件都以775權限開頭。

編輯umask

要編輯umask,每個用戶必須編輯用戶家中的.profile或.bashrc文件,並按所需的數字修改umask的值。 如果該選項不存在,則必須添加它。

您還可以編輯/ etc / profile文件,這樣更改將影響所有用戶

因此,在控制台中,我們輸入:

sebastian@multivacs ~> vim .profile

我們將看到如下所示:

vi配置文件2

因此,我們轉到顯示umask的行,我們按字母 i 為了能夠進行編輯,我們刪除了#以刪除評論。 我們將數字更改為002。如果沒有出現該行,則必須添加它。

完成後,我們按鍵 ESC 退出編輯模式,然後我們寫 :+q+w。 是什麼使我們保存更改並退出Vi。

它看起來像這樣的圖像:

vi配置文件

就是這樣!如果他們關閉了用戶會話並重新打開,則將進行更改,因此共享目錄將起作用。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   拉夫 他說:

    大提示。

  2.   KZKG ^ Gaara 他說:

    和煦。

    幾年前,我發現自己需要這樣做,我不知道是umask ...而是將任務放在crontab中🙂

    謝謝你的提示

    1.    Thalskarth 他說:

      是的,crontab也很好。 您為將775權限分配給內容做了什麼?

  3.   原始基礎 他說:

    大提示....如果需要的話保存;)..

  4.   路易斯 他說:

    好的,您創建文件夾/ home / shared並為其分配“共享”組,但是

    該文件夾屬於哪個用戶? 也就是說,誰是所有者? 我,其他人或由於我使用sudo而被禁用帳戶的root用戶?

    另一方面,我有以下問題:他人無法刪除我創建的文件,而他人無法刪除自己創建的文件。

    我做錯了什麼?

    1.    Thalskarth 他說:

      使用sudo創建文件夾時,應該以root用戶作為所有者。 您也可以使用chown命令對其進行修改,以分配其他用戶。

      另一方面,檢查所創建的文件是否具有775權限(這賦予umask 002)。 如果他們沒有這些權限,則可能是某些錯誤的設置。

      同樣,值得澄清的是,umask會影響目錄中創建的每個新文件,但是如果它們移動或從另一個位置複製內容,則將保留原始權限,而不是我們設置給目錄的權限。

      1.    路易斯 他說:

        嘿你是對的。

        我一直在尋找,問題是由您說的最後一句話引起的:將文件從另一個位置移動到共享文件夾時,將保留原始權限。

        有針對這個的解決方法嗎?

        我可以用珍珠。

      2.    Thalskarth 他說:

        在這種情況下,最好的辦法是放置一個像KZKG ^ Gaara所說的crontab,在其中可以放置一個命令,以便每X次為文件夾內容分配組和權限。
        就是說在crontab中是這樣的:
        sudo chgrp -R compartidos /home/compartido/*
        chmod -R 775 /home/compartido/*

        為了獲得所有新功能,請轉到權限為775的共享組。

      3.    Thalskarth 他說:

        忽略每行末尾的*,我在考慮時會想到其他內容😛

      4.    路易斯 他說:

        謝謝你,朋友。

  5.   埃內斯托 他說:

    很好的帖子,但是我更喜歡有一個單獨的分區,可以在其中放置我想共享的所有內容。 我有一個很大的500 GB磁盤,其中我在Linux上使用100GB,在其中包含所有音樂,照片等的400GB分區(ntfs)。在我的電腦上,我們有兩個用戶,每個用戶都可以訪問該分區ntfs並在需要時放置和刪除我們想要的東西。 如果我不想共享任何內容,則我的用戶名中包含一些內容。 🙂

    1.    路易斯 他說:

      這已經是另一種實現方法,但是問題不在於文件放置位置,而是配置權限和控制不同用戶的訪問。

      您可以將它放在NTFS分區上,這是正確的,但也有碎片,比EXT4慢,並且安全性較低,儘管以這種方式對您有好處,但它同樣有效。

  6.   雷納格 他說:

    好的! 很好的提示,但我仍然會添加一個任務,以在每次登錄時將新文件的權限更改為775,這將解決文件從另一個文件夾移動的問題。
    另外,非常感謝您的分享!

  7.   華金 他說:

    有趣,謝謝!

  8.   匿名 他說:

    我正在提出一些與某些gnu / linux發行版的主要共享組有關的東西。 一些發行版使用主要組用戶創建用戶,而不使用與用戶名相同的主要組。
    區別在於,使用主組用戶時,默認情況下,所有內容都與該發行版中創建的所有用戶所屬的組用戶共享,如果使用與用戶名相同的組來創建,則默認情況下不什麼都不會共享。

    例如:
    $ ls -l /home/user/*.txt
    -rw-r – r– 1 carlos carlos 126 25年2012月XNUMX日notes.txt

    $ ls -l /home/user/*.txt
    -rw-r – r– 1個carlos用戶126 25年2012月XNUMX日

    我不建議使用主要組用戶,最好在創建用戶時創建自己的主要組。

    #groupadd卡洛斯
    #useradd -g carlos -G lp,wheel,uucp,音頻,cdrom,cdrw,usb,lpadmin,plugdev -m -s / bin / bash carlos

    -g carlos表示使用父組carlos。
    您可以使用#usermod -g更改用戶的主要組,但不會更改/ home / carlos中已存在的所有文件和文件夾的主要組,您必須全部更改。

    示例:將主要組用戶從用戶carlos更改為主要組carlos,然後進行更改
    用戶carlos的所有文件和文件夾權限,以便它們保留在carlos carlos中。

    #groupadd卡洛斯
    #usermod -g carlos用戶
    #cd /主頁
    #chown -R carlos:卡洛斯·卡洛斯

    關於共享,您可以創建一個與共享主組共享的用戶,這樣在復制時不會出現權限問題,請先更改該用戶
    使用“ $ su-shared”,然後將您想要的內容複製到/ home / shared,這樣,複製內容的權限將成為共享用戶。
    如果已經存在屬於其他用戶和主要組的複製文件,則必須全部更改它們。

    #cd /主頁
    #chown -R共享:共享共享

    邊緣中只剩下一些東西,我不知道該如何以共享用戶的身份進行圖形複製,即不必執行$ su-shared

  9.   匿名 他說:

    以圖形方式進行複制是一件非常愚蠢的事情,嘿,我在openbox中使用pcmanfm,但是您可以使用擁有或想要的文件管理器,它僅作為共享用戶而不是root用戶執行。

    $ su-共享
    $pcmanfm
    $海豚
    $麥克
    等等等等

    1.    Thalskarth 他說:

      我正要回答這個問題。 如果不是,則另一個是crontab,它每隔x次用a更改文件的所有者。
      chown -R compartido:compartido compartido

  10.   雨果 他說:

    在我看來,命令“ usermod -G thenewgroup elusuario”實際上是將用戶的組更改為“ thenewgroup”。 要將現有用戶添加到新組中,我認為正確的做法是“ usermod -aG elnuevogrupo elusuario”

    另一件事是,我在這裡看到有人建議使用“ chmod -R 775”,但這不僅會影響目錄,還會影響所有文件(使它們可執行),這會帶來不必要的風險。 最好做類似“查找/家庭/共享-type d -print0 | “ xargs -0 chmod 755”,如果需要,可以對文件執行類似的操作,但是使用“ -type f”並授予權限664。

    最後,一種使多個帳戶都可以訪問文件或文件夾的方法,而不管所有者或組是誰,方法是使用acl軟件包中的“ setfacl”命令(如果我沒有記錯的話)。 手冊頁上對它的用法進行了詳細說明。

  11.   烏奈馬丁 他說:

    我有以下問題。 我已經創建了4個用戶(web1,web2,web3,web4),並且我想為該Web組的用戶創建一個訪問組文件夾。 當我創建.htaccess文件時,我知道必須輸入要求有效用戶的密碼,但是如果輸入要求有效用戶的密碼,則當我嘗試訪問該文件夾時,他們才能使用密碼訪問該文件夾問我每個用戶的用戶名和密碼,我如何只詢問要輸入的用戶名和密碼? 因為假定一個人不知道另一個人的密碼。

  12.   古斯塔沃·帕雷德斯 他說:

    您好!

    第四個終端應具有“共享”複數:

    sudo usermod -G共享的塞巴斯蒂安

    sudo usermod -G共享的女性

    問候。

    古斯塔沃

  13.   伊万 他說:

    乾杯

    我們正在從Windows Server遷移到CentOs 6,我們仍在適應過程中。 我的查詢:CentO中是否有圖形界面來共享文件夾並為用戶提供修改,編輯和/或刪除文件的權限?還是應該執行上述所有步驟。

    謝謝您的幫助。

    1.    拉斐爾 他說:

      我還安裝了centos 6,我想與samba一起使用它,使我可以從linux和Windows共享文件,我知道一點,我不太使用linux,但是在工作中有人問我,我該怎麼辦共享文件夾,但處於圖形模式??。

  14.   里卡多 他說:

    你好請幫助我!...事實證明,通過在Linux用戶中對我的用戶執行此操作,現在我失去了特權。 我不能像sudo一樣運行。 我收到以下消息“對不起,用戶”用戶名“無權執行” command_to_run“以root用戶身份登錄”用戶名“”

    我認為,當我將用戶更改為共享組時,我取消了特權,現在如何恢復它們?

  15.   吉列爾莫 他說:

    嘿,朋友有什麼辦法可以做,但是可以與Internet LAN上的其他人共享文件

  16.   費邊 他說:

    為此,您必須將SAMBA用作文件服務器。 乾杯

  17.   大衛 他說:

    你好當我使用命令sudo chmod g + s dirname時,它告訴我該文件或目錄不存在。 你知道是什麼問題嗎?

  18.   哈維爾·基羅加·阿爾梅達 他說:

    如何在另一個組中創建一個組?

  19.   羅德里戈·赫爾南·拉莫斯(Rodrigo Hernan Ramos) 他說:

    該行:
    sudo usermod -G共享塞巴斯蒂安

    應該:
    sudo usermod -a -G共享塞巴斯蒂安

    第一種方法是刪除用戶的其餘組。
    如果出汗了,就會失去特權