問題タブ [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.
linux - 混乱: ファイルの所有権が setuid 特別許可フラグで変更されました
setuid を有効にしたファイル許可( rws )。
ファイルの所有者: vaisakh
別のユーザーに切り替える var23
権限の再確認
var23でも実行可能
書き込み権限を確認しています。
注: vaisakh (所有者) のみが書き込み権限を持っています。
ただし、s(setuid) が有効になっているため、ファイルは所有者 (vaisakh) の許可 (rws) で実行されます。
( 「var23」がファイルに書き込むことを許可することを意味します )
var23 がファイルを編集した後、ファイルのアクセス許可を再度確認します。
ファイルの内容 vaisakh.sh。
質問:
- 所有権がvaisakh -> var23 (パーミッションがrws -> rwx )から変更される理由を理解できませんでしたか?
- setuid (所有者以外のユーザーが所有者のアクセス許可を継承できるようにする) を使用するために、ファイルが必要とする最小限のアクセス許可は何ですか? 読み取り実行(r_x) !
setuidは実行フラグにのみ適用されますか?
例:- 実際のファイル許可が4711の場合、所有者以外のユーザーはそれを読み取ることができません。所有者のアクセス許可 4711 を昇格させず、他のユーザーがコンテンツを読み取れるようにしないのはなぜですか。
wordpress - Docker 名前付きボリュームのファイル所有権
Docker コンテナーで WordPress を実行しようとすると、フォルダーの所有権の問題が発生します。のようなフォルダーはルートによって所有されwp-content
てthemes
いるため、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 wordpress
。今root
は所有者です:
必要な結果 (つまり、(uid 33)/var/www/html/wp-content/themes/theme/
が所有するすべてのファイルとフォルダーのテーマ ファイル) を取得するにはどうすればよいですか?www-data