Откройте /etc/selinux/config.
Измените selinux=enforcing или Permissive на Disabled.
Не забудьте перезагрузить сервер!
Конечно, вам также необходимо определиться со следующими вопросами:
1. Ограничен ли пользователю вход в систему с помощью vsftpd. Например, имя пользователя находится в /etc/ftpusers и вход в систему заблокирован?
2. Включена ли опция аутентификации pam в vsftpd.conf (часто допускаю ошибки при компиляции и установке самостоятельно) (Посмотрите, есть ли в vsftpd.conf pam_service_name=ftp или vsftpd. Какой именно, зависит от
У кого есть служебный файл /etc/pam.d модуля PAM? У меня ftp и его конфигурация следующая:
#%PAM-1.0
требуется авторизация /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
требуется авторизация /lib/security/pam_unix.so тень nullok
требуется авторизация /lib/security/pam_shells.so
требуется учетная запись /lib/security/pam_unix.so
требуется сеанс /lib/security/pam_unix.so
Если некоторым пользователям в /etc/ftpusers будет отказано
3. Правильны ли права доступа к соответствующим папкам?
Что касается проблемы «некоторые локальные пользователи не могут войти в vsftpd, но некоторые могут»,
Ни одна из существующих локальных учетных записей в системе не может войти в систему. Конфигурация моего файла /etc/vsftpd/vsftpd.conf выглядит следующим образом:
local_enable = ДА
write_enable = ДА
chroot_local_user=ДА
pam_service_name=vsftpd
/etc/pam.d/vsftpd существует и является нормальным.
Сообщение об ошибке при входе в систему такое же:
500 Упс: невозможно изменить каталог:/home/xxxx
Ошибка входа.
421 Служба недоступна, удаленный сервер закрыл соединение
Все их домашние каталоги /home/xxxx. Права доступа /home и /home/xxxx равны 755.
Ни в одну из вышеперечисленных учетных записей нельзя войти через FTP. Они широко используются и могут войти в систему с помощью оболочки.
Я создал новую учетную запись usr1
# useradd -G test -d /tmp/usr1 usr1
Может войти в систему через ftp, его дом — /tmp/usr1, который находится в разделе /. Я смонтировал /home в /dev/hda9.
#устанавливать
/dev/hdb1 on/type ext3 (rw)
/dev/hda9 в /home введите ext2 (rw)
Итак, я предполагаю: из-за раздела /home «учетные записи, домашний каталог которых находится в разделе /home», не могут войти в систему?
Чтобы проверить вышеизложенное предположение, я попытался создать еще одну учетную запись.
useradd -G test -d /home/usr3 usr3
Все права доступа /home и /home/usr3 — 755.
Не удалось войти в usr3 ftp.
500 Упс: невозможно изменить каталог:/home/usr3
Ошибка входа.
421 Служба недоступна, удаленный сервер закрыл соединение
На данный момент я думаю, что очевидно, что именно из-за раздела /home «учетная запись, домашний каталог которой находится в разделе /home», не может войти в систему.
Справочная статья:
Я закончил свое второе обновление до Fedora Core 4. Конечно, со сборкой еще не все улажено, но одно можно сказать наверняка: с RedHat, который я знал раньше, многое изменилось.
Я должен сказать, что из всех изменений самым приятным дополнением для меня являются новые расширения SELinux. Для более подробной информации о причинах и теории SELinux прочитайте «Неизбежность отказа: ошибочное предположение о безопасности в современных вычислительных средах».
Чем больше я работаю с SELinux, тем больше я понимаю, что мне нужно знать о нем и о том, как именно он все делает. Это определенно меняет вещи, связанные с пользователями, каталогами и доступом. Когда я начинаю его изучать, я уверен. Я делаю все по-сложному :)
Для меня основным отличием SELinux от Red Hat является способ обработки ftp. vsftpd по-прежнему остается отличным сервером. Однако, похоже, он предназначен для работы в качестве демона, а не для вызова через xinet.d. вы берете рабочую копию файла xinet.d для vsftpd и можете вызвать его через оболочку xinet.d. Я выполнил свое первое обновление сервера таким образом. Текущее обновление, которое я пытаюсь выполнить в качестве демона, я определенно думаю, что пропущу некоторые из них. возможностей, которые предоставляет оболочка xinet.d, и, возможно, еще вернется к ней.
Из всех проблем, которые я видел, наиболее заметной является то, что вы хотите включить каталог chroot за пределами обычного /home/xxx vsftpd.
500 Упс: невозможно изменить каталог: /mnt/xxxxx
Я смог использовать ftp, если вошел в систему с учетной записью с каталогом в /home, но как только я установил учетную запись пользователя на домашний диск за пределами /home (в данном случае на смонтированном вторичном диске), vsftpd отключил вышеуказанное .
Я нашел в АНБ информацию, указывающую, что вы можете отключить защиту SELinux демона ftp.
setsebool -P ftpd_disable_trans 1
Это кажется немного радикальным, хотя на данный момент это определенно работает.
Я думаю, что в конечном итоге проблема связана с политиками, но, поскольку политики SELinux для меня новы, пройдет время, прежде чем все будет улажено. Поскольку я провожу время с новыми расширениями SELinux в Fedora Core 4, я буду держать вас в курсе своих мыслей. и уроки настройки.
Решение:
# setsebool ftpd_disable_trans 1
# перезапуск службы vsftpd
Я использую FC4 и попробовал метод из вашего предыдущего поста, и он сразу же решился. Следовательно, можно определить, что причина кроется в SELinux.