Полномочия отклонены для proftpd виртуальных пользователей

Я установил Администратора Proftpd GUI, чтобы помочь управлять моими пользователями FTP. Проблема, которую я имею, состоит в том, что я должен установить полномочия каталога на 777, чтобы позволить виртуальным пользователям, сохраненным в mysql базе данных отредактировать и сохранить файлы. Если я изменяю его на 775, пользователь отклонил Разрешение.

Это - мой proftpd.conf файл

Include /etc/proftpd/modules.conf

ServerName                      "ServerName"
ServerType                      standalone
ServerIdent                     on              "Servers identifying string"
DeferWelcome                    on
DefaultServer                   on

DisplayLogin                    .welcome        # Textfile to display on login
DisplayConnect                  .connect        # Textfile to display on connec$
#DisplayFirstChdir               .firstchdir    # Textfile to display on first $

UseReverseDNS                   off
IdentLookups                    off

Port                            21
Umask                           022
MaxInstances                    15
MaxClientsPerHost               3               "Only %m connections per host a$
MaxClients                      10              "Only %m total simultanious log$
MaxHostsPerUser                 1

User                            proftpd
Group                           www-data

ScoreboardFile                  /var/log/scoreboard

# Some logging formats
LogFormat                       default         "%h %l %u %t \"%r\" %s %b"
LogFormat                       auth            "%v [%P] %h %t \"%r\" %s"
LogFormat                       write           "%h %l %u %t \"%r\" %s %b"

# Define log-files to use
TransferLog                     /var/log/proftpd.xferlog
ExtendedLog                     /var/log/proftpd.access_log    WRITE,READ write
ExtendedLog                     /var/log/proftpd.auth_log      AUTH auth
ExtendedLog                     /var/log/proftpd.paranoid_log  ALL default
SQLLogFile                      /var/log/proftpd.mysql

# Set up authentication via SQL
# ===========
AuthOrder                       mod_sql.c
SQLAuthTypes                    Backend
SQLConnectInfo                  proftpd_admin username password
SQLUserInfo                     usertable userid passwd uid gid homedir shell
SQLGroupInfo                    grouptable groupname gid members
SQLUserWhereClause              "disabled=0 and (NOW()<=expiration or expiratio$

# Log the user logging in
SQLLog PASS counter
SQLNamedQuery counter UPDATE "lastlogin=now(), count=count+1 WHERE userid='%u'"$

# logout log
SQLLog EXIT time_logout
SQLNamedQuery time_logout UPDATE "lastlogout=now() WHERE userid='%u'" usertable

# display last login time when PASS command is given
SQLNamedQuery login_time SELECT "lastlogin from usertable where userid='%u'"
SQLShowInfo PASS "230" "Last login was: %{login_time}"

# xfer Log in mysql
SQLLog RETR,STOR transfer1
SQLNamedQuery  transfer1 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now($
SQLLOG ERR_RETR,ERR_STOR transfer2
SQLNamedQuery  transfer2 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now($


AllowStoreRestart               on
AllowRetrieveRestart            on
RequireValidShell               off
#PathDenyFilter                  "\\.ftp)|\\.ht)[a-z]+$"
DefaultRoot                     ~
DenyFilter                      \*.*/


<Directory /path/to/dir>
        AllowOverwrite          on
        HideNoAccess            off
        <Limit READ>
                AllowAll
        </Limit>

        <Limit WRITE>
                AllowAll
        </Limit>
</Directory>

<Directory /path/to/dir>
        AllowOverwrite          on
        HideNoAccess            on

        <Limit READ>
                AllowAll
        </Limit>

        <Limit STOR MKD>
                AllowAll
        </Limit>
</Directory>

Я поместил proftpd пользователь, который выполняет proftpd сервис в www-данных (группа, которая установлена на тот каталог). Я изменил виртуальных пользователей GID для соответствия www-данным GID от системы (который является 33). Когда я создаю новый файл с виртуальным пользователем, тот файл, GID установлен на 65533 и полномочия с 644. Этот GID не существует в моих системах /etc/group файл.

Как я могу сохранить папку и полномочия файлов к 755 и позвольте пользователю отредактировать и сохранить те файлы?

0
задан 24 December 2016 в 21:47
1 ответ

Я подозреваю, что mod_sql может фильтровать значения UID / GID, которые вы назначили своим пользователям в своей базе данных SQL. По умолчанию mod_sql (по историческим причинам) устанавливает минимальное значение для числовых идентификаторов; любые значения ниже этого минимума сопоставляются со значением по умолчанию. См .:

http://www.proftpd.org/docs/contrib/mod_sql.html#SQLMinID

, и это значение 65533 взято из значений по умолчанию, например:

http: //www.proftpd. org / docs / contrib / mod_sql.html # SQLDefaultUID

Учитывая это, вы можете попробовать добавить:

SQLMinID 1

в свой файл proftpd.conf.

1
ответ дан 4 December 2019 в 17:07

Теги

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