ちょっと時間があきましたが、UbuntuからWindowsの共有フォルダをマウントし、さらにroot権限じゃなくても書き込み、変更ができるようにしたい。
前回書いたのがこちら。subversionのインストールまでできました。
Ubuntu16.04にsubversionをインストールする
リポジトリをWindows共有フォルダに置いておきたいが、rootじゃないと書き込みができないので困ったなーというお話です。
まず、共有フォルダをマウントする際に
sudo mount -t cifs -o username=<ユーザー名>,password=<パスワード> //<PC名>/<共有フォルダ> /mnt/<マウントディレクトリ>
というコマンドでマウントしていましたが、このやりかただとroot権限になっちゃうそうです。
ではどうするか。
sudo mount -t cifs -o uid=$(id -u),gid=$(id -g),file_mode=0777,dir_mode=0777,username=<ユーザー名>,password=<パスワード> //<PC名>/<共有フォルダ> /mnt/<マウントディレクトリ>
こうします。
増えたのはuid、gid、file_mode、dir_modeの4つ。
uidとgidはマウントしたディレクトリの所有者を指定しています。
$(id -u)の部分は、id -uの実行結果を代入しています。
ターミナルから
id -u
と入力してENTERを押すと、ログインユーザーのユーザーIDが返ります。
同様に
id -g
でグループIDですね。
所有権は指定できますが、これではまだ不足でした。
次にfile_mode、dir_modeの指定ですが、これはマウントしたファイル、ディレクトリのパーミッションの設定です。
0777を指定することで(最初の0は8進数を指定するためのもので、これがないとエラーになります)、すべての権限で書き込みができるようになります。
これは適宜必要な権限のみ与えるようにしてください。
これで、ようやく書き込みができるようになりました。
では、いざ!
/mnt/windows/svn/testというディレクトリを作成し、そこでファイルブラウザを右クリック、RabbitVCS SVN→Create Repository hereを選択。
自動的にディレクトリやファイルが作成され、
やった、successfullyになりましたよ!!
いやー、良かったよかった。