`cp` permission denied when copy a file owned by `root`
Solution 1
Well,
That would be because the way your current permissions are set, no one can move that file. ( Other than root, because root doesn't follow the same rules. )
You would need to either change the owner of the file (chown), OR add the other user to the group 'root' and chmod it so the group can execute on the directory, OR allow everyone else to execute the file.
So, a quick fix would be:
chmod -R o+rwx udp_folder2
That will give everyone the ability to read, write and execute on that directory.
Also... if you're attempting to copy 'udp_folder2' into the same directory that it is located now, you'll need the 'w' permission on that directory as well. For example:
/foo/udp_folder2 - you'll need 'w' on /foo to copy that directory in /foo
I'd suggest learning linux file permissions: Linux File Permission Tutorial
Solution 2
The directory has no x
permission, so others (i.e., in this case any user) can use the directory to reach the files inside. The T
means it is sticky (only the owner of a file can delete it). With both the x
permission and the sticky bit, you would see a lowercase t
; the uppercase T
says “no access permission but sticky bit, which is an odd combination”.
Read up on Unix file/directory permissions. It isn't too hard, and you will need it.
Solution 3
You don't want to give everyone rwx
on the directory because you'd create a security risk. And you wouldn't want to -R
the chmod because that would write changes recursively.
Just chmod 755 "filename"
and you're good.
Here's a break down of the numbers:
- Read = 4
- Write = 2
- Execute = 1
Then you have 3 groups:
- Owner.
- Those who belong to the Group.
- Everyone else.
So, if you want to give the owner rwx
, those who belong to the group rw
, and everyone else rw
you just add the permissions: rwx
= 7, because r
+w
+x
is 4+2+1 and rw
= 6 because r
+w
= 4+2.
Related videos on Youtube
user3366906
Updated on September 18, 2022Comments
-
user3366906 almost 2 years
I have a folder
udp_folder2
d------r-T 41 root root 4096 Apr 26 21:17 udp_folder2
when I'm with user other than
root
, I can'tcp -r
it into a new folder it says: Permission deniedwhy? and how can I copy it with a user other than
root
-
user3366906 about 11 yearsI think copy is just
r
permission, obviously there isr
permission for other user, you see, there is ar
-
user3366906 about 11 yearsI mean in
d------r-T
, ther
is for other user -
Swiss about 11 yearsYou also need execute permission to copy a directory. I'm not sure what
T
is offhand. -
Tillman32 about 11 yearsYou'll need the 'w' on the directory you're trying to copy to... for example, if you're copying /home/foo to /etc/foo you'll need the 'w' permission in /etc/
-
Tillman32 about 11 yearsHence my term 'So, a quick fix would be' and I send him a link to learn more about permissions. He didn't mention a concern for security or anything of the sort. He just stated that he wants to copy the directory.
-
Tillman32 about 11 yearsAlso, we he'll need the 'w' permission on the directory he's attempting to copy it into.
-
user3366906 about 11 yearsI have that
w
permission in /etc/ of your case -
Tillman32 about 11 years@Swiss - The 'T' is a sticky bit, which is a 'special' permission. Learn all about sticky bits here: en.wikipedia.org/wiki/Sticky_bit
-
pullsumo about 11 yearsDon't be a hater Tillman.
-
Paulo Carvalho over 3 yearsBest answer for me. Complete, with simples explanations, example and with the plus of explaining potential risks with misuse of the permission flags.