如果我做:
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
在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 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] 举报,一经查实,本站将立刻删除。