LoginSignup
22
17

More than 5 years have passed since last update.

WSL(Windows Subsystem for Linux)の初期パーミッション設定

Posted at

はじめに

Windows on Linuxを使うとWindows10でLinuxを使うことができるようになります.
これを用いて,Ubuntuを動かすことができます.
しかし,新たに作成したファイルやディレクトリの初期パーミションによってはGitを使うときにエラーがでるなど,苦労することあります.
なので,初期パーミッションをただしく理解して設定しておくと安心してつかえるでしょう.
(私も初期パーミッションの設定でGitをうまく動かせずに苦労しました)

この記事を書く前にgitでcheckoutでpermission deniedが出る問題を書きました.
これはこれでうまくいったのですが,Ubuntuを閉じてしまうとパーミッションが初期パーミッションに変わってしまいとても不便でした.

なので,おおもとの設定を変更する必要があります.

※筆者はLinux初心者なので間違いがあったらすみません.

環境

今回の実行環境は以下の通りです.
OS:Windows 10
PC: HP HP Spectre x360
WSL(Windows Subsystem for Linux), Ubuntu

Windows on Linux(WSL)の初期設定を変更する.

まず,問題を確認してみます.以下のようにコマンドを打ちます.

$ ls -la

すると,画像のようになります.赤枠部分が初期パーミッション変更前につくったフォルダです.「rwxrwxrwx」というようにパーミッションが「777」と「全てのユーザーからの書き込みや削除を許可する」というようになっています.

problem.png

このパーミッションだとGitを使うときにひっかかったので変更します.
通常,Linuxのパーミッションでは
- ディレクトリは755
- ファイルは644
が基本となるので,そのように変更します.

新規作成されるファイルやディレクトリのパーミッションを制御するのが「umask」というコマンドです.これを以下のようにコマンドを打ちます.
下記の意味は,
[現在のパーミッションの値]-[指定した数値]
を表します.
なので初期パーミッションが777と設定されいれば
777 - 022 = 755
また666なら
666 - 022 = 644
となります.

$ umask 022

このコマンドをうったあとにmkdirで新規フォルダやファイルを作成すると初期パーミッションが777なら755というように変更されているはずです.

しかし,ただコマンドを打つだけだと,ubuntuを再起動したときにまた先ほどのコマンドを打つ必要があるので,そうならないように設定を変更します.
Linuxを導入したときに.profileという環境変数を読み込むファイルができます.

そのファイルの最後の行に

umask 022

と記述すると,ubuntuが起動するたびにパーミッションの値が変更されるようになります.

なので,今回はnano editorを使ってコマンドライン上から.profileを編集しました.nano editorのインストールの仕方や使い方はこちらのHPが参考になるかと思います.

以下のようにして.profileを開き,

$ nano .profile

画像のように「umask 022」を追加します.そしてファイルを保存すれば設定変更は終了です.
nano.png

それでは,ubuntuを再起動したあとmkdirでファイルやフォルダをつくってみましょう.
すると上手くパーミッションが755と変更されているので成功です!

after.png

おわりに

初心者なのでLinux大変ですが,なかなか面白いものです.
参考程度に参考にしてください.

22
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
17