permissions - chown: changing ownership not permitted, even though running as root
2014-07
I managed to configure my Raspberry Pi as an FTP server with ProFTPD. The only problem is, I can´t upload and rename files and Windows Explorer says:
350 File or directory exists,ready for destination name
550 Rename xyz permission denied
Now I´ve read I have to chown
this folder to the FTP user, but this does not work.
I have tried:
sudo chown -R pi /var/www (my default pi account)
sudo chown -R piftp /var/www (the ftp account)
sudo su
chown -R root /var/www
All I´m getting is
chown:changing ownership of ... : Operation not permitted
I already chmodded this directory to 777.
/var/www
is mounted from a vfat
volume on my external hard disc. Looking at it with ls -l
I see all files and folders have owner root
and group root
and all of these folders have permissions drwxr-xr-x
.
Can someone please help?
I don't think VFAT supports the type of permissions you're trying to set. In such case, the permissions are set the same for all files, when mounting the disk. Something like:
sudo mount -t vfat -o uid=piftp,gid=piftp /dev/sda1 /var/www
See also Can't change permission/ownership/group of external hard drive on Ubuntu here on Super User, or the external resource Connect your Raspberry Pi to a USB hard disk.
OP wrote:
I solved my ftp problem by mounting with
umask 0000
I was wondering if it's normal that the root directory / should be owned by “root”.
I get asked for my password every time I want to do something there (e.g. save a file, create a directory) and I don't remember this happening before (though this may just be my faulty memory).
Here's the relevant terminal output:
MacBook:~ ago$ ls -lah /
total 37311
drwxr-xr-x@ 35 root staff 1,2K 22 Mar 12:34 .
drwxr-xr-x@ 35 root staff 1,2K 22 Mar 12:34 ..
-rw-rw-r--@ 1 root admin 21K 22 Mar 10:21 .DS_Store
drwx------ 3 root admin 102B 28 Feb 2008 .Spotlight-V100
d-wx-wx-wt 2 root admin 68B 31 Ago 2009 .Trashes
-rw-r--r--@ 1 ago 501 45K 23 Gen 2008 .VolumeIcon.icns
srwxrwxrwx 1 root staff 0B 22 Mar 12:34 .dbfseventsd
---------- 1 root admin 0B 23 Giu 2009 .file
drwx------ 27 root admin 918B 22 Mar 10:55 .fseventsd
-rw-r--r--@ 1 ago admin 59B 30 Ott 2007 .hidden
-rw------- 1 root wheel 320K 30 Nov 11:42 .hotfiles.btree
drwxr-xr-x@ 2 root wheel 68B 18 Mag 2009 .vol
drwxrwxr-x+ 276 root admin 9,2K 19 Mar 18:28 Applications
drwxrwxr-x@ 21 root admin 714B 14 Nov 12:01 Developer
drwxrwxr-t+ 74 root admin 2,5K 18 Dic 22:14 Library
drwxr-xr-x@ 2 root wheel 68B 23 Giu 2009 Network
drwxr-xr-x 4 root wheel 136B 13 Nov 17:49 System
drwxr-xr-x 6 root admin 204B 31 Ago 2009 Users
drwxrwxrwt@ 4 root admin 136B 22 Mar 12:35 Volumes
drwxr-xr-x@ 39 root wheel 1,3K 13 Nov 17:44 bin
drwxrwxr-t@ 2 root admin 68B 23 Giu 2009 cores
dr-xr-xr-x 3 root wheel 5,1K 17 Mar 11:29 dev
lrwxr-xr-x@ 1 root wheel 11B 31 Ago 2009 etc -> private/etc
dr-xr-xr-x 2 root wheel 1B 17 Mar 11:30 home
drwxrwxrwt@ 3 root wheel 102B 31 Ago 2009 lost+found
-rw-r--r--@ 1 root wheel 18M 3 Nov 19:40 mach_kernel
dr-xr-xr-x 2 root wheel 1B 17 Mar 11:30 net
drwxr-xr-x@ 3 root admin 102B 24 Nov 2007 opt
drwxr-xr-x@ 6 root wheel 204B 31 Ago 2009 private
drwxr-xr-x@ 64 root wheel 2,1K 13 Nov 17:44 sbin
lrwxr-xr-x@ 1 root wheel 11B 31 Ago 2009 tmp -> private/tmp
drwxr-xr-x@ 17 root wheel 578B 12 Set 2009 usr
lrwxr-xr-x@ 1 root wheel 11B 31 Ago 2009 var -> private/var
Are these ownerships / permissions ok? Should I chmod/chown something?
Thanks in advance
I just checked a couple of relatively clean OS X 10.6 Macs, and while / is owned by root, its group and permissions are different from what you have: it's assigned to the admin group, and has group write and the sticky bit set, and doesn't have an extended attributes (i.e. drwxrwxr-t 29 root admin
). Disk Utility's permissions repair feature doesn't seem to reset this (I just tried), but you can fix it by hand:
sudo chgrp admin /
sudo chmod 1775 /
xattr -l /
The last command will display the extended attributes attached to the root; depending on what they are, you may want to remove them (use sudo xattr -d attrname /
).
No, leave it as it is!
root
is the administrator user of your system. There are only very very few cases where you should have to do something as this user.
In fact, you either break something if you change permissions or make your system vulnerable.
You can read more about root / superuser at Wikipedia.
Update:
Whenever you have to authenticate it is because you switch to "superuser mode". As admin user you are automatically in group admin. This group has basically the same rights as root
# /etc/sudoers
%admin ALL=(ALL) ALL
(which means that you are allowed to run every command from every host)
Hence although your don't log in as root
, after authenticate again (e.g. if you type sudo <command>
you gain nearly the same rights as root
. I am not sure how much you are familiar with UNIX like OS' but if you try to apply changes to such paths via Finder, it is basically an execution of sudo
.
Read more about sudo
.
On most Unix systems (Mac OS X included), the root directory is not generally writable by non-root users.
Use your home folder for your files or /Users/Shared
for files that multiple users need to access. You can usually use ⇧⌘H (Shift-Command-H) to jump to your home directory in Finder and in most Open/Save dialogs. Similarly, you can use ⇧⌘G (Shift-Command-G), then type /Users/Shared
to get to the shared folder (or go to your home folder, then go up to /Users
with ⌘↑ (Command-Up), type Shared
to select the folder, then ⌘↓ (Command-Down) to open it).