LINUX.ORG.RU
решено ФорумAdmin

Права доступа локальных пользователей vsftp.

 , ,


0

0

Есть ftp-сервер с локальными пользователями ftpuser и ftpadmin состоящих в группе ftp. Есть директория /ftp с группой ftp и владельцем ftpadmin в которой ftpuser создал директорию userdir а в ней файл userfile. Как сделать так что бы по умолчанию ftpadmin имел права на удаление userfile в userdir?

На удаление одного конкретного файла - никак. На удаление файлов из каталога - легко (man chmod/setfacl)

no-dashi ★★★★★ ()
Ответ на: комментарий от no-dashi

ftpadmin (не root) у него нет прав изменять права на файл. Меня интересует как сделать так что бы у ftpadmin был доступ к удалению файлов и директорий созданных любыми пользователями как у root'а.
Например ftpuser подключился с помощью ftp-клиента и создал /ftp/userdir/userfile. ftpadmin подключился с помощью ftp-клиента и удалил /ftp/userdir/userfile.

unclear ()
Ответ на: комментарий от no-dashi

Давно выкурил man chmod. Если ftpuser создает директорию по ftp, все что он в ней создаст будет с правами -rw-r--r-- ftpuser:ftp. Следовательно у ftpadmin есть права только на уделение директорий и файлов внутри директори владельцем которой он является (/ftp/). А в данном случаем он не является владельцем директории которую создал ftpuser (/ftp/ftpdir/) следовательно и с содержимым ничего сделать не может (/ftp/userdir/userfile/). Вопрос: как по умолчанию дать ftpadmin'у права удалять любые файлы в любых директориях любых пользователей. А не заходить кажды раз на сервер через ssh и chmod'ить директории и файлы которые создал ftpuser внутри своих директорий.

unclear ()
Ответ на: комментарий от no-dashi

И что тут решит sgid? Созданные файлы и директории будут в группе ftp. ftpadmin и ftpuser итак уже в группе ftp. Но владелец то директории ftpuser, так что ftpadmin все равно не сможет ничего удалить.

unclear ()
Ответ на: комментарий от unclear

&^%#($! Если каталог имеет sgid, то все созданные в нем файлы и каталоги будут принадлежать той же группе. И если ты отдашь каталог группе ftpadmin, то всё что будет туда залито, будет принадлежать юзеру ftpuser и группе ftpadmin. И если ты дашь права на запись на каталог группе, то эта группа сможет писать в эти файлы и удалять файлы из этого каталога.

Поколение вконтактега, блин...

no-dashi ★★★★★ ()
Ответ на: комментарий от no-dashi

Ты хоть мой вопрос внимательно прочитал? ftpuser и ftpadmin в одной и той же группе ftp. На директории /ftp/ такие права drwxrwsr-x ftpadmin:ftp. Если ftpuser создает директорию /ftp/userdir а в ней /ftp/userdir/userfile. Созданный userfile будет с правами -rw-r--r-- ftpuser:ftp.

unclear ()

Решение: В vsftpd.conf изменить local_unmask=002. Создать пользователя ftpuser:ftpuser, добавить ftpadmin:ftpadmin в дополнительную группу ftpuser. Присвоить директории /ftp права drwxrwsr-x ftpuser:ftpuser (флаг s удобен если мы локально из под другого пользователя хотим скопировать, создать файлы, директории и сделать их автоматически доступными группе ftpuser в /ftp).

unclear ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.