背景:
將某項(xiàng)目proj-01的代碼checkout到windows的某個(gè)目錄收津,比如 d:\svn\proj-01咨跌,然后想從windows和Linux都能夠進(jìn)行編譯型酥。于是想到進(jìn)行跨平臺(tái)共享掏膏,之前試過(guò)linux共享原杂,然后windows進(jìn)行掛載,是成功的请祖,具體步驟不表订歪,但是這種方式存在一個(gè)問(wèn)題,就是tortoisesvn的狀態(tài)圖標(biāo)不能夠顯示出來(lái)肆捕。
首先將文件夾svn設(shè)置為共享(任何用戶可讀寫(xiě))刷晋。Linux下使用mount命令掛載后,查看掛載目錄的權(quán)限是 drwxr-xr-x慎陵,很明顯沒(méi)有寫(xiě)權(quán)限眼虱,想當(dāng)然使用chmod來(lái)更改文件夾權(quán)限,提示失敗席纽。root和其它用戶都不能正常修改權(quán)限捏悬。
使用下面命令Linux上掛載windows上共享文件夾時(shí),成功之后在Linux中發(fā)現(xiàn)可以訪問(wèn)润梯,但不能修改:
mount -t cifs -o username="",password="" //windows-ip/svn /home/xxx/svn
同時(shí)使用ls -l svn會(huì)發(fā)現(xiàn)svn目錄所有者和用戶組均是root邮破,即使使用sudo chmod和sudo chown修改權(quán)限也提示權(quán)限不夠。
不過(guò)可以添加2個(gè)參數(shù)即可達(dá)到我們所要的效果:
mount -t cifs -o username=,password=,gid=,uid= //windows-ip/svn /home/xxx/svn
屬性中的gid仆救、uid抒和,是你想要讓掛載屬于哪個(gè)用戶的gid和uid。至于這個(gè)gid和uid彤蔽,你可以使用id username來(lái)獲得摧莽,比如說(shuō)我的xxx,用戶獲得的gid和uid就是1000顿痪。
這樣修改掛載以后镊辕,該gid用戶可以正常讀寫(xiě)目錄svn了。