Как реализовать статический / фиксированный SQLGroupInfo без таблицы на ProFTPD? - PullRequest
0 голосов
/ 04 мая 2019

Я нашел несколько учебных пособий для ProFTP с подключением MySQL.Но эти обработки по общей схеме, 99% из них одинаково.И не стоит вдаваться в детали конфигурации.

Требуется ли SQLGroupInfo?

Я заметил, что группы всегда одинаковы.Поэтому в таблице групп требуется только одна запись базы данных.

Я хочу исправить это, опустив таблицу групп и установив ее непосредственно в конфигурации.

Как я могу это сделать?

Первая попытка была при регистрации пользовательского запроса:

# Hardcoded groups
SQLNamedQuery get-groups SELECT 'ftp' AS `name`, 2001 AS `group`, 'ftpd' AS `members`
SQLGroupInfo sql:/get-groups

Но здесь я получаю следующую ошибку:

fatal: SQLGroupInfo: плохо отформатированпараметр в строке 34 '/etc/proftpd/sql.conf'

1 Ответ

1 голос
/ 04 мая 2019

Проблема в том, что я должен вернуть правильные строки, такие как gid, groupname и members.При желании вы можете удалить FROM $table WHERE [...], что не требуется.

Вот решение:

# Hardcoded groups
SQLNamedQuery get-group-by-name SELECT "`username` AS `groupname`, '1010' AS `gid`, `username` AS `members` FROM `fh_ftp_user` WHERE `username`='%{0}'"
SQLNamedQuery get-group-by-id SELECT "`username` AS `groupname`, '1010' AS `gid`, `username` AS `members` FROM `fh_ftp_user` WHERE `username`='%{0}'"
SQLNamedQuery get-group-by-member SELECT "`username` AS `groupname`, '1010' AS `gid`, `username` AS `members` FROM `fh_ftp_user` WHERE `username`='%{0}'"
SQLGroupInfo custom:/get-group-by-name/get-group-by-id/get-group-by-member

Или

# Hardcoded groups
SQLNamedQuery get-hardcoded-group SELECT "'YourHardcodedGroup' AS `groupname`, 1010 AS `gid`, 'MemberName' AS `members`"
SQLGroupInfo custom:/get-hardcoded-group
...