Які налаштування виправити помилку vsftpd "500 OOPS: не можна змінити каталог"?


14

Моє запитання - які параметри мені потрібно змінити та / або виконати команди, щоб дозволити мені увійти в систему 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.


Навіть я стикався з тією ж проблемою ..> Спробуйте змінити доступ до 775, це працювало для мене.

Якщо проблема все-таки виникає, навіть якщо ви відключили selinux, перевірте дозволи вашого каталогу. Чи справді ваш користувач ftp має права на цю папку? або Чи встановлено будь-який встановлений біт із встановленою жорсткістю у батьків цієї папки? Біт у батьківській папці може спричинити проблеми, якщо ви спробуєте створити нову папку внизу.
Чатчай Мао

Відповіді:


10

Виконайте цю одну команду, не потрібно перезапускати будь-яку службу та сервер:

# setenforce 0

Щоб перевірити стан SELinux:

# getenforce

або

відредагуйте файл, /etc/sysconfig/selinuxщоб включити

SELINUX=disabled

Для цього потрібна перезавантаження.


3
Цікаво, що я півтора тому тому отримав голосування за відмову.
восьминоги граббус

7

Хоча відключення SELinux за допомогою SELINUX=disabledвирішить проблему, це було б недоцільно. Ви можете дозволити користувачеві ftp отримати доступ до його домашнього каталогу, налаштувавши булеве значення SELinux, ftp_home_dirвиконавши таку команду:

setsebool -P ftp_home_dir=1

Чи потрібні зворотні галочки або результат вбудованого та блокуваного форматування коду / команд?
Антон

Ні, підставки не потрібні.
suprjami

це має бути найкращою відповіддю для вирішення проблеми, щоб уникнути зниження рівня безпеки всієї системи без SELinux.
Томофумі

Булева ftp_home_dir не визначена ??
Exlord

3

Ви завжди можете дозволити демону FTP повний доступ до всіх файлів, запустивши

setsebool -P allow_ftpd_full_access 1

2

Я відключив selinux, дотримуючись цих інструкцій тут . Мені вдалося увійти, не використовуючи sftp.

Щоб назавжди відключити, я редагував /etc/selinux/configі налаштовував

SELINUX=disabled

Після перезавантаження я зміг нормально увійти.


2
Вимкнення SELinux - це етап усунення несправностей для визначення того, чи є SELinux причиною проблеми, а не остаточним рішенням. Після того як ви визначили, що причина SELinux є причиною, ви повинні переглянути свої відмови AVC та визначити, який булів потрібно змінити, або скласти спеціальну політику за допомогою інструментів SELinux. Постійне вимкнення SELinux - це не дуже гарна ідея.
suprjami

0

Можливо, користувач не має привілеїв на виконання в домашній папці. Виконайте:

chmod +x /home/user

або,

chmod 700 /home/user

0

Сподіваюся, це може допомогти.

local_root=/var/www/ftp/$USER
user_sub_token=$USER

1
Ласкаво просимо на сайт і дякуємо за ваш внесок. Ви б не хотіли додати більше пояснень, як (тобто за допомогою механізму) ваша відповідь вирішує оригінальну проблему? Це може дати іншим, хто стикається з подібною проблемою, більш зрозумілим, чому вони мають це питання в першу чергу.
AdminBee

-1

Біг, setenforce 0як запропонована інша відповідь, не працював для мене.

Наступна команда вирішила проблему:

chmod -R 755 /home/dbadmin

(Раніше каталог / home / dbadmin мав 700 дозволів.)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.