Linuxディレクトリ作成のエラー


2

完全な権限を持つディレクトリを作成したい(これは「サブフォルダ」にも適用されます)。私は次のコマンドを使用しています:

 sudo chmod 777 -R /opt/www

既存のフォルダーとサブフォルダーのみにアクセス許可を設定します。新しいファイルやフォルダーにも同じコマンドを何度も入力する必要がないように、新しいファイル/フォルダーにも適用できるようにしたいと思います。完全な構文を教えてください。


1
chmod 777は、99.99%のシナリオで間違っています。そしてもちろん、ワード書き込み可能なディレクトリでサイトをホストするのは間違っています。また、技術的な質問で「親切」という言葉を取り除いてみてください。多くの人が「安いインド/ codezを送ってください」と考えて無視します。
vtest

@vtestは、特に本番環境で777を使用することはめったにありません。
ラマーB

回答:


3

umask設定をチェックアウトします。コマンド「umask」を使用して1回設定できますが、永続的に保持する場合は、.bashrc、.profile、...などに使用する必要があります。

PAMログイン手法の設定もあります。(/etc/pam.d)

たとえば/etc/pam.d/common-sessionにあります:

optional                        pam_umask.so umask=002

しかし、それは本当に詳細になりつつあります。あなたのシステムについてもっと知る必要があります。

「ローカル」umaskを取得するために、このデバイスのumaskのみを変更するマウントオプションumaskもあります。ただし、これはFATなどの特定のファイルシステムにのみ当てはまります。

umsakとアクセス権について:vtestが指摘したように、777はアクセス権に適した選択肢ではなく、通常は必要ありません。umask 002を使用すると、グループは書き込み許可を取得します。これを行う理由は、dirを指定できるようになったためです。任意のグループ所有権であり、その権利を2775(つまり、rwxrsxr-x)に設定します。group-s(または2000)は、それぞれがファイルまたはディレクトリを作成したことを意味します。再びこのグループに属するので、そのグループの全員が書き込み可能になります)。


umaskは、ディレクトリごとではなく、システム全体(PAM)またはユーザー全体(.profile)の設定であることに注意してください。OPで動作する可能性がありますが、彼が1つのディレクトリについて書いたように、おそらく動作しません。
チトン

右。しかし、それはトレードです。「グローバル」に実行するか、より複雑でコンパチブルではない(=従来の)ACLを使用します。lokal umaskはありません。(マウントの例外を除いて、投稿に編集しました)
ニコデマスRIP

1

ファイルのアクセス制御リスト(FACLs)あなたの友達です:man getfacl


1

できません。LinuxのPOSIXファイル許可は継承できません。それらは作成プロセスとumaskによって与えられます。

本当に必死なら、ディレクトリを監視し、それに応じてファイルのパーミッションを設定するデーモンプロセスを書きます。もちろん、これは、デーモンが十分なアクセス権で、たとえばrootとして実行されることを意味します。

それ以外の場合はできます

setfacl -d -m u::rwX,g::rwX,o::- /path/to/parent

ただし、アクセス許可はPOSIXではなくなります。


* nixのファイル許可は、スティッキービットを設定することで半継承できます。親のグループ所有権を設定すると、そのグループのメンバーが新しく作成されたすべてのファイルにこのグループを使用する場合、子は継承します。
ラマーB

0

webadminなどのグループを作成し、このグループへのアクセスが必要なすべてのユーザーを追加します。/ opt / wwwディレクトリのディレクトリ権限をスティッキグループR / Wに設定し、グループをwebadminに設定します。これにより、すべての新しいファイルがグループwebadminとして作成され、グループに対して読み取りおよび書き込みが行われるように設定されます。必要なアカウントはすべてwebadminのメンバーであり、ファイルにアクセスできるためです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.