2017-05-07 18 views
0

在Windows 10 SVN目錄結構在Ubuntu上使用bash如下: /學生/ 2017/S1/EM/otherdirs顛覆已禁用寫權限的目錄

我最近調整了一個堅定的目錄(名爲EM)本地,當我試圖提交svn上的更改時,我在某處出錯(大量嘗試刪除/添加目錄),現在EM(s1)的父目錄沒有寫權限。

Running ls -l in 2017 dir: 
dr-xr-xr-x 2 root root 0 May 6 11:01 s1 
drwxrwxrwx 2 root root 0 May 7 13:57 s2 

我試圖運行使用chmod和chown通過SE其他問題的建議,但他們沒有工作在S1命令。

這一切都發生在昨天,我不記得確切的錯誤svn給了我,但它與WC分貝(不知道是什麼)有關。我怎樣才能讓dir s1可寫?

編輯:解決。 Ubuntu上的Windows終端上的Bash無法使用接受的答案,所以我嘗試使用以管理員身份運行Cygwin,並且能夠更改權限

+0

你試過的確切的'chmod'命令是什麼? – HyperNeutrino

+0

嘗試了chmods的全部變體。我正在運行:sudo chmod u + w s1 /你有什麼建議? – Jarrah

+0

看到我的答案。我簡單地解釋一下'chmod'是如何工作的,以便你可以決定爲你的具體情況做些什麼。 – HyperNeutrino

回答

0

chmod a+w s1會給所有用戶寫入權限。由於它是一個目錄,因此您可能需要對目錄中的每個文件應用寫入權限。下面的代碼將做到這一點:

chmod -R a+w s1 

爲了解釋chmod命令更深入的,有9個類別的權限。有3種類型的權限(讀,寫,執行)和3個組(其他,組,其他)。所有者只是文件的所有者。 group由與所有者處於相同「組」的所有用戶組成;如果擁有者爲sudo,則包括所有sudo用戶。通常情況下,這並沒有太多用處。 others包括其他人。

通常用於chmod的方法是像這樣:

chmod [-R] [u][g][o][a][+|-][r][w][x] 

使用-R遞歸應用到一個目錄下的所有子元素。第一部分看起來是這樣的:

chmod [-R] [u][g][o][a] 

u指定更改將適用於所有者。 g包括該組。 o包括所有其他。 a包括所有人(因此使其相當於ugo)。

第二部分看起來是這樣的:

chmod [-R] <target>[+|-][r][w][x] 

+添加權限到目標,並-刪除它們。用於讀取的r,用於寫入的w以及用於執行的x

這意味着,對於你的情況,這取決於你是否只希望自己有寫訪問,或者如果您想每個人都獲得寫訪問,使用的東西線沿線的:

chmod [-R] a+w s1 

或更換a與適當的目標。

+0

如果要更改所有者/組,請記住使用'sudo'而不是'root'。 – HyperNeutrino

+0

我之前使用過chmod,但是感謝您的詳細介紹。清理了一些東西。 sudo chmod -R a + w s1有和沒有-R不起作用,仍然沒有變化 – Jarrah

+0

@Jarrah它是否引發任何錯誤?有沒有輸出? – HyperNeutrino

0

Chmod和chown應該可以工作。 嘗試sudo'g因爲所有者可能是root用戶,並且您的ID可能沒有root用戶權限。 Chmod和chown應該工作,沒有理由他們無法工作。

+0

這些命令可能無法正常工作的原因有很多:例如並非所有文件系統都支持權限。 –

+0

在這個特定的情況下,我沒有看到任何理由。 –

+0

我曾嘗試過,只是再次嘗試,仍然沒有工作:/我正在運行:sudo chmod u + w s1 /並嘗試與chown和其他人。 – Jarrah