私はRHELを初めて使用するときにディレクトリコレクションを公開するのに問題があります。
Pythonスクリプトでコンテンツが作成されるフォルダがあります。サブフォルダはしばらく存在してから削除されます。このフォルダはもともと1人のユーザーが読み書きできるようにブロックされていましたが、最近は誰でもこのフォルダにアクセスできるようにする必要がありました。 -R(再帰オプション)を使用してフォルダからunmaskコマンドを実行して、すべてのサブフォルダとファイルのマスクを解除します。新しいコンテンツが作成され、BAMに同じ問題が発生し、フォルダとファイルがブロックされるまで機能するようです。
フォルダ内のすべてのサブフォルダとファイルを永久にブロック解除するには?作成/読み取り/書き込みアクセス権を持つすべての人がこのファイルにアクセスできるようにする必要があります。
ベストアンサー1
ファイルの作成プロセスが問題です。プロセス/プログラムは、umask
ファイルの作成時に新しく作成されたファイルが特定のファイルを使用するように指定されたファイルを使用して実行されますumask
。デフォルトでは3つのオプションがあります。
プロセスのumaskを修正
プロセス(Webサーバー)によっては、これは目的の作業ではない可能性があります。
グループを追加
Webサーバーに関して誰もがアクセスする必要がある場合は、Unixグループ(Webデータ)を作成する方が使いやすいアプローチです。次に、ネットワークデータグループのメンバーがそのディレクトリを所有/アクセスできるように、関連ディレクトリの最上位グループを変更します。
その後、同様のコマンドを実行してディレクトリ内のグループWebデータを生成し、作成されたすべての新しいファイル/フォルダがグループをデフォルトのグループとして使用するようにグループを固定します。
$ chgrp web-data /path/to/dir $ find /path/to/dir -type d -exec chmod g+xs {} +
最後に、Webサーバーのユーザー(apache)とディレクトリにアクセスする必要がある他のユーザーをこのグループに追加します。
ACL(アクセス制御リスト)の使用
これらのツールを使用して、特定のディレクトリまたはファイルのACLを操作
setfacl
できます。getfacl
はい
rootユーザーとして:
$ mkdir somedir $ getfacl somedir # file: somedir # owner: root # group: root user::rwx group::r-x other::r-x
次に、
sam
ディレクトリにユーザーアクセスを追加します。$ setfacl -Rm u:sam:r-x,d:sam:r-x somedir getfacl somedir/ # file: somedir # owner: root # group: root user::rwx user:sam:r-x group::r-x mask::r-x other::r-x default:user::rwx default:user:sam:r-x default:group::r-x default:mask::r-x default:other::r-x
sam
今作成された後続のすべてのディレクトリおよび/またはファイルには、ユーザーがアクセスできるようにそのディレクトリが設定されます。$ mkdir anotherdir $ echo "hello world" > anotherfile
権限の確認:
$ getfacl another* # file: anotherdir # owner: root # group: root user::rwx user:sam:r-x group::r-x mask::r-x other::r-x default:user::rwx default:user:sam:r-x default:group::r-x default:mask::r-x default:other::r-x # file: anotherfile # owner: root # group: root user::rw- user:sam:r-x #effective:r-- group::r-x #effective:r-- mask::r-- other::r--
今ユーザーとして
sam
:$ more anotherfile hello world
他のユーザーに同様のアクセス権が必要な場合は、
setfacl
代わりにそのユーザーのユーザー名を使用してコマンドを再実行してくださいsam
。上記の方法を変更して、単一ユーザーではなくユーザーグループにアクセス権を付与できます。