...or it could be the filesystem itself. To see if you have any readonly filesystems mounted, try this command:
mount |grep '(.*ro.*)'
If you have a readonly-mounted device on which you wish to modify a file, you can remount it readwrite like this:
mount -o remount,rw /mount/point
Of course, this won't work if the readonly-ness of it is from the filesystem type (e.g. a CDROM or a squashfs filesystem image).