UNIX系のパーミッション設定

macLinuxパーミッションの設定方法をなんとなくしかわかっていなかったのでまとめました.

 

パーミッションの確認方法

$ ls -l

lsコマンドのオプションでパーミッションがどんな状態になっているか確認できます.

実際にコマンドを実行してみると下のような感じになります.

drwx------@ 63 user  staff  2016  3 26 13:19 Dropbox
drwxr-xr-x  14 user  staff   448  5 20 13:13 Git
drwx------ 69 user  staff  2208  5  8 22:25 Library

これによりファイルやフォルダに関してのパーミッションが分かります.

パーミッションの見方は次のようになります.

f:id:shsm385:20180521201750p:plain

そのため, 図の例ですとGitというディレクトリはユーザのアクセス権としては読み込み可能, 書き込み可能, 実行可能の権限を持ち, グループからのアクセス権としては読み込み可能, 実行可能を持ち, その他からはアクセス権として読み込み可能と実行可能といった状態になっていることがわかります.

パーミッションの変更

パーミッションの変更はchmodコマンドを使って変更を行います.

コマンド名はchange modeの略です.

変更の仕方は2通りあります.

種別等をしていする方法

次のように行います

# ファイル作成
$ touch sample
# パーミッションの確認
$ ls -l sample
-rw-r--r--  1 user  staff  0  5 21 20:28 sample
# パーミッションの変更
$ chmod u+x,g+wx,o=u sample
$ ls -l sample
-rwxrwxrwx  1 user  staff  0  5 21 20:28 sample

chmod コマンドは chmod モード ファイル名とすることで実行できます.

モードは複数 , で区切って指定できます.

f:id:shsm385:20180521204219p:plain

数字で指定する方法

こちらのほうが使っているかたが多いと思いますが次のようになります.

# パーミッションの確認
$ ls -l sample
-rwxrwxrwx  1 user  staff  0  5 21 20:28 sample
# パーミッションの変更
$ chmod 755 sample
$ ls -l sample
-rwxr-xr-x  1 user  staff  0  5 21 20:28 sample

数字の3桁はそれぞれユーザ, グループ, その他の順で表されます.

・読み込みを4

・書き込みを2

・実行を1

という数字で表し, それぞれ与えたい権限の数字を足したものをモードとして指定してあげます.

なので, 755ならば7ですべての権限を5で読み込みと実行の権限を与えることになります.

 

先輩から効いたのですが, 数字で指定するやり方は割りと古いそうで最近では種別等を指定することが多いみたいです. (数字のほうをよくつかっていたのでびっくり.)

 

もうちょっとブログを書く頻度を上げたい.....

nodebrewでnode.jsの管理

新しいPCでnode.jsを入れ直した際のメモ

nodebrewのインストール

Homebrew経由でnodebrewをインストールしてsetup

$ brew install nodebrew
$ nodebrew setup
You need to manually run setup_dirs to create directories required by nodebrew:
  /usr/local/opt/nodebrew/bin/nodebrew setup_dirs

Add path:
  export PATH=$HOME/.nodebrew/current/bin:$PATH

To use Homebrew's directories rather than ~/.nodebrew add to your profile:
  export NODEBREW_ROOT=/usr/local/var/nodebrew

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions have been installed to:
  /usr/local/share/zsh/site-functions

 コメントに書かれてる通りに実行してからPATHを通します.

// 実行
$ /usr/local/opt/nodebrew/bin/nodebrew setup_dirs

// pathの追加
$ echo "export PATH=$HOME/.nodebrew/current/bin:$PATH" >> ~/.bash_profile
$ echo "export NODEBREW_ROOT=/usr/local/var/nodebrew" >> ~/.bash_profile 

// .bash_profileの実行
$ source ~/.bash_profile

nodebrewを使う

nodebrewでよく使うコマンドを載せます.

$ nodebrew ls-all // インストールできるバージョンの確認
$ nodebrew install-binary // インストール
$ nodebrew list     // インストールしたバージョンの確認
$ nodebrew use  // バージョンの切り替え

nodebrew install コマンドでもインストールできますが基本的にnodebrew install-binaryのほうで入れたほうがよいそうです.