chmod:「***」の権限の変更:操作は許可されていません



Chmod Changing Permissions



からの転送: https://www.cnblogs.com/cpl9412290130/p/11592803.html

1.問題の説明

ご存知のとおり、Linuxシステムでは、最大の権限はrootですが、システム自体の主要な権限の変更を伴うすべての操作には、root権限が必要です。しかし、rootができないことが時々あります。



といった:

chmod: changing permissions of 'authorized_keys': Operation not permitted

第二に、問題の背景

ファイルのアクセス許可を変更する必要がある場合もありますが、rootでchmodコマンドを使用しても、ファイルが正常に変更されない場合があり、操作が許可されないという問題が発生する場合があります。



一般に、Linuxでのrootユーザーのアクセス許可が最大です(LinuxでのUID値が低いほど、アクセス許可が大きくなり、最小値が0(rootユーザー)であることがわかります)

ただし、chmodを使用してファイルのアクセス許可を変更すると、rootユーザーでも、操作が許可されないという問題が発生します。

実際、chmodの基本的な実装は次のとおりです。 chattr コマンド、このコマンドを使用する機能はより強力であり、rootユーザーでさえこのファイルを操作できない場合でもファイルをロックすることさえできます。



第三に、解決策

lsattr ファイル属性の表示に使用できます。

lsattr filename

ファイル属性にiまたはaがある場合、またはそれらの1つがある場合

使える chattr この属性を削除します:

chattr -ia filename

このとき、chmodコマンドを再度使用してファイルのアクセス許可を変更してください。

この方法はファイルディレクトリにも適用できますが、lsattrコマンドを使用して属性を表示するとファイルディレクトリは応答しませんが、chattrコマンドを使用してia属性を削除した後、chmodを使用して権限を正常に変更できます。

ia属性を復元する場合は、次を使用します。

chattr +ia filename

ただ〜