How to create a FTP user and grant access to all virtualserver folders under home directory?


I would like to create a FTP user and grant access to all virtualservers public_html folders. Is this possible? If yes how?

Thanks in advance.

a question in answer to your question…
to which one of a number of directories are you wanting to assign publi_html? (etc/ , var/ , usr/ , home/ )

the default for virtualmin is /home/virtualserver account/public_html/

To create an ftp account with the virtualmin default public html home directory, do the following…

Virtualmin>Virtual Server>Edit Users>
The middle of your virtualmin screen will show a box titled “Mail and FTP Users”

  1. You will see on top lhs of the window an option to “Add a user to this server”). However, if you look across to the extreme RHS you will notice another option “Add a website FTP access user” I usually choose this option.
  2. A new window will be displayed called “Create FTP User”…its here where you have 3 accordian tabs on lhs

-first one is already open…"Website FTP access user details (pretty self explanatory. i normally only worry about email address, real name, & password…although ensure “login temporarily disabled” box is unchecked!)

-second accordian tab is called “Quota and home directory settings”…i usually leave this to the default "Main website directory. Virtualmin for me by default sets this to /home/user/public_html (i installed virtualmin using the automated installation script on a fresh blank Debian 9 server)

-third is “Other user permissions” (this is where login permissions, database access, and granting mysql privileges are set)…i usually leave this as default, however it may need modifying if you did not setup any database for the website initially, and then decided to create one later and need to grant a user access to it.

Hope this is of help…sorry i cannot add images into this post as i am sure they would explain this a lot better.

Yes and no.

Every virtual server is owned by a new user, and each has a group. So, you could add your “admin” user to all of those groups, but the files they create would always be owned by the group but not the right user (sometimes this is OK, sometimes not), and they’d have some limitations about what they could do. It’d probably work for some use cases, and not for others.

You could use sub-servers, which would place all of the servers under ownership of one user, and all the files inside of one user’s home directory (inside a domains subdirectory). Then the top-level user would be able to poke at all of the sub-servers with the right user and group.

You can also use File Manager for this…it has fine-grained access control and so you could grant access to all of home. You’d want to create a Webmin user just for this purpose (the Virtualmin virtual server user is managed by Virtualmin and it has very limited permissions).

But, I’d recommend you figure out a workflow that doesn’t require everything to be accessible to one user. I use ssh/scp with a public key. I can just run scp file.txt domain@server.tld:/home/domain/public_html, but even if you really strongly prefer FTP, most modern FTP clients support storing login details and multiple accounts easily, so this kind of workflow can work fine.

ah i missed the part about an admin ftp user with access to all other ftp accounts.

in terms of file manager, i have my main webmin account set as root user and can access directories for all other virtual servers from webmin. I only do this because i manage the client websites on my webmin server so its more convenient way to access them than signing in and out of each one individually.

On systems like webmin/virtualmin where one has a decent file manager, i rarely use ftp.