Monday, April 29, 2024
 Popular · Latest · Hot · Upcoming
0
rated 0 times [  0] [ 0]  / answers: 1 / hits: 544  / 2 Years ago, tue, march 29, 2022, 10:05:46

I am executing the following command:
chmod 000 x.txt



but as owner I still can rename it ! why ?



and how can I prevent all people from renaming that file ?


More From » permissions

 Answers
7

As correctly answered by David Foerster, the rights to manipulate files and directories depends on the permission on the containing directory.



Said that, there is a (dirty?) trick to avoid that a directory could be deleted even if you have right on the containing one: put in it a (possibly hidden) file, and make that and the directory no-writable. Look at this example:



[romano:~] mkdir tmp/test; cd tmp/test
[romano:~/tmp/test] % mkdir subdir_e subdir_f
[romano:~/tmp/test] % touch subdir_f/.hiddenfile


I created two subdirs, one empty and the other with an hidden file.



[romano:~/tmp/test] % chmod 555 subdir_f/.hiddenfile subdir_f subdir_e
[romano:~/tmp/test] % sudo chown root subdir_f/.hiddenfile subdir_f subdir_e


I make this directory and the hidden file no-writable, by changing permission and giving ownership to root (otherwise I can simply change permission back). Let's see the status:



[romano:~/tmp/test] % ls -la  
total 16
drwxrwxr-x 4 romano romano 4096 oct 23 16:37 .
drwxr-xr-x 6 romano romano 4096 oct 23 16:31 ..
dr-xr-xr-x 2 root romano 4096 oct 23 16:37 subdir_e
dr-xr-xr-x 2 root romano 4096 oct 23 16:37 subdir_f


Notice that I own and have write rights to ., which is my current directory, so if I do:



[romano:~/tmp/test] % rmdir subdir_e


it succeeds, because I can modify . as I like. But if I try the same with the non-empty subdir:



[romano:~/tmp/test] % rmdir subdir_f
rmdir: failed to remove ‘subdir_f’: Directory not empty
[romano:~/tmp/test] 1 % rm -rf subdir_f
rm: cannot remove ‘subdir_f/.hiddenfile’: Permission denied
[romano:~/tmp/test] 1 % chown romano subdir_f
chown: changing ownership of ‘subdir_f’: Operation not permitted


...I need root privilege to remove it now.


[#22720] Wednesday, March 30, 2022, 2 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
ousear

Total Points: 395
Total Questions: 114
Total Answers: 89

Location: Jordan
Member since Thu, Aug 5, 2021
3 Years ago
ousear questions
Tue, Sep 27, 22, 03:29, 2 Years ago
Thu, Nov 25, 21, 00:51, 2 Years ago
Tue, Feb 22, 22, 17:47, 2 Years ago
;