アンドロイド

LinuxのUmaskコマンド

’, Â, � etc... How to fix strange encoding characters in WP or other SQL database

’, Â, � etc... How to fix strange encoding characters in WP or other SQL database

目次:

Anonim

LinuxおよびUnixオペレーティングシステムでは、すべての新しいファイルはデフォルトの権限セットで作成されます。 umask ユーティリティを使用すると、ファイルモード作成マスクを表示または設定できます。これにより、新しく作成されたファイルまたはディレクトリのアクセス許可ビットが決まります。

mkdir、touch、tee、および新しいファイルとディレクトリを作成するその他のコマンドで使用されます。

Linuxの許可

先に進む前に、Linuxの許可モデルについて簡単に説明しましょう。

Linuxでは、各ファイルは所有者とグループに関連付けられ、3つの異なるクラスのユーザーのアクセス許可アクセス権が割り当てられます。

  • ファイルowner.theグループmembers.everybodyその他。

各クラスに適用される3つの許可タイプがあります。

  • 読み取り許可、書き込み許可、実行許可。

この概念により、ファイルの読み取り、ファイルへの書き込み、またはファイルの実行を許可するユーザーを指定できます。

ファイルのアクセス許可を表示するには、 ls コマンドを使用します。

ls -l dirname

drwxr-xr-x 12 linuxize users 4.0K Apr 8 20:51 dirname | | | | | | | | | | | | +-----------> Group | | | | +-------------------> Owner | | | +----------------------------> Others Permissions | | +-------------------------------> Group Permissions | +----------------------------------> Owner Permissions +------------------------------------> File Type

最初の文字は、通常のファイル( - )、ディレクトリ( d )、シンボリックリンク( l )、またはその他の特別なタイプのファイルのファイルタイプを表します。

次の9文字は許可を表し、それぞれ3文字の3セットです。 最初のセットは所有者の許可を示し、2番目のセットはグループの許可を示し、最後のセットは他の全員の許可を示します。

8進値が 4 文字 r は読み取りを表し、 w は8進値が 2 を書き込み、 x は8進値が 1 を実行許可に、( - )が8進値が 0 を許可なしを表します。

他にも3つの特別なファイル許可タイプがあります: setuid setgid および Sticky Bit です。

上記の例( rwxr-xr-x )では、所有者に読み取り、書き込み、および実行の許可( rwx )があり、グループなどに読み取りおよび実行の許可があります。

数値表記を使用してファイルのアクセス許可を表す場合、 755 ます。

  • 所有者: rwx = 4+2+1 = 7 グループ: rx = 4+0+1 = 5 その他: rx = 4+0+1 = 5

数値表記で表される場合、許可には3桁または4桁の8進数(0〜7)を使用できます。 最初の数字は特別な許可を表し、省略されている場合はファイルに特別な許可が設定されていないことを意味します。 この場合、 755 0755 と同じ 0755 。 最初の桁は、 setuid 4 setgid 2 、および Sticky Bit 1 組み合わせです。

ファイルの許可は、 chmod コマンドを使用して変更でき、所有権は chown コマンドを使用して変更できます。

umaskを理解する

デフォルトでは、Linuxシステムのデフォルトの作成権限は、ファイルの場合は 666 で、ユーザー、グループなどに読み取りと書き込みの権限が付与され、ディレクトリの場合は 777 になります。つまり、ユーザー、グループ、その他。 Linuxでは、実行権限を持つファイルを作成できません。

デフォルトの作成許可は、 umask ユーティリティを使用して変更できます。

umask は、現在のシェル環境のみに影響します。 ほとんどのLinuxディストリビューションでは、デフォルトのシステム全体のumask値が pam_umask.so または /etc/profile ファイルに設定されています。

現在のマスク値を表示するには、引数なしで umask と入力します。

umask

出力には

022

umask 値には、新しく作成されたファイルとディレクトリに設定されない許可ビットが含まれます。

すでに述べたように、ファイルのデフォルトの作成権限は 666 で、ディレクトリのデフォルトの作成権限は 777 です。 新しいファイルの許可ビットを計算するには、デフォルト値からumask値を引きます。

たとえば、 uname 022 が新しく作成されたファイルとディレクトリに与える影響を計算するには、次を使用します。

  • ファイル: 666 - 022 = 644 。 所有者はファイルを読み取り、変更できます。 グループおよび他のユーザーはファイルのみを読み取ることができます。ディレクトリ:777-022 777 - 022 = 755 。所有者はディレクトリにcdして、ディレクトリ内のファイルの読み取り、変更、作成、または削除をリストできます。 グループおよびその他のユーザーは、ディレクトリに cd してファイルを一覧表示して読み取ることができます。

-S オプションを使用して、記号表記でマスク値を表示することもできます。

umask -S

u=rwx, g=rx, o=rx

数値表記とは異なり、シンボリック表記の値には、新しく作成されたファイルとディレクトリに設定される許可ビットが含まれます。

マスク値の設定

ファイル作成マスクは、8進表記または記号表記を使用して設定できます。 変更を永続的にするには、すべてのユーザーに影響する /etc/profile ファイル /etc/profile グローバル構成ファイル、または ~/.profile ~/.bashrc または ~/.zshrc などのユーザーのシェル構成ファイルに新しい umask 値を設定しますユーザーのみに影響します。 ユーザーファイルは、グローバルファイルよりも優先されます。

umask 値を変更する前に、新しい値が潜在的なセキュリティリスクを引き起こさないことを確認してください。 022 より制限の少ない値は、 022 注意して使用する必要があります。 たとえば、 umask 000 は、すべての新しく作成されたファイルに対する読み取り、書き込み、および実行の許可を誰でも持つことを意味します。

新しく作成されたファイルとディレクトリに対してより制限的なアクセス許可を設定して、他のユーザーがディレクトリに cd してファイルを読み取れないようにしたいとします。 必要なアクセス許可は、ディレクトリに対して 750 、ファイルに対して 640 です。

umask 値を計算するには、単にデフォルトのアクセス許可から目的のアクセス許可を引きます。

Umask値: 777-750 = 027

数値表記で表される目的の umask 値は 027 です。

システム全体で新しい値を永続的に設定するには、テキストエディターで /etc/profile ファイルを開きます。

sudo nano /etc/profile

ファイルの先頭で次の行を変更または追加します。

/ etc / profile

umask 027

変更を有効にするには、次の source コマンドを実行するか、ログアウトしてログインします。

source /etc/profile

新しい設定を確認するには、 mkdir を使用して1つの新しいファイルとディレクトリを作成し、 touch

mkdir newdir touch newfile

drwxr-x--- 2 linuxize users 4096 Jul 4 18:14 newdir -rw-r----- 1 linuxize users 0 Jul 4 18:14 newfile

ファイル作成マスクを設定するもう1つの方法は、記号表記を使用することです。 たとえば、 umask u=rwx, g=rx, o= umask 027 と同じです。

結論

このガイドでは、Linuxの許可と、 umask コマンドを使用して、新しく作成されたファイルまたはディレクトリの許可ビットを設定する方法について説明しました。

詳細については、端末で man umask してください。

umask端末