第 9 章 ROOT パスワードの変更およびリセット
9.3. 起動時の ROOT パスワードのリセット
10.1.3. シェルで umask の管理
bash、ksh、zsh、tcsh などのよく使用されるシェルでは、umask は、umask シェルの builtin を使 用して管理されます。シェルから起動したプロセスは、その umask を継承します。
10.1.3.1. 8 進法で現在のマスクの表示進法で現在のマスクの表示
現在の umask を 8 進法で表示するには、以下の手順を行います。
手順 手順
次のコマンドを実行します。
$ umask 0022
10.1.3.2. シンボリック表記での現在のマスクの表示シンボリック表記での現在のマスクの表示
現在の umask をシンボリック表示で表示するには、以下の手順を行います。
手順 手順
次のコマンドを実行します。
$ umask -S u=rwx,g=rx,o=rx
10.1.3.3. シェルでシェルで umask とと 8 進法を使用してマスクを設定進法を使用してマスクを設定
8 進法を使用して、現在のシェルセッションに umask を設定するには、次のコマンドを実行します。
手順 手順
次のコマンドを実行します。
$ umask octal_mask
octal_mask を、0 から 7 の 4 桁以下の数値に置き換えます。3 桁以下の数値を指定すると、頭に 0 が 付いた 4 桁の数値として権限が設定されます。たとえば、入力したコマンドが umask 7 であれば、そ のコマンドの数値は 0007 として解釈されます。
例
例10.1 8 進法で進法で umask の設定の設定
新しいファイルで、オーナーとグループに書き込み権限と実行権限を持たせず、その他のユーザー にはいかなる権限も持たせないようにするには、以下を実行します。
$ umask 0337 または
$ umask 337
10.1.3.4. シェルでシェルで umask とシンボリック表記を使用してマスクの設定とシンボリック表記を使用してマスクの設定
シンボリック表記法を使用して、現在のシェルセッションに umask を設定するには、以下の手順を行 います。
手順 手順
次のコマンドを実行します。
$ umask -S symbolic_mask
例
例10.2 シンボリック表記法でシンボリック表記法で umask の設定の設定
シンボリック表記法を使用して umask 0337 を設定するには、次のコマンドを実行します。
$ umask -S u=r,g=r,o=
10.1.3.5. デフォルトシェルのデフォルトシェルの umask での作業での作業
シェルには、通常、デフォルトの umask が設定されている構成ファイルがあります。bash のデフォル トの設定ファイルは /etc/bashrc です。
本セクションでは、デフォルトの bash umask を表示し、変更する方法、および特定のユーザーに対し てこれを行う方法を説明します。
10.1.3.5.1. デフォルトのデフォルトの bash umask の表示の表示
デフォルトの bash umask を表示するには、以下の手順を行います。
手順 手順
次のコマンドを実行します。
$ grep -i -B 1 umask /etc/bashrc
出力では、umask の設定が、umask コマンドまたは UMASK 変数のいずれかを使用して行わ れていることが示されます。この例では、umask コマンドを使用して、umask を 022 に設定 します。
grep -i -B 1 umask /etc/bashrc
# By default, we want umask to get set. This sets it for non-login shell. — if [ $UID -gt 199 ] && [ 「id -gn」 = 「id -un」 ]; then
umask 002 else
umask 022
10.1.3.5.2. デフォルトのデフォルトの bash umask の変更の変更
bashのデフォルト umask を変更するには、以下の手順を行います。
手順 手順
umask コマンドの呼び出し、または /etc/bashrc への UMASK 変数の割り当てを、umask に 必要な値に変更します。この例では、デフォルトの umask を 0227 に変更します。
if [ $UID -gt 199 ] && [ 「id -gn」 = 「id -un」 ]; then umask 002
else
umask 227
10.1.3.5.3. 特定ユーザーのデフォルトの特定ユーザーのデフォルトの bash umask の変更の変更
デフォルトでは、新規ユーザーのデフォルトの bash の umask は、/etc/bashrc に定義したものに設定 されます。
特定ユーザーの bash umask を変更するには、以下の手順に従います。
手順 手順
そのユーザーの $HOME/.bashrc ファイルで、umask コマンドへの呼び出しを追加します。た とえば、ユーザー john の bash の umask を 0227 に変更するには、次のコマンドを実行しま す。
john@server ~]$ echo 'umask 227' >> /home/john/.bashrc
10.1.3.6. 新規作成されたホームディレクトリーのデフォルト権限設定新規作成されたホームディレクトリーのデフォルト権限設定
ユーザーのホームディレクトリーの作成に使用するパーミッションを変更するには、以下の手順に従い ます。
手順 手順
/etc/login.defs ファイルで UMASK 変数を変更します。
# The permission mask is initialized to this value. If not specified,
# the permission mask will be initialized to 022.
UMASK 077
master.adoc - include::assemblies/assembly_managing-the-umask.adoc[leveloffset=+1] に解決されてい ないディレクティブ
Unresolved directive in master.adoc - include::assemblies/assembly_managing-access-control-list.adoc[leveloffset=+1]