所以基本上我希望能夠使用 stfp 寫入數據,但是當我使用它時。它說許可被拒絕。我希望能夠在此目錄中執行此操作/home/user
,因此當我使用ls -l
命令時,它具有以下輸出
total 8
drwxr-xr-x 2 root root 4096 Apr 22 21:43 FOLDER1
drwxr-xr-x 2 root root 4096 Apr 22 22:00 FOLDER2
我怎麼才能看到誰是這個目錄的所有者。我知道我可以使用這個 cmdchmod a+rw user
授予每個人讀寫權限,但我只想將其授予一個使用者。系統中只有一個用戶,但我將來可能會創建更多用戶。我想了解所有者和群體的概念。其他問題:- 如何查看有哪些組。如何建立群組以及如何將使用者新增至該群組。
答案1
非常好且正確的答案yxz
唯一可以改進它的是一個實際的例子(即使它是暗示的)。由於我可能還沒有評論(沒有足夠的聲譽點),我必須寫一個額外的答案才能提供範例。
簡化的命令語法:
sudo chown username[:[groupname]] <filename>
sudo chown username[:[groupname]] <dirname>
對於以下範例,這些是參數
- 使用者名稱:傑克
- 登入群組名稱:定時器
- 團隊名字:帳戶
- 檔案名稱:富
- 目錄名稱:客戶
該檔案存在於目錄中指定的共用中foo
指定的系統上。server
data
clients
IE //sever/data/clients/foo
範例:更改文件所有權
1. admin@server:/data$ sudo chown jack clients/foo
2. admin@server:/data$ sudo chown jack: clients/foo
3. admin@server:/data$ sudo chown jack:accounts clients/foo
- 改變所有者文件命名
foo
為傑克 - 改變所有者文件命名
foo
為傑克和組定時器。傑克是該組織的成員登入群組命名的定時器。在這個例子中登入群組是透過使用暗示:
在所有者姓名之後 - 改變所有者文件命名
foo
為傑克並分組到accounts
範例:更改目錄所有權
4. **admin@server:/data$** sudo chown jack clients
5. admin@server:/data$ sudo chown jack: clients
6. admin@server:/data$ sudo chown jack:accounts client
7. admin@server:/data$ sudo chown -R jack:accounts client
- 改變所有者目錄命名
clients
為傑克 - 改變所有者目錄命名
clients
為傑克和組定時器 - 改變所有者目錄命名
clients
為傑克並分組到accounts
- 改變所有者目錄
clients
以及名為的目錄中的所有文件傑克並分組到accounts
如需更多協助,請參閱:
chown --help
man chown
info chown
答案2
在您的ls -l
輸出中,第三列和第四列分別是使用者(擁有者)和群組(擁有者),因此您的資料夾均為 root 所有。
如果運行chmod +006 yourfile
,這將授予所有使用者讀寫權限yourfile
。在這種情況下,root
擁有該資料夾,因此您需要使用sudo
(或其他一些方法以 root 身分發出命令)。如果您只希望單一使用者或幾個使用者俱有存取權限,則可以使用chown userowner[:groupowner]
(with sudo
) 使該使用者或組成為檔案的擁有者,並使用chmod +600
為擁有者提供讀寫權限,並chmod +060
為群組擁有者提供讀寫權限。
若要列出目前使用者所屬的群組,請使用groups username
。要列出您可以使用的所有群組cat /etc/group
。getent group
也有效。
若要建立新群組,請使用groupadd
.
若要將使用者新增至群組,請使用usermod -Ga groupname username
。如果不使用該-a
標誌,則該使用者username
將從所有目前群組中刪除,並且僅出現在新群組中groupname
。