Linuxコマンド umask(ファイル作成時の所有権のマスク値の表示・変更)

Linux記事 Linux
この記事は約3分で読めます。

新しくファイル・ディレクトリを作成時点に設定されるマスク値を表示・変更するコマンドについて解説。

RHEL Fedora CentOS Vine Deblan Ubuntu Plamo

参考サイト:Man page of INSTALL

スポンサーリンク

使用方法

umaskコマンドを使用して、ファイルやディレクトリのユーザー所有者及びグループ所有者を変更できます。マスクの値は4桁の8進数値で、ファイルは666(0666)からマスク値を、ディレクトリは777(0777)からマスク値を引いた値がデフォルトのアクセス権として適用されます。コマンドのみの場合は、現在のマスク値が表示されます。

デフォルトの「022」以外を標準umask値にするには、シェル起動ファイル(.bashrc)などに記述します。また、親プロセスでumask値を持っている場合は、子プロセスでumask値が引き継がれます。

書式

$ chown [オプション] [umask値]
-pumask値を数値で表示する。umask値を指定した場合は設定する。
-Sumask値を文字で表示する。umask値を指定した場合は設定する。
オプション一覧表
デフォルトのマスク値

/etc/profileで設定されている。

サンプル:現在のマスク値

現在のマスク値が0002であるため、ファイルであれば「0666-0002=0664」となり、ディレクトリであれば「0777-0002=0755」がデフォルトのアクセス権となります。

$ umask

実行結果

[centos@xxx ~]$ umask
0002
[centos@xxx ~]$ 

サンプル:マスク値の設定

マスク値を0028に設定する。マスク値が0028に設定されるとファイルであれば「0666-0028=0640」(rw-r—–)、ディレクトリは「0777-0028=0750」(rwxr-x—)となる。

$ umask 0028

実行結果

[centos@xxx work]$ umask
0002
[centos@xxx work]$ umask 0027
[centos@xxx work]$ umask
0027
[centos@xxx work]$ mkdir sample
[centos@xxx work]$ ls -l
total 0
drwxr-x--- 2 centos centos  6 Apr 23 22:01 sample #アクセス権がrwxr-x---となる。

[centos@xxx work]$ 

umaskモードを文字形式で表示する

-Sオプションを使用することで、文字形式で表示することができる。

$ umask -S
u=rwx,g=rwx,o=rx

.bashrcに追加する

/etc/skel/.bashrcに追加するとユーザを追加するたびに設定する手間が省ける。

$ tail -l /etc/skel/.bashrc
umask 002

コメント

タイトルとURLをコピーしました