ルートはchmodできませんか?


12

私の部署には、CentOSとsambaを備えた小さなファイルサーバーがあります。基本的なメンテナンスを実行できるルートアクセス権があります。

今日、いくつかのフォルダーを読み取り専用にしていたので、先に進んでを実行しましたchmod -R -w some-folder/が、いくつかのファイルについては応答がありました:

chmod:./somefile.pdf:新しいパーミッションはr-xr-xr-xではなくr-xrwxr-xです

追加した後、-v私は多くの情報を取得しません。

`./somefile.pdf 'のモードは0575(r-xrwxr-x)として保持されます

念のため次のことを試しました。

# touch test-file
# chmod -v -R -w .
mode of `./somefile.pdf' retained as 0575 (r-xrwxr-x)
chmod: ./somefile.pdf: new permissions are r-xrwxr-x, not r-xr-xr-x
mode of `./test-file' changed to 0444 (r--r--r--)

rootがchmodを実行できない理由は考えられませんか?

いくつかのヒント:

  • ファイルシステムは読み取り専用ではありません一部のファイルのみがchmoddedを拒否しました)。
  • ルートとして chmodコマンドを実行しましたが、効果はありませんでした。
  • ファイルが存在するパーティションはext4です。

更新:これは、lsattrファイルおよびフォルダーを含む上での出力です。

# lsattr somefile.pdf
-------------e- somefile.pdf
# lsattr ..
-------------e- ../myfolder

setuidがありません(ls -la):

dr-xr-xr-x  2 userxyz abc   4096 May 30 09:29 .
dr-xr-xr-x 17 userxyz abc   4096 Sep 19  2013 ..
-r-xrwxr-x  1 userxyz abc 275150 Aug  6  2013 somefile.pdf

このファイルにリモートでアクセスしていますか?
ルチアーノアンドレスマティーニ

1
lsattr同じファイルとその上のディレクトリの出力は何ですか?
ライダー

回答:


17

ソースによると、あなたは素朴な予想モードを持っています。もっと溝を掘った後、私は原因が-wオプションであると思う、それはあなたが期待しているものではない。g-wまたはugo-w(あなたのニーズに応じて)与える必要があります。

明示的なターゲット(a、o、g、u)を指定しないと、umask値に応じて、予期しない結果が生じる可能性があります。このような予期せぬ変更のために、このような余分なメッセージが行われたと思います。

編集:http ://git.savannah.gnu.org/cgit/coreutils.git/tree/src/chmod.c#n301のソース

Googleキャッシュから取得された、そのコードにはもう存在しないコメント:

/ * trueの場合、「chmod -r file」のような単純な誤用による驚きを診断します。POSIXでは、ポータブルコードを使用することになっているため、ここで診断を行うことができます。「chmod--rファイル」* /


はい、これで終わりです。私はそれを変更しましたがugo-w、それはもう文句を言いません。回答者になる可能性のある人からの礼儀を受け入れる前に、しばらく待ちます。
ロフロ

1
また chmodがこの奇妙な方法で機能する理由がまだ理解されていないため、編集またはより良い回答を歓迎します。
ジャコモカテナッツィ

5
man chmod:「ugoaの文字の組み合わせは、ファイルへのユーザーアクセスを変更するかを制御しますumaskは影響を受けません。」したがって、chmod + w fileなどの操作を実行し、新しいファイルを作成するときにそれを取得するユーザーにのみ書き込みアクセス権を付与できます。ただし、ネガティブな振る舞いは少しわかりにくいので、警告は良いアイデアのようです。
イルッカチュ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.