Platform: CentOS 6.2
Shell: tcsh
EDIT
Brian Swift has pointed out a workable solution. He points out that if the home directory is served via NFS, root
on a client may not have the same permissions. Logging in as root
on the NFS server, the folder delete without complaint. That still leaves me with some unanswered questions, though.
Background:
- I created this file as
root
appr. 2 years ago on the same client I tried the below commands on. - All other
root
folders created on that same client from that same time period (mid-2010) deleted without complaint.
Questions:
- What makes that folder a special snowflake versus the other client
root
created folders in my home dir? - Is there any way to check for deviant NFS permissions?
Again I owe Brian a big thanks for getting to the bottom of this, he is truly a super user!
ORIGINAL Question:
I'm lost as to what in the world is going on here... root
owns this locked directory (from a manual gcc-4.4.3
install) in my home directory. I change to root (su root
, also tried su
) and try to delete it and get permissions errors. I try to change the permissions, the operation is denied. I try to lsattr
/chattr
it and get ioctl errors in the terminal.
To be clear, I'm doing general cleanup on my home directory, and I've been able to remove any other files I've wanted just fine with some help from root
to hack through permissions barriers, etc. It's just this one folder that's giving grief.
Here's what I've tried....
COMMAND:
whoami
OUTPUT
root
COMMAND:
rm -rf gcc-4.4.3_objdir
OUTPUT
> gcc-4.4.3_objdir rm: cannot remove
> `gcc-4.4.3_objdir/config.status': Permission denied rm: cannot remove
> `gcc-4.4.3_objdir/x86_64-unknown-linux-gnu': Permission denied rm:
> cannot remove `gcc-4.4.3_objdir/intl/config.status': Permission denied
> rm: cannot remove `gcc-4.4.3_objdir/intl/config.intl': Permission
> denied rm: cannot remove `gcc-4.4.3_objdir/intl/config.cache':
> Permission denied rm: cannot remove `gcc-4.4.3_objdir/intl/Makefile':
> Permission denied rm: cannot remove
> `gcc-4.4.3_objdir/intl/config.log': Permission denied rm: cannot
> remove `gcc-4.4.3_objdir/intl/config.h': Permission denied rm: cannot
> remove `gcc-4.4.3_objdir/libdecnumber/decNumber.o': Permission denied
> rm: cannot remove `gcc-4.4.3_objdir/libdecnumber/gstdint.h':
> Permission denied rm: cannot remove
> `gcc-4.4.3_objdir/libdecnumber/config.status': Permission denied rm:
> cannot remove `gcc-4.4.3_objdir/libdecnumber/decimal128.o': Permission
> denied rm: cannot remove `gcc-4.4.3_objdir/libdecnumber/decimal32.o':
> Permission denied rm: cannot remove
> `gcc-4.4.3_objdir/libdecnumber/decContext.o': Permission denied rm:
> cannot remove `gcc-4.4.3_objdir/libdecnumber/bid2dpd_dpd2bid.o':
> Permission denied rm: cannot remove
> `gcc-4.4.3_objdir/libdecnumber/host-ieee64.o': Permission denied rm:
> cannot remove `gcc-4.4.3_objdir/libdecnumber/decimal64.o': Permission
> denied rm: cannot remove `gcc-4.4.3_objdir/libdecnumber/config.cache':
> Permission denied rm: cannot remove
> `gcc-4.4.3_objdir/libdecnumber/host-ieee32.o': Permission denied rm:
> cannot remove `gcc-4.4.3_objdir/libdecnumber/host-ieee128.o':
> Permission denied rm: cannot remove
> `gcc-4.4.3_objdir/libdecnumber/Makefile': Permission denied rm: cannot
> remove `gcc-4.4.3_objdir/libdecnumber/libdecnumber.a': Permission
> denied rm: cannot remove `gcc-4.4.3_objdir/libdecnumber/config.log':
> Permission denied rm: cannot remove
> `gcc-4.4.3_objdir/libdecnumber/stamp-h1': Permission denied rm: cannot
> remove `gcc-4.4.3_objdir/libdecnumber/config.h': Permission denied rm:
> cannot remove `gcc-4.4.3_objdir/gcc/build/errors.o': Permission denied
> rm: cannot remove `gcc-4.4.3_objdir/gcc/cstamp-h': Permission denied
> rm: cannot remove `gcc-4.4.3_objdir/gcc/objc': Permission denied rm:
> cannot remove `gcc-4.4.3_objdir/gcc/config.status': Permission denied
> rm: cannot remove `gcc-4.4.3_objdir/gcc/gthr-default.h': Permission
> denied rm: cannot remove `gcc-4.4.3_objdir/gcc/options.h': Permission
> denied rm: cannot remove `gcc-4.4.3_objdir/gcc/gccbug': Permission
> denied rm: cannot remove `gcc-4.4.3_objdir/gcc/ada/Makefile':
> Permission denied rm: cannot remove
> `gcc-4.4.3_objdir/gcc/ada/gcc-interface/Makefile': Permission denied
> rm: cannot remove `gcc-4.4.3_objdir/gcc/cs-bconfig.h': Permission
> denied rm: cannot remove `gcc-4.4.3_objdir/gcc/tmp-modes.h':
> Permission denied rm: cannot remove `gcc-4.4.3_objdir/gcc/java':
> Permission denied rm: cannot remove
> `gcc-4.4.3_objdir/gcc/auto-host.h': Permission denied rm: cannot
> remove `gcc-4.4.3_objdir/gcc/doc': Permission denied rm: cannot remove
> `gcc-4.4.3_objdir/gcc/bconfig.h': Permission denied rm: cannot remove
> `gcc-4.4.3_objdir/gcc/.gdbinit': Permission denied rm: cannot remove
> `gcc-4.4.3_objdir/gcc/tm.h': Permission denied rm: cannot remove
> `gcc-4.4.3_objdir/gcc/objcp': Permission denied rm: cannot remove
> `gcc-4.4.3_objdir/gcc/as': Permission denied rm: cannot remove
> `gcc-4.4.3_objdir/gcc/config.cache': Permission denied rm: cannot
> remove `gcc-4.4.3_objdir/gcc/optionlist': Permission denied rm: cannot
> remove `gcc-4.4.3_objdir/gcc/configargs.h': Permission denied rm:
> cannot remove `gcc-4.4.3_objdir/gcc/s-options': Permission denied rm:
> cannot remove `gcc-4.4.3_objdir/gcc/Make-hooks': Permission denied rm:
> cannot remove `gcc-4.4.3_objdir/gcc/s-options-h': Permission denied
> rm: cannot remove `gcc-4.4.3_objdir/gcc/Makefile': Permission denied
> rm: cannot remove `gcc-4.4.3_objdir/gcc/cp': Permission denied rm:
> cannot remove `gcc-4.4.3_objdir/gcc/collect-ld': Permission denied rm:
> cannot remove `gcc-4.4.3_objdir/gcc/nm': Permission denied rm: cannot
> remove `gcc-4.4.3_objdir/gcc/config.log': Permission denied rm: cannot
> remove `gcc-4.4.3_objdir/gcc/config.h': Permission denied rm: cannot
...
COMMAND:
ls -laFd gcc-4.4.3_objdir
OUTPUT
drwxr-xr-x. 10 root root 4096 Mar 19 2010 gcc-4.4.3_objdir/
COMMAND:
id
OUTPUT
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:###########
COMMAND:
chown -R root:root gcc-4.4.3_objdir
OUTPUT
chown: changing ownership of `gcc-4.4.3_objdir/gcc/build': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/gcc/cstamp-h': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/gcc/objc': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/gcc/config.status': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/gcc/gthr-default.h': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/gcc/options.h': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/gcc/gccbug': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/gcc/ada/Makefile': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/gcc/ada/gcc-interface/Makefile': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/gcc/ada/gcc-interface': Operation not permitted
...
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/libiberty': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/fixincludes/fixopts.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/fixincludes/config.status': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/fixincludes/fixinc.sh': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/fixincludes/fixincl.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/fixincludes/mkheaders.almost': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/fixincludes/mkheaders': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/fixincludes/fixincl': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/fixincludes/server.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/fixincludes/fixlib.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/fixincludes/fixtests.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/fixincludes/procopen.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/fixincludes/full-stamp': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/fixincludes/Makefile': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/fixincludes/config.log': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/fixincludes/stamp-h': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/fixincludes/config.h': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/fixincludes/fixfixes.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/fixincludes': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu/config.cache': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/stage_final': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/stage_current': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/Makefile': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/config.status': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/line-map.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/lex.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/identifiers.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/symtab.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/mkdeps.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/makedepend': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/pch.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/localedir.h': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/directives.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/config.cache': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/makedepend.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/localedir.hs': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/traditional.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/init.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/charset.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/Makefile': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/libcpp.a': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/directives-only.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/.deps/errors.Po': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/.deps/makedepend.Po': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/.deps/pch.Po': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/.deps/charset.Po': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/.deps/line-map.Po': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/.deps/mkdeps.Po': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/.deps/symtab.Po': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/.deps/files.Po': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/.deps/directives-only.Po': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/.deps/directives.Po': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/.deps/expr.Po': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/.deps/init.Po': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/.deps/identifiers.Po': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/.deps/lex.Po': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/.deps/traditional.Po': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/.deps/macro.Po': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/.deps': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/macro.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/config.log': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/expr.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/stamp-h1': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/files.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/config.h': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp/errors.o': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/libcpp': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/stage_last': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir/config.log': Operation not permitted
chown: changing ownership of `gcc-4.4.3_objdir': Operation not permitted
COMMAND:
stat gcc-4.4.3_objdir
OUTPUT
File: `gcc-4.4.3_objdir'
Size: 4096 Blocks: 8 IO Block: 8192 directory
Device: 1ch/28d Inode: 36835590 Links: 10
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2012-04-24 04:04:17.251456720 -0400
Modify: 2010-03-19 18:23:51.000000000 -0400
Change: 2012-04-20 12:02:38.334456000 -0400
COMMAND:
chattr -i gcc-4.4.3_objdir
OUTPUT
chattr: Inappropriate ioctl for device while reading flags on gcc-4.4.3_objdir
COMMAND:
lsattr gcc-4.4.3_objdir
OUTPUT
lsattr: Inappropriate ioctl for device While reading flags on gcc-4.4.3_objdir/config.status
lsattr: Inappropriate ioctl for device While reading flags on gcc-4.4.3_objdir/x86_64-unknown-linux-gnu
lsattr: Inappropriate ioctl for device While reading flags on gcc-4.4.3_objdir/intl
lsattr: Inappropriate ioctl for device While reading flags on gcc-4.4.3_objdir/libdecnumber
lsattr: Inappropriate ioctl for device While reading flags on gcc-4.4.3_objdir/gcc
lsattr: Inappropriate ioctl for device While reading flags on gcc-4.4.3_objdir/serdep.tmp
lsattr: Inappropriate ioctl for device While reading flags on gcc-4.4.3_objdir/libiberty
lsattr: Inappropriate ioctl for device While reading flags on gcc-4.4.3_objdir/zlib
lsattr: Inappropriate ioctl for device While reading flags on gcc-4.4.3_objdir/build-x86_64-unknown-linux-gnu
lsattr: Inappropriate ioctl for device While reading flags on gcc-4.4.3_objdir/stage_final
lsattr: Inappropriate ioctl for device While reading flags on gcc-4.4.3_objdir/stage_current
lsattr: Inappropriate ioctl for device While reading flags on gcc-4.4.3_objdir/Makefile
lsattr: Inappropriate ioctl for device While reading flags on gcc-4.4.3_objdir/libcpp
lsattr: Inappropriate ioctl for device While reading flags on gcc-4.4.3_objdir/stage_last
lsattr: Inappropriate ioctl for device While reading flags on gcc-4.4.3_objdir/config.log
mount gcc-4.4.3_objdir
:mount: can't find gcc-4.4.3_objdir in /etc/fstab or /etc/mtab
; Results ofmount
/dev/mapper/vg_<MACH_NAME>-lv_root on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0") /dev/sda1 on /boot type ext4 (rw) /dev/mapper/vg_<MACH_NAME>-lv_home on /home type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) <CENSORED HOME>
mount
listing) does not work either.