如何在centos中創建只讀帳戶?
我想在centos7上創建一個具有隻讀權限的帳戶即使在Google搜尋之後,也沒有辦法創建一個具有隻讀權限的帳戶。我想知道如何創建一個沒有文件寫入權限而只有讀取權限的帳戶。
問題不清楚;Linux 中的帳戶不是只讀的。
我假設您正在詢問以下內容之一:
- 創建一個無法登錄的帳戶
- 創建一個可以登錄但其他使用者無法修改該使用者主目錄下的文件的帳戶
- 創建一個可以登錄但使用者被限制寫入其他文件夾的帳戶。
1.創建一個無法登錄的賬號
這可以通過將使用者的 shell 設置為
/bin/false
. 這通常用於創建系統帳戶以在其下執行程序但不可用於登錄。預設情況下,儘管在大多數情況下不切實際,但仍會為此類使用者添加主文件夾,除非您還指定--no-create-home
. 我還喜歡設置--inactive 0
“密碼過期後立即禁用帳戶”的選項。sudo useradd --system --no-create-home --inactive 0 --shell /bin/false NAME_OF_USER
要使用該帳戶,一般仍需要設置密碼。僅此一項就不允許登錄到 shell,但允許該帳戶用於本地身份驗證,並允許您使用該帳戶來執行程序等。
要在新帳戶上設置密碼(從您的正常金額或從
root
帳戶):sudo passwd NAME_OF_USER
2.創建一個可以登錄但其他使用者無法修改該使用者主目錄下文件的帳戶
應該創建使用者的主文件夾,以便使用者是所有者並且他們對該文件夾具有 rwx 權限;否則,即使設置了密碼,使用者也無法正確登錄。如果我沒記錯的話,在這種情況下圖形會話是不可能的,但我認為從終端登錄是可能的,它只會產生一個錯誤並臨時(對於該會話)將使用者家更改為臨時位置(至少,這是我記得幾年前的錯誤配置所發生的事情)。
您可以更改您是其所有者的文件夾的權限。因此,如果您想防止“其他”使用者能夠修改您的文件但仍允許閱讀,您可以使用:
chmod -R o-w ~
該
-R
選項指示應將更改以遞歸方式應用於所有子文件夾和文件。o-w
表示我們要刪除其他使用者的寫權限。最後,是您自己的主文件夾位置的簡寫。~
實際上,我建議防止對您的主文件夾下的大多數子文件夾進行讀取訪問,尤其是隱藏的“點”文件夾,
~/.mozilla
否則使用者可以製作子文件夾的完整副本,包括任何儲存的密碼。要禁用您的主文件夾下其他使用者的所有訪問權限:
chmod -R o-wrx ~
這與之前的命令基本相同,除了寫入權限之外,我們還刪除了其他使用者的讀取和執行權限。
最後,您可以在
~/.bashrc
文件中設置“umask”值來定義使用者創建的任何新文件或文件夾的啟動權限(這主要適用於在終端中創建的文件……文件管理器等圖形應用程序可能不支持您的umask 設置)。# new dirs => 770 # new files => 660 umask 0007
由於這已經是一個很長的答案並且 umask 有點複雜,所以我不會在這裡深入探討。您可以在此處找到有關 umask 的更多資訊:https ://www.computernetworkingnotes.com/rhce-study-guide/how-to-change-default-umask-permission-in-linux.html
- 創建一個可以登錄但使用者被限制寫入其他文件夾的帳戶。
如果您不希望其他使用者(例如來賓帳戶)能夠訪問某個文件夾,則只需更改類似於第二部分下的權限,但來自不同的帳戶。
例如,如果您有使用者“main”和使用者“guest”,並且您不希望 guest 能夠寫入使用者 main 擁有的文件夾“/media/shared-stuff”。
首先,以“main”身份登錄,然後
chmod -R o-w /media/shared-stuff
這還假設您沒有將文件夾的組更改為這兩個使用者都屬於的組。預設情況下,該組應與您的使用者名相同,並且您將是該組中唯一的人。但是,如果您使用
chown
或chgrp
更改了哪個組被視為所有者並且使用者“guest”是該組的一部分,那麼您需要執行以下操作以防止他能夠寫入:chmod -R gw /media/shared-stuff
這與以前基本相同,但不是刪除其他使用者的寫入權限**,而是將其從組**中刪除