rm -f d 提示 rm: cannot remove `d': Operation not permitted
当前账户是root, ls -l d 的结果:
-rw-r--r--. 1 root root 0 Dec 26 10:06 d
lsattr d 的结果
-----a-------e- ./d
另外:
cp d e
e文件能创建成功, 但e文件又不能被删除了。
还有yum update httpd也不成功,有一个错误提示:
error: unpacking of archive failed on file /var/log/httpd: cpio: lsetfilecon
怎么才能删除这些文件呢?
14 个解决方案
#1
看到lsetfilecon这个词就想到好像是跟selinux有关
getenforce看看是不是启用了selinux的?
getenforce看看是不是启用了selinux的?
#2
是Permissive
# setenforce 0
# rm -f d
rm: cannot remove `d': Operation not permitted
# setenforce 1
# rm -f d
rm: cannot remove `d': Operation not permitted
# setenforce Enforcing
# rm -f d
rm: cannot remove `d': Operation not permitted
# setenforce Permissive
# rm -f d
rm: cannot remove `d': Operation not permitted
# setenforce 0
# rm -f d
rm: cannot remove `d': Operation not permitted
# setenforce 1
# rm -f d
rm: cannot remove `d': Operation not permitted
# setenforce Enforcing
# rm -f d
rm: cannot remove `d': Operation not permitted
# setenforce Permissive
# rm -f d
rm: cannot remove `d': Operation not permitted
#3
修改/etc/selinux/config之后重启
# getenforce
Disabled
# rm -f d
rm: cannot remove `d': Operation not permitted
# getenforce
Disabled
# rm -f d
rm: cannot remove `d': Operation not permitted
#4
不是enforcing就不会受selinux影响了
那再获取acl权限看看呢
getfacl d
再看看/var/log/下messages,secure,audit/audit.log等等日志有没有什么明确的提示信息
那再获取acl权限看看呢
getfacl d
再看看/var/log/下messages,secure,audit/audit.log等等日志有没有什么明确的提示信息
#5
前面没有仔细看,你的lsattr里那个文件有个a,是只能追加不能删除的
chattr +a d
chattr -a d
chattr +a d
chattr -a d
#6
mark
以前还真没碰到过
以前还真没碰到过
#7
A file with the `a' attribute set can only be open in append mode for
writing. Only the superuser or a process possessing the
CAP_LINUX_IMMUTABLE capability can set or clear this attribute.
chattr -a d试试先
writing. Only the superuser or a process possessing the
CAP_LINUX_IMMUTABLE capability can set or clear this attribute.
chattr -a d试试先
#8
学习学习 chattr
完全是这家伙在作怪
完全是这家伙在作怪
#9
首先,同意#5和#7,如果lsattr查看有a权限,显然是无法删除的……
另外,抛开这种特殊权限的影响,文件能否被删除,是由文件所在的目录决定的,如果目录对某个用户没有w权限,文件一样无法删除……
另外,抛开这种特殊权限的影响,文件能否被删除,是由文件所在的目录决定的,如果目录对某个用户没有w权限,文件一样无法删除……
#10
#11
多谢各位,但似乎不是chattr的问题。
# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),6(disk),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
# getfacl d
# file: d
# owner: root
# group: root
user::rw-
group::r--
other::r--
# chattr -a d
# lsattr d
-------------e- d
# rm -f d
rm: cannot remove `d': Operation not permitted
还有另外一个log文件,apache写入了数据,但是root用vim不能编辑:
Can't open file for writing
# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),6(disk),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
# getfacl d
# file: d
# owner: root
# group: root
user::rw-
group::r--
other::r--
# chattr -a d
# lsattr d
-------------e- d
# rm -f d
rm: cannot remove `d': Operation not permitted
还有另外一个log文件,apache写入了数据,但是root用vim不能编辑:
Can't open file for writing
#12
该文件的上层目录lsattr看看属性
#13
太感谢了,原来是父目录的a属性引起的。
#14
我也顺便复习了下都快忘光了的知识
#1
看到lsetfilecon这个词就想到好像是跟selinux有关
getenforce看看是不是启用了selinux的?
getenforce看看是不是启用了selinux的?
#2
是Permissive
# setenforce 0
# rm -f d
rm: cannot remove `d': Operation not permitted
# setenforce 1
# rm -f d
rm: cannot remove `d': Operation not permitted
# setenforce Enforcing
# rm -f d
rm: cannot remove `d': Operation not permitted
# setenforce Permissive
# rm -f d
rm: cannot remove `d': Operation not permitted
# setenforce 0
# rm -f d
rm: cannot remove `d': Operation not permitted
# setenforce 1
# rm -f d
rm: cannot remove `d': Operation not permitted
# setenforce Enforcing
# rm -f d
rm: cannot remove `d': Operation not permitted
# setenforce Permissive
# rm -f d
rm: cannot remove `d': Operation not permitted
#3
修改/etc/selinux/config之后重启
# getenforce
Disabled
# rm -f d
rm: cannot remove `d': Operation not permitted
# getenforce
Disabled
# rm -f d
rm: cannot remove `d': Operation not permitted
#4
不是enforcing就不会受selinux影响了
那再获取acl权限看看呢
getfacl d
再看看/var/log/下messages,secure,audit/audit.log等等日志有没有什么明确的提示信息
那再获取acl权限看看呢
getfacl d
再看看/var/log/下messages,secure,audit/audit.log等等日志有没有什么明确的提示信息
#5
前面没有仔细看,你的lsattr里那个文件有个a,是只能追加不能删除的
chattr +a d
chattr -a d
chattr +a d
chattr -a d
#6
mark
以前还真没碰到过
以前还真没碰到过
#7
A file with the `a' attribute set can only be open in append mode for
writing. Only the superuser or a process possessing the
CAP_LINUX_IMMUTABLE capability can set or clear this attribute.
chattr -a d试试先
writing. Only the superuser or a process possessing the
CAP_LINUX_IMMUTABLE capability can set or clear this attribute.
chattr -a d试试先
#8
学习学习 chattr
完全是这家伙在作怪
完全是这家伙在作怪
#9
首先,同意#5和#7,如果lsattr查看有a权限,显然是无法删除的……
另外,抛开这种特殊权限的影响,文件能否被删除,是由文件所在的目录决定的,如果目录对某个用户没有w权限,文件一样无法删除……
另外,抛开这种特殊权限的影响,文件能否被删除,是由文件所在的目录决定的,如果目录对某个用户没有w权限,文件一样无法删除……
#10
#11
多谢各位,但似乎不是chattr的问题。
# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),6(disk),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
# getfacl d
# file: d
# owner: root
# group: root
user::rw-
group::r--
other::r--
# chattr -a d
# lsattr d
-------------e- d
# rm -f d
rm: cannot remove `d': Operation not permitted
还有另外一个log文件,apache写入了数据,但是root用vim不能编辑:
Can't open file for writing
# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),6(disk),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
# getfacl d
# file: d
# owner: root
# group: root
user::rw-
group::r--
other::r--
# chattr -a d
# lsattr d
-------------e- d
# rm -f d
rm: cannot remove `d': Operation not permitted
还有另外一个log文件,apache写入了数据,但是root用vim不能编辑:
Can't open file for writing
#12
该文件的上层目录lsattr看看属性
#13
太感谢了,原来是父目录的a属性引起的。
#14
我也顺便复习了下都快忘光了的知识