すべての権限を持つmkfifoはまだエラーが発生し、他のユーザーに対する権限は拒否されました。

すべての権限を持つmkfifoはまだエラーが発生し、他のユーザーに対する権限は拒否されました。

Ubuntu 20.04

fifoパイプはユーザーのbashスクリプトによって生成されますA[[ ! -p $fifopath ]] && mkfifo $fifopath -m0777

これにより、次のようになります。prwxrwxrwx 1 A A 0 May 25 00:40 /tmp/somefifo

その後、ユーザーがBFIFOに書き込もうとすると、権限が拒否されます。 fifoのグループをユーザーBのグループに変更しても、権限はまだ拒否されます。所有者をFIFOに変更したり、FIFOに書き込める場合にのみB可能ですrootB

18.04 アップデート後の問題

この問題を解決する方法についてのアイデアはありますか?

答え1

今回のパッチ(Ubuntu 19.10に導入された可能性がありますか?):

グローバルに書き込み可能な固定ディレクトリでユーザーが所有していないFIFOまたは一般ファイルを開くことは、所有者がディレクトリの所有者と同じか、ファイルがO_CREATフラグなしで開かない限り禁止されます。

無効にするには、次の手順を実行しました。詳しくはこちら:

/etc/sysctl.d/protect-links.confコンテンツを使用して作成:

fs.protected_fifos = 0

その後、procpsを再起動します。

sudo systemctl restart procps.service

関連情報