I'm new to linux administration and am trying to configure VSFTPD on my CentOS server to give me ftp access to the /root folder. Currently, I have access to folders in the parent directory, but not that one in particular. When trying to access /root through my ftp client I get the following:

`Server said: Failed to change directory.

Error -125: remote chdir failed`

I can access root through as a root user through my terminal.

Here are the VSFTPD config settings

# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
# By default the server will pretend to allow ASCII mode but in fact ignore
# the request. Turn on the below options to have the server actually do ASCII
# mangling on files when in ASCII mode.
# Beware that on some FTP servers, ASCII support allows a denial of service
# attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
# predicted this attack and has always been safe, reporting the size of the
# raw file.
# ASCII mangling is a horrible feature of the protocol.
# You may fully customise the login banner string:
ftpd_banner=Welcome to ViceCraft FTP service.
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
# (default follows)
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
# (default follows)
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
# When "listen" directive is enabled, vsftpd runs in standalone mode and
# listens on IPv4 sockets. This directive cannot be used in conjunction
# with the listen_ipv6 directive.
# This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6
# sockets, you must run two copies of vsftpd with two configuration files.
# Make sure, that one of the listen options is commented !!


  • Can you suggest a reason why files in root should be accessible by a totally insecure protocol? I'm concerned that you might not see the problem with sending root's username/password in cleartext. And /root should not be accessible by non-root users in any form - /root/ should have 750 permissions and be owned by root:root – Criggie Oct 30 '16 at 1:07
  • What is in /etc/vsftpd/user_list and /etc/vsftpd/ftpusers and /etc/ftpusers ? – Criggie Oct 30 '16 at 1:09
  • I have a minecraft installation there and need to be able to upload files to it's directory sub-folders – Joshua Howell Oct 30 '16 at 4:47
  • @Criggie well then I need to be able to sftp to the server as root so that I can make changes to an existing folder. – Joshua Howell Oct 30 '16 at 4:50
  • 1
    @JoshuaHowell Installing it as root is different than giving the service root rights. On proper servers you often have separate users/groups per service, this is a good idea from a security standpoint. And some services normally refuse to work with too many rights. – phk Oct 30 '16 at 21:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.