This article is from the Frequently Asked Questions for Linux, the Free/Open Source UNIX-like operating system kernel that runs on many modern computer systems. Maintained by David C. Merrill with numerous contributions by others. (v1.0).
A: One or more of the file's or directory's attribute bits are set incorrectly. If the I bit is set, for example, you won't be able to change file permissions with chmod.
The solution is to use lsattr to display file and directory attributes, and chattr to set and unset them. The programs' documentation is contained in their manual pages.