Дозволити користувачам завантажувати файли через SFTP, видаляти файли, але не додавати і не змінювати


3

У мене є сервер SFTP на CentOS 7.4 (через стандарт sshd), і я хочу налаштувати сервер так, щоб користувачі могли завантажувати файли у свій каталог, видаляти файли у своєму каталозі, але не можуть завантажувати нові файли або перезаписувати файли.

Я можу використовувати chmodдля встановлення rw, але я не хочу, щоб користувачі могли завантажувати нові файли чи змінювати їх, просто завантажуючи їх.

Чи є тут якийсь трюк, який я можу використати? (Схоже, більшість людей хоче заблокувати видалення та дозволити доповнення / модифікації, я хочу навпаки.)

У мене також включений і функціонує SELinux, якщо це також допомагає.

Найближчий я отримав це chmod 555, chownдля користувача, але тоді я не можу видалити файл, тільки читати. Якщо я chmod 755перейшов до каталогу, я можу читати та видаляти файли, і я не можу змінювати існуючі файли, але все одно можу додавати нові файли.

Також відповідна частина мого /etc/ssh/sshd_config:

Match Group sftpusers
    ChrootDirectory /zfspool/sftp/%s
    ForceCommand internal-sftp

Все інше за замовчуванням. Сервер SFTP:

Subsystem    sftp    /user/libexec/openssh/sftp-server

Відповіді:


0

Ви можете зробити це за допомогою функції чорного списку sftp-сервера у своєму sshd_config:

Subsystem       sftp    /usr/libexec/openssh/sftp-server -P write

або альтернативно, якщо використовується Internal-sftp:

ForceCommand internal-sftp -P write

Ви можете керувати дозволеними запитами в режимі білого / чорного списку, дивіться man sftp-сервер та sftp-server -Q запити, щоб отримати список доступних запитів на вашому сервері.


Отже, додавши, що -P writeв моєму sshd_configне вийшло, чи має це щось спільне з ForceCommand internal-sftp/ chroot?
Der Kommissar

дійсно: оновив мою відповідь на переміщення -P писати до внутрішньої sftp директиви.
tonioc
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.