プラットフォーム:CentOS 6.2
シェル:tcsh
[〜#〜]編集[〜#〜]
Brian Swiftは実行可能な解決策を指摘しました。彼は、ホームディレクトリがNFS経由で提供されている場合、クライアントのroot
が同じ権限を持っていない可能性があると指摘しています。 NFSサーバーにroot
としてログインすると、フォルダーは文句なしに削除されます。それでも、まだ答えのない質問がいくつか残っています。
バックグラウンド:
root
apprとして作成しました。 2年前、同じクライアントで以下のコマンドを試してみました。root
フォルダーは、文句なしに削除されました。質問:
root
がホームディレクトリに作成したフォルダと比べて、特別なスノーフレークになる理由は何ですか?繰り返しになりますが、ブライアンはこれを理解してくれて本当に感謝しています。彼は本当にスーパーユーザーです!
元の質問:
私はここで何が起こっているのかわからなくなっています...root
は私のホームディレクトリにこのロックされたディレクトリを所有しています(手動のgcc-4.4.3
インストールから)。 root(su root
、su
も試しました)に変更し、それを削除しようとすると、アクセス許可エラーが発生します。権限を変更しようとすると、操作が拒否されます。 lsattr
/chattr
を実行しようとすると、ターミナルでioctlエラーが発生します。
明確にするために、私はホームディレクトリで一般的なクリーンアップを行っており、root
の助けを借りて、アクセス許可の障壁などをハックすることで、必要な他のファイルをすべて削除することができました。これは1つのフォルダだけです。それは悲しみを与えています。
これが私が試したことです...
コマンド:
whoami
出力
root
コマンド:
rm -rf gcc-4.4.3_objdir
出力
> 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
...
コマンド:
ls -laFd gcc-4.4.3_objdir
出力
drwxr-xr-x. 10 root root 4096 Mar 19 2010 gcc-4.4.3_objdir/
コマンド:
id
出力
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:###########
コマンド:
chown -R root:root gcc-4.4.3_objdir
出力
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
コマンド:
stat gcc-4.4.3_objdir
出力
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
コマンド:
chattr -i gcc-4.4.3_objdir
出力
chattr: Inappropriate ioctl for device while reading flags on gcc-4.4.3_objdir
コマンド:
lsattr gcc-4.4.3_objdir
出力
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
ディレクトリがNFSサーバーまたは他の形式のNASからのものである場合は意味があるかもしれません。サーバーの構成によっては、クライアントのrootがファイルを削除できない場合や、サーバーがファイル属性をサポートしていない場合があります。
このディレクトリだけに問題があった理由については、ディレクトリが作成された後、NFS構成(またはNFSクライアントまたはサーバーソフトウェア)が何らかの関連する方法で変更されたと推測します。 ls -l
サーバーに表示された所有権は、root
、ユーザー名、またはnobody
でした。
このディレクトリがrootとしてgccディストリビューションの風袋引きを解除することによって作成された場合、ディレクトリは、直接作成したディレクトリやファイルではなく、tarアーカイブからファンキーな所有権/権限を取得した可能性があります。
自分のアカウントでディレクトリを削除してみましたか?
ファイルまたはディレクトリを削除すると、実際にはそのファイルの親ディレクトリが変更されます(Linuxではディレクトリでさえすべてがファイルです)。また、ホームディレクトリを変更する権限があります。
チェックするもう1つのことはSELinuxです。/usr/sbin/getenforce
を実行します。「Enforcing」と表示されている場合は、SELinuxを一時的に無効にするか/usr/sbin/setenforce 0
するか、SElinuxの設定をls -lZ gcc-4.4.3_objdir
して/sbin/restorecon -R /home/<username>/
を使用します。それらを修正します。
これにより、そのファイルまたはフォルダーが削除されます。
chmod -Rf 777 your_folder_or_file_name
rm -rf your_folder_or_file_name