新しいCentOS 8サーバーがあり、SSH経由でファイル/ディレクトリを作成できません。たとえば、サーバーがSSHに使用するユーザーとして、デフォルトの権限が755のディレクトリを作成できます。ただし、別のサーバーにあり、次のコマンドを使用すると、700 の権限を持つディレクトリが作成されます。
ssh user@newserver mkdir /home/user/testdir1
ファイルも同様です。サーバーでファイルを作成したユーザーは、644 権限を取得しました。 SSH経由でファイルを作成すると、600の権限が得られます。
ssh user@newserver touch /home/user/testfile1
私は何を見逃していますか?
答え1
新しいファイルを作成すると、デフォルトの権限は次のように設定されます。マスク問題のマシンで。ウマスクは8進数ユーザー(最も左の3桁)、グループ(中央の3桁)、およびその他(最後の3桁)の基本権限を決定するために0777(2進数0b111111111)から差し引いた数。たとえば、
$ umask
0002
$ touch first
$ mkdir first-dir
$ ls -l
total 4
-rw-rw-r-- 1 user group 0 Oct 31 09:55 first
drwxrwxr-x 2 user group 4096 Oct 31 09:55 first-dir
0002は0b000000010と同じで、ファイルとディレクトリの8番目のビット(他のユーザーが書き込むことができます)がクリアされていることがわかります。
また、ファイルは実行可能ビットを取得しませんが、ディレクトリから取得することがわかります。これは実用的な理由によるものです。内容を一覧表示するにはディレクトリが実行可能である必要がありますが、ほとんどのファイルはそうではありません。
man umask
詳細については、次を参照してください。バッシュ開始ファイルそのマシンでumaskがどこに設定されているかを確認してください。