User Management
Adding a New User
To grant a new user access to both WebDAV and FTP, perform the following steps.
1. Create System User
Debian
sudo adduser --shell /usr/sbin/nologin --disabled-password --gecos "" newuser
sudo passwd newuser
CentOS / RHEL
sudo adduser -s /bin/nologin newuser
sudo passwd newuser
2. Add to Web Server Group
Debian
sudo usermod -aG www-data newuser
CentOS / RHEL
sudo usermod -aG nginx newuser
3. Create WebDAV Password
# Add to existing file (no -c flag!)
sudo htpasswd /etc/nginx/.htpasswd newuser
Do not use the -c flag when adding to an existing file — it will overwrite all existing users.
|
4. Configure FTP Access
# Add to allowed user list
echo "newuser" | sudo tee -a /etc/vsftpd/user_list
# Create per-user config
echo "local_root=/var/www/html/webdav/" | sudo tee /etc/vsftpd/users/newuser
# Set directory permissions
sudo setfacl -R -m u:newuser:rwx /var/www/html/webdav/
sudo setfacl -R -d -m u:newuser:rwx /var/www/html/webdav/
Removing a User
# Remove WebDAV password
sudo htpasswd -D /etc/nginx/.htpasswd olduser
# Remove from FTP user list
sudo sed -i '/^olduser$/d' /etc/vsftpd/user_list
# Remove per-user FTP config
sudo rm -f /etc/vsftpd/users/olduser
# Remove ACL entries
sudo setfacl -R -x u:olduser /var/www/html/webdav/
# Optionally remove system user
sudo userdel olduser
# Restart FTP
sudo systemctl restart vsftpd