問題タブ [file-ownership]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
198 参照

linux - 混乱: ファイルの所有権が setuid 特別許可フラグで変更されました

setuid を有効にしたファイル許可( rws )。

ファイルの所有者: vaisakh

別のユーザーに切り替える var23

権限の再確認

var23でも実行可能

書き込み権限を確認しています。

注: vaisakh (所有者) のみが書き込み権限を持っています

ただし、s(setuid) が有効になっているため、ファイルは所有者 (vaisakh) の許可 (rws) で実行されます。

「var23」がファイルに書き込むことを許可することを意味します

var23 がファイルを編集した後、ファイルのアクセス許可を再度確認します。

ファイルの内容 vaisakh.sh。

質問:

  1. 所有権がvaisakh -> var23 (パーミッションがrws -> rwx )から変更される理由を理解できませんでしたか?
  2. setuid (所有者以外のユーザーが所有者のアクセス許可を継承できるようにする) を使用するために、ファイルが必要とする最小限のアクセス許可は何ですか? 読み取り実行(r_x) !
  3. setuidは実行フラグにのみ適用されますか?

    例:- 実際のファイル許可が4711の場合、所有者以外のユーザーはそれを読み取ることができません。所有者のアクセス許可 4711 を昇格させず、他のユーザーがコンテンツを読み取れるようにしないのはなぜですか。

0 投票する
1 に答える
927 参照

wordpress - Docker 名前付きボリュームのファイル所有権

Docker コンテナーで WordPress を実行しようとすると、フォルダーの所有権の問題が発生します。のようなフォルダーはルートによって所有されwp-contentthemesいるため、Web インターフェイスからテーマやプラグインをインストールできません。

目標

  • Docker で WordPress を実行します。
  • git リポジトリ (私たちが所有) からテーマを取得します。
  • 公式の Docker イメージから WP-CLI を実行できる ( wordpress:cli)。
  • Web インターフェイスからテーマとプラグインをインストールできる。
  • 下にあるすべてのファイルとフォルダーを(uid 33)/var/www/htmlが所有するようにします。www-data

スペック

  • Docker バージョン 18.09.5、ビルド e8ff056
  • docker-compose バージョン 1.24.0、ビルド 0aa59064
  • サービスごとに単一のコンテナ インスタンス - kubernetes、swarm、stack などはありません。
  • じぶんのdocker-compose.yml
  • dockerfile(gitリポジトリからコピー):

FROM wordpress:5

COPY --chown=33 ./ /var/www/html/wp-content/themes/theme/

ボリューム

dockerfile でボリュームを宣言しません。上記の 2 行だけで、他には何もありません。実際、このイメージは、フォルダーを WordPress イメージにコピーするためだけに存在します。ただし、WordPress イメージ (私のイメージの派生元) は、dockerfile でボリュームを宣言しています。

docker-compose ファイルでボリュームを宣言していますが、それらを省略しても問題は解決しません

結果

ファイルとフォルダの所有権...


アップデート

Docker ビルドのステップでいくつかの問題が発生してCOPYいますが、何が原因かわかりません。

に変更dockerfileしました

アルパインからビルドする場合、uid33が所有者です。

最初の行を に変更しますFROM wordpressrootは所有者です:


必要な結果 (つまり、(uid 33)/var/www/html/wp-content/themes/theme/が所有するすべてのファイルとフォルダーのテーマ ファイル) を取得するにはどうすればよいですか?www-data