A raiz não pode excluir a pasta que possui

3

Plataforma: CentOS 6.2 Shell: tcsh

EDITAR
Brian Swift apontou uma solução viável. Ele ressalta que, se o diretório inicial é servido via NFS, root em um cliente pode não ter as mesmas permissões. Efetuando login como root no servidor NFS, a pasta é excluída sem reclamação. Isso ainda me deixa com algumas perguntas não respondidas.

Antecedentes:

  1. Eu criei este arquivo como root appr. 2 anos atrás no mesmo cliente eu tentei os comandos abaixo em.
  2. Todas as outras pastas root criadas no esse mesmo cliente daquele mesmo período de tempo (meados de 2010) excluído sem reclamação.

Perguntas:

  1. O que torna essa pasta um floco de neve especial em relação ao outro cliente root criou pastas no meu diretório inicial?
  2. Existe alguma maneira de verificar permissões de NFS desviantes?

Mais uma vez eu devo a Brian um grande obrigado por chegar ao fundo disso, ele é realmente um super usuário!

Pergunta ORIGINAL:

Estou perdido quanto ao que está acontecendo no mundo aqui ... root possui este diretório bloqueado (de um manual gcc-4.4.3 install) no meu diretório inicial. Eu mudei para root ( su root , também tentei su ) e tentei deletá-lo e obter erros de permissão. Eu tento alterar as permissões, a operação é negada. Eu tento lsattr / chattr e recebo erros ioctl no terminal.

Para deixar claro, estou fazendo uma limpeza geral no meu diretório pessoal e consegui remover todos os outros arquivos que eu queria muito bem com a ajuda de root para hackear as barreiras de permissões etc. É só essa pasta que está dando dor.

Veja o que eu tentei ....

COMANDO:

whoami


OUTPUT

root

COMANDO:

 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
    ...

COMANDO:

ls -laFd gcc-4.4.3_objdir

OUTPUT

drwxr-xr-x. 10 root root 4096 Mar 19  2010 gcc-4.4.3_objdir/

COMANDO:

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:###########

COMANDO:

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

COMANDO:

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

COMANDO:

chattr -i gcc-4.4.3_objdir

OUTPUT

chattr: Inappropriate ioctl for device while reading flags on gcc-4.4.3_objdir

COMANDO:

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
    
por Jason R. Mick 24.04.2012 / 20:57

3 respostas

3

Pode fazer sentido se o diretório vier de um servidor NFS ou de alguma outra forma de NAS. Dependendo da configuração do servidor, o root no cliente pode não ser capaz de excluir arquivos, e o servidor pode não suportar os atributos de arquivo.

Quanto ao motivo de apenas este diretório ter problemas, especularei que a configuração do NFS (ou o software do cliente ou servidor NFS) mudou de alguma maneira relevante algum tempo depois que o diretório foi criado. Eu teria ficado curioso se ls -l mostrou que a propriedade do servidor era root , seu nome de usuário ou nobody .

Uma especulação adicional, se esse diretório foi criado desmarcando uma distribuição gcc como root, talvez o diretório tenha capturado algumas permissões / permissões do arquivo tar, ao invés de diretórios e arquivos que você criou diretamente.

    
por 26.04.2012 / 03:14
0

Você já tentou remover o diretório com sua própria conta?

Ao deletar um arquivo ou diretório você está de fato modificando o diretório pai daquele arquivo (tudo é um arquivo no linux até mesmo um diretório). E você tem as permissões para modificar seu diretório pessoal.

Outra coisa a verificar é o SELinux, execute /usr/sbin/getenforce , se ele diz "Impingir" você pode tentar desativar o SELinux temporariamente /usr/sbin/setenforce 0 ou verificar as configurações do SElinux ls -lZ gcc-4.4.3_objdir e usar /sbin/restorecon -R /home/<username>/ para corrigi-las. / p>     

por 25.04.2012 / 09:27
0

Isso deve excluir esse arquivo ou pasta:

chmod -Rf 777 your_folder_or_file_name

rm -rf your_folder_or_file_name
    
por 10.11.2014 / 23:30