問題描述:
cygwin 在 win10下安裝完成后使用當前用戶登錄后看所在磁盤的文件權限是沒有問題的,但在cygwin編譯出來的文件的權限為空,這個問題可以使用以下方法來解決:
解決辦法:
將cygwin修改為使用root用戶登錄
- 找到cygwin的etc目錄中有一個名為passwd的文件。
- 用UE或記事本打開passwd這個文件,找到以下部分,把其中的windows用戶名換成root(共3處都改過來)。 加一處Administrators替換成root
Administrator :unused:500 :513 :U-PC-201103250049\Administrator ,S-1-5-21-1343024091-57989841-1417001333-500:/home/Administrator :/bin/bash
藍色 部分是替換成root,這個只是改名而已,真正關鍵部分是紅色 部分,那個才是權限控制,將500和513都改成0,這樣才能獲取真正的root權限,改成如下:
root:unused:0:0:U-PC-201103250049\root,S-1-5-21-1343024091-57989841-1417001333-500:/home/root:/bin/bash,需要注意的是如果你使用當前用戶為AA,那么還需要修改 passwd文件中AA的那一行,這樣在windows下你使用AA用戶在cygwin登錄后才會是root的權限
- 在cygwin的home目錄下面建立目錄root
- 以管理員身份啟動cygwin進入以后,就會以真正的root權限運行了
- 第6、7點可以驗證是真實的root用戶
- 普通用戶提示符$;root用戶提示符#
- #cd ~ 輸出/home/root
遺留問題:
原windows下資源管理器創建的文件及目錄在cygwin下ll 命令下沒用權限(可以通過chmod給權限),屬組無(chown不可改屬組);cygwin新建文件目錄權限正常,如圖:
1.txt cygwin創建
2.txt windows資源管理器創建
1.txt cygwin創建
2.txt windows資源管理器創建
