’, Â, � etc... How to fix strange encoding characters in WP or other SQL database
目次:
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-022777 - 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
してください。