RHEL - すべてのサブフォルダとファイルを永久にブロック解除

RHEL - すべてのサブフォルダとファイルを永久にブロック解除

私はRHELを初めて使用するときにディレクトリコレクションを公開するのに問題があります。

Pythonスクリプトでコンテンツが作成されるフォルダがあります。サブフォルダはしばらく存在してから削除されます。このフォルダはもともと1人のユーザーが読み書きできるようにブロックされていましたが、最近は誰でもこのフォルダにアクセスできるようにする必要がありました。 -R(再帰オプション)を使用してフォルダからunmaskコマンドを実行して、すべてのサブフォルダとファイルのマスクを解除します。新しいコンテンツが作成され、BAMに同じ問題が発生し、フォルダとファイルがブロックされるまで機能するようです。

フォルダ内のすべてのサブフォルダとファイルを永久にブロック解除するには?作成/読み取り/書き込みアクセス権を持つすべての人がこのファイルにアクセスできるようにする必要があります。

ベストアンサー1

ファイルの作成プロセスが問題です。プロセス/プログラムは、umaskファイルの作成時に新しく作成されたファイルが特定のファイルを使用するように指定されたファイルを使用して実行されますumask。デフォルトでは3つのオプションがあります。

  1. プロセスのumaskを修正

    プロセス(Webサーバー)によっては、これは目的の作業ではない可能性があります。

  2. グループを追加

    Webサーバーに関して誰もがアクセスする必要がある場合は、Unixグループ(Webデータ)を作成する方が使いやすいアプローチです。次に、ネットワークデータグループのメンバーがそのディレクトリを所有/アクセスできるように、関連ディレクトリの最上位グループを変更します。

    その後、同様のコマンドを実行してディレクトリ内のグループWebデータを生成し、作成されたすべての新しいファイル/フォルダがグループをデフォルトのグループとして使用するようにグループを固定します。

    $ chgrp web-data /path/to/dir
    $ find /path/to/dir -type d -exec chmod g+xs {} +
    

    最後に、Webサーバーのユーザー(apache)とディレクトリにアクセスする必要がある他のユーザーをこのグループに追加します。

  3. 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

    上記の方法を変更して、単一ユーザーではなくユーザーグループにアクセス権を付与できます。

引用する

おすすめ記事