2017-07-27 133 views
-1

我使用我的管理員帳戶「user1」登錄了終端。每當我使用sudo mkdir命令時,目錄默認爲所有者root:root,當我期望所有者爲user1:user1。所以每次我創建一個目錄時,我都必須返回並且chown,它變得很煩人。帳戶USER1有其主要組設置爲USER1,並且是www數據次級組的成員。Unix mkdir:owner始終設置爲root?

我怎麼能強制mkdir命令給業主設置爲用戶1:user1的代替根:根創建新目錄時?

+2

這是否應該遷移到超級用戶? –

回答

1

這不是mkdir命令,它是sudo命令。這意味着「運行我所說的根用戶(或我指定的其他用戶)」。當您運行sudo mkdir foo時,sudo程序切換到root,然後運行mkdir foo。自然,當root運行mkdir時,它會以root身份創建目錄。

如果user1有權在相關位置創建目錄,只需刪除sudo即可。如果沒有,那麼你將需要chown他們。如果user1需要在同一個地方製作很多目錄,請查看adding ACLs,因此您在這裏不需要sudo

+0

謝謝,我曾認爲mkdir固有地需要提升特權才能執行。 – leschandrew

+0

不是;如果您擁有對目錄的寫入權限,則可以在沒有提升權限的情況下創建子目錄或文件(或符號鏈接,FIFO或其他種類的特殊文件)(只要文件系統不是隻讀或其他)。 –

1

執行mkdir時請勿使用sudo

+1

或者編寫一個腳本來檢查'SUDO_UID'和'SUDO_GID',併爲你調用'chown'。也許'mkdiru'或類似的東西。 –