permissions - chown: changing ownership not permitted, even though running as root

08
2014-07
  • Nachbar90

    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?

  • Answers
  • Arjan

    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.

  • Seasoned Advice (cooking)

    OP wrote:

    I solved my ftp problem by mounting with umask 0000


  • Related Question

    osx - Root directory permissions on Mac OS X 10.6?
  • Agos

    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


  • Related Answers
  • Gordon Davisson

    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 /).

  • Felix

    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.

  • Chris Johnsen

    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).