Give ftp users access to directories outside their root using symlinks

29,196

Symlinks are locked into the jail the same way the user is; otherwise it would be possible for the user to break out of the jail with cd documents. (No, root-created symlinks can't be treated specially, for the same reason that cd -P symlink-to-dir; cd .. leaves you in the wrong place; the appearance of it working as you'd expect is an illusion created by the shell.) Use a bind mount instead (mount --bind /var/ftp/files/documents /var/ftp/users/test/documents).

Share:
29,196

Related videos on Youtube

Vaishnavi GS
Author by

Vaishnavi GS

Existence seems to be a paradox of self-causality.

Updated on September 18, 2022

Comments

  • Vaishnavi GS
    Vaishnavi GS over 1 year

    I tried to give proftpd virtual users access to directories outside their home paths using symlinks I created as root through the console.

    /var/ftp/users/test is the home of the user named test.
    /var/ftp/files/documents is the directory that holds the documents, and /var/ftp/users/test/documents is the symlink that points to it.

    But when an user connects to the FTP and tries to follow the symlink, he only sees this error:

    documents: No such file or directory

    What am I doing wrong?

  • Vaishnavi GS
    Vaishnavi GS about 13 years
    This needs to be done every time the server restarts, right?
  • geekosaur
    geekosaur about 13 years
    Yes; you'll want to put it in /etc/fstab.
  • Sukumar
    Sukumar about 11 years
    Just for example to help anyone else out, here are the mount and fstab quivelants: mount mount --bind /path/to/original/directory /path/to/mountpoint fstab /path/to/original/directory /path/to/mountpoint none bind 0 0