Мой вопрос – какие настройки мне нужно изменить и / или команды для запуска, чтобы я мог войти в мою систему vsftpd?
Я получаю эту ошибку, когда я использую ftp вместо sftp:
Name (localhost:dbadmin): dbadmin 331 Please specify the password. Password: 500 OOPS: cannot change directory:/home/dbadmin Login failed. ftp>
Это работает при входе в систему с помощью sftp@
, но мой сервер находится за брандмауэром, и мне нужно иметь возможность входа в систему, используя ftp, а также sftp.
Я смотрел довольно много сообщений об ошибке «OOPS», но до сих пор не везло.
Ниже приведена информация о моей системе и настройках:
Я запускаю CentOS 6.4.
iptables и ip6tables остановлены и отключены.
Мой домашний каталог защищен 700, и я пробовал 750, чтобы убедиться, что это изменило ситуацию. Это не так.
Вот активные строки в /etc/vsftpd/vsftpd.conf
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES
Мое имя для входа не указано в user_list.
Запустите эту команду, нет необходимости перезапускать любой сервис и сервер:
# setenforce 0
Чтобы проверить статус SELinux:
# getenforce
или
отредактируйте файл /etc/sysconfig/selinux
чтобы включить
SELINUX=disabled
Для этого потребуется перезагрузка.
Хотя отключение SELinux с помощью SELINUX=disabled
решит проблему, это было бы нецелесообразно. Вы можете включить ftp-пользователя для доступа к его домашнему каталогу, настроив значение SELinux boolean ftp_home_dir
, выполнив следующую команду:
setsebool -P ftp_home_dir=1
Я отключил selinux, следуя этим инструкциям здесь . Мне удалось войти в систему, не используя sftp.
Чтобы отключить навсегда, я отредактировал /etc/selinux/config
и установил
SELINUX=disabled
После перезагрузки я смог войти в систему нормально.
вы всегда можете разрешить FTP-демону полный доступ ко всем файлам, запустив
setsebool -P allow_ftpd_full_access 1
Вероятно, у пользователя нет прав на выполнение в их домашней папке. Выполнение:
chmod +x /home/user
или,
chmod 700 /home/user