Give ftp users access to directories outside their root using symlinks
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
).
Related videos on Youtube
Vaishnavi GS
Existence seems to be a paradox of self-causality.
Updated on September 18, 2022Comments
-
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 namedtest
.
/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 about 13 yearsThis needs to be done every time the server restarts, right?
-
geekosaur about 13 yearsYes; you'll want to put it in
/etc/fstab
. -
Sukumar about 11 yearsJust 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