`cp` 无法写入文件/目录,而 `cat >` 和 `echo` 工作正常

`cp` 无法写入文件/目录,而 `cat >` 和 `echo` 工作正常

在基于 RHEL 7.2 的系统上,我尝试将文件复制到 smb 安装位置:

cd /target
cp /tmp/foo .

此操作失败并显示以下错误消息:

cp: cannot create regular file ‘./foo’: Operation not permitted

我可以看到创建了一个 0 字节大小的文件。

当我catecho Thisisfoobar>foo这个工作正常并且文件包含我想要的内容时。但更奇怪的是,当我这样做时它也有效:

cd /target
echo Thisisfoobar>foo
cp /tmp/foo .

我完全不知道为什么这行不通。我已经对两种变体运行了strace(一种foo不存在,一种foo存在并被覆盖)并比较了输出,但没有发现相关差异。唯一的区别是句柄和文件大小,如下所示:

stat("./foo", {st_mode=S_IFREG|0700, st_size=12, ...}) = 0

我们在这台机器上不使用selinux。在运行上面提到的命令之前,我需要执行 a sudo adm(这实际上给了我类似 root 的权限,这是 Cyber​​Ark 施加的限制),并从这个 adm shell 中我做了一个简短的su tu(或者su - tu,没有任何区别)说话of smb:tu是有权在 smb 安装的设备上写入的组的成员,tu是 Active Directory 的成员。

ls -laZ /tmp/foo产生以下信息:

-rwx------ tu user ?                                foo

dmesg在运行命令时检查了输出,但没有附加任何条目。

相关内容