] Используйте:
grep -o '\[.*apal' file.txt
Замените file.txt
фактическим именем файла.
С другой стороны, если вы хотите сопоставить [
в начале строки:
grep -o '^\[.*apal' file.txt
Похоже, что ваша проблема заключается в сопоставлении виртуальных пользователей с реальными. В vsftp виртуальные пользователи рассматриваются в некотором роде как гостевые пользователи - вот почему вам нужно guest_enable=YES
в вашей конфигурации.
Одно из предложений - создать пользователя для этого сопоставления. Что-то вроде:
useradd -d /home/ftp virtual
echo guest_username=virtual >> /etc/vsftpd/vsftpd.conf
Это сопоставит виртуальных пользователей с реальным пользователем virtual, и они будут chrooted в каталог /home/ftp.
В качестве примечания, /etc/vsftpd/vsftpd-virtual-user
должен быть доступен для чтения пользователю root ( chmod 600 ).
Судя по вашему указанию, конфиг не указывает на файл db: /etc/vsftpd/vsftpd-virtual-user. db
(Вы используете "/etc/vsftpd/vsftpd-virtual-user
"
Кажется, на это ответил в комментариях талиезин .
Возможно, у вас возникла ситуация, когда SELinux блокирует доступ. Убедитесь, что SELinux задействован, запустив:
ls -Z vsftpd-virtual-user.db
Чтобы устранить проблему, запустите:
restorecon -v vsftpd-virtual-user.db