Конфигурирование ProFTPd надежно в общей среде

Удостоверьтесь, что kdump initscript включен. пакеты kexec_crash полагаются на initscript для обхода нормальной стандартной программы запуска. Это определяет действительно ли текущий вызов init был тот, который был вызван катастрофическим отказом и использованием, что, чтобы определить, должно ли предыдущее состояние выполнения быть выведено прежде, чем выполнить истинную перезагрузку.

Тем не менее, если Ваша система тестирования не является достаточно маленькой для вписывания в 64 МБ без Вас замечающий, что любой катастрофический отказ уменьшает Вашу общую память, это, вероятно, не, что продолжается.

Главное, которое необходимо искать, состоит в том ли второе init стреляет. Сразу после катастрофического отказа системы необходимо видеть, что initscript запускает последовательности на консоли, которым не предшествует перезагрузка.

  • Если этого не происходит, Ваше ядро катастрофического отказа не стреляет вообще.
  • Если это происходит, и до Вас спадают подсказка, Ваш initscript не делает своего задания. (или это не включено или не обнаружение состояния посткатастрофического отказа),
  • Если это происходит, второе init огни, системные перезагрузки, init запускается снова, и несмотря на все это у Вас все еще нет файла... необходимо диагностировать то, что продолжается прямо перед kdump initscript выпускает перезагрузку. Достаточно иронически один из лучших методов должен отключить initscript и выполнить команды вручную. (осторожность: удостоверьтесь, что Ваши сервисы могут вписаться в память ядра катастрофического отказа прежде, чем делать попытку этого!)
1
23.10.2013, 08:14
1 ответ

Лучшее решение состояло бы в том, чтобы использовать аутентификацию MySQL и не иметь каждого клиента, имеющего системную учетную запись. Это дало бы Вам намного больше гибкости с точки зрения местоположений каталога, идентификаторов пользователей и также дало бы Вам повышение безопасности.

Чтобы сделать это, создайте proftpd с поддержкой mysql.

Затем в mysql, составьте таблицу (возможно, названный "пользователями"):

  CREATE TABLE users (
    userid VARCHAR(30) NOT NULL UNIQUE,
    passwd VARCHAR(80) NOT NULL,
    uid INTEGER UNIQUE,
    gid INTEGER,
    homedir VARCHAR(255),
    shell VARCHAR(255),
    active BOOLEAN DEFAULT true
  );

  CREATE INDEX users_userid_idx ON users (userid);

Затем добавить пользователей. Пароль может быть во многих форматах (согласно директиве SQLAuthTypes в proftpd.conf), но необходимо смочь просто поместить существующие зашифрованные пароли там.

   INSERT INTO users (username,password, uid, homedir) VALUES ('username','APassWord', 77, '/home/sftpcustomers/custname/')

Ваш proftpd.conf должен иметь:

     SQLBackend            mysql
     SQLAuthenticate       users
     AuthOrder             mod_sql.c
     SQLAuthTypes          OpenSSL Plaintext Crypt
     SQLConnectInfo        dbname@localhost:3306 db_username db_password

     SQLUserInfo     users username password uid NULL homedir NULL
     SQLUserWhereClause "Active = 1"
0
28.01.2020, 02:02
  • 1
    Простите мне, поскольку это были много лет с помощью ProFTP с бэкендом SQL, но как полномочия затем обрабатываются? Как это служит конечной цели разрешения полномочий остаться строгим и изолированным?Спасибо! –  Geekman 24.10.2013, 05:21

Теги

Похожие вопросы