これは、ディレクトリuser
に対する権限が正しく設定されていると仮定します。このディレクトリに対する権限が0の場合、group
このディレクトリのファイルとサブディレクトリへの効果的なアクセス制御を提供しますか?other
考慮すべき問題がありますか?
他の人が利用可能なファイルを作成するとrw
(Unixドメインソケットを使用するなど)、悪意のあるユーザーがそのファイルに適切な権限が適用される前に競合状態を利用できるため、人々はこれをセキュリティ上の問題と見なします。そのため、基本的な権限を実行する「原子的」方法を探しています。
答え1
「その他」権限の3ビットが000(2進数)または0(8進数、chmodに数字で入力されたベース)、またはに表示されている場合、すべての---
アクセスは拒否されますls -l
。 「すべてのアクセス」はファイルに関連しています。ファイルがあるディレクトリへのアクセスを許可すると、そのファイルの存在を確認できます。chmod o-rwx filename
グループのメンバーと所有者の権限を変更せずに、他のユーザーの権限を取り消すことができます。
権限をアトミックに設定するには、システムコールを使用してランチャーをバインドするときにプログラミングレベルで実行できます。それ以外の場合、umaskはumask
シェルによって開始されたプロセスによって継承されるシェルコマンドを使用してシェルプロセスに設定されます。 umaskのビットは次のとおりです。存在する生成されたファイルの対応するビットは0になります。これはあなたが探している原子的な方法であり、悪用される機会を残しません。 022のumaskは通常ファイルに644()権限を付与しrw-r--r--
、ディレクトリに755()権限を付与しますrwxr-xr-x
。 umask 027は640(rw-r-----
)および750()権限を付与しますrwxr-x---
。
答え2
ファイルにアクセスするには、その上のディレクトリにアクセスする必要があります。前述のようにディレクトリへのアクセスを無効にすると、ファイルは保護されます。ユーザーがディレクトリにアクセスできる場合は、ファイルの内容にアクセスできなくてもファイルを表示できます。
アクセスビット:
x
ディレクトリの内容へのアクセスを許可します。r
ディレクトリの内容のリストを受け入れます。w
ディレクトリの内容を変更できます。
同じディスク上の複数のディレクトリにある同じファイルをリンクできます。すべてのディレクトリが保護されていることを確認する必要があります。
他のユーザーのアクセス権を削除しても、ユーザーとディレクトリグループのメンバーへのアクセスは引き続き許可されます。