微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么这个用户不能删除这个文件?

如果我做:

ls -al /usr/local/bin/kill-all-sales-apps

我懂了:

-r-xr-xr-- 1 jenkins root 68 Aug 4 12:10 kill-all-sales-apps

如果我sudo根,然后苏jenkins,我应该能够删除这个,是吗?

有关目录及其父项的其他相关信息:

Errno ::控制器中的EACCES#在ubuntu上上传rails roo carrierwave

embedded式应用程序应该运行哪个用户

PHP中的chmod 777

git clone在不同的服务器上产生不同的权限

Vala和PolicyKit

drwxr-xr-x 2 root root 4096 Aug 4 12:11 . drwxr-xr-x 10 root root 4096 May 7 17:20 ..

如果我做:

groups jenkins

那么我看到比用户“jenkins”已经被添加到“根”组:

jenkins : jenkins root run-server-software

但是如果我:

rm /usr/local/bin/kill-all-sales-apps

我得到:

rm: remove write-protected regular file '/usr/local/bin/kill-all-sales-apps'? y rm: cannot remove '/usr/local/bin/kill-all-sales-apps': Permission denied

为什么权限被拒绝?

在linux下的不同用户下的java系统首选项

用Java分叉和放弃特权

recursion安全设置

为什么我在尝试使用“make”安装某些东西时被拒绝?

将Active Directory对象标记为“只读”?

至于为什么 jenkins用户不能删除,jenkins用户需要在你要删除文件的父文件夹上写入权限。 这是因为您实际上是从父文件夹中删除目录条目。

通常,在大多数文件系统上,删除文件需要父目录的写入权限(并且执行权限,以便首先进入目录)。 (请注意,对于初学者来说,对文件本身的权限是无关紧要的,但是,除非使用-f选项,否则GNU rm会询问是否要删除写保护的文件。)

资料来源:维基百科 – Rm_(Unix)

所以试试运行…

ls -ld /usr/local/bin

并确保jenkins用户对/ usr / local / bin具有写权限

另一种方法修改sudoers ,通过sudo给jenkins用户sudo权限rm。 下面是一个用户joe显式权限的示例,用于从他没有写权限的目录中sudo rm文件/usr/local/src/noperms/hi.txt 。 但限制他删除该目录中的任何内容

例如:

[[email protected] ~]# mkdir -p /usr/local/src/noperms [[email protected] ~]# chmod -R 455 /usr/local/src/noperms [[email protected] ~]# touch /usr/local/src/noperms/hi.txt [[email protected] ~]# echo "hi" >> /usr/local/src/noperms/hi.txt [[email protected] ~]# chmod 455 /usr/local/src/noperms/hi.txt [[email protected] ~]# su - joe [[email protected] ~]$ cat /usr/local/src/noperms/hi.txt hi [[email protected] ~]$ rm /usr/local/src/noperms/hi.txt rm: remove write-protected regular file `/usr/local/src/noperms/hi.txt'? y rm: cannot remove `/usr/local/src/noperms/hi.txt': Permission denied [[email protected] ~]$ exit [[email protected] ~]# visudo [[email protected] ~]# diff -Nur /tmp/sudoers.orig /etc/sudoers --- /tmp/sudoers.orig 2015-08-04 17:17:24.020781442 +0200 +++ /etc/sudoers 2015-08-04 17:24:21.258274163 +0200 @@ -101,6 +101,7 @@ ## ## Allow root to run any commands anywhere root ALL=(ALL) ALL +joe ALL=(root) nopASSWD: /bin/rm /usr/local/src/noperms/hi.txt ## Allows members of the 'sys' group to run networking,software,## service management apps and more. [[email protected] ~]# su - joe [[email protected] ~]$ sudo /bin/rm /usr/local/src/noperms/hi.txt [[email protected] ~]$ exit [[email protected] ~]# ls -al /usr/local/src/noperms/hi.txt ls: cannot access /usr/local/src/noperms/hi.txt: No such file or directory [[email protected] ~]# ls -al /usr/local/src/noperms/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐