Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Права доступа пользователей в vsftpd
цитата
21/08/09 в 22:31
 megreep
Ситуация следующая: на серваке стоит vsftpd, есть несколько локальных юзеров, все со своими домашними директориями. Логинятся и пишут в пределах своих дир без проблем. Виртуальных юзеров не заводил, не было необходимости. Каждый локальный юзер имеет свою личную группу в системе.

Теперь стоит задача: нужно чтобы несколько пользователей имели полный доступ в одну и ту же homedir. Делаю пользователя через useradd, добавляю его в одну из существующих групп. Читать свою homedir читает, а записывать туда и в подпапки не может. На site.com стоит 711. На site.com/html стоит 775 права доступа, на папки пониже 755. В site.com/html записывать может новый юзер а в папки уровнем ниже - нет. Как быть?

Виртуальные пользователи vsftpd не устраивают, потому как насколько я понял там нельзя задавать какие угодно homedir для разных пользователей.
цитата
21/08/09 в 22:47
 lega_cobra
Если тебе надо просто несколько пользователей с разными логинами/паролями с одними и теми же полномочиями - создай несколько пользователей с одинаковым user id.
цитата
21/08/09 в 22:57
 megreep
проще - да, нужно что несколько пользователей могли читать и писать в одну и ту же папку. То есть использовать опцию --non-unique при создании юзера? можно ли через usermod модифицировать существующие локальные учетки и как вообще система отнесется к наличию нескольких пользователей с одинаковыми UID?
цитата
22/08/09 в 00:35
 lega_cobra
Сделать можно чем угодно. Хоть прямым редактированием /etc/passwd и /etc/shadow. Только, если опыт есть. Система нормально отнесется к одинаковым юзерам, так-как для нее, это один и тот же юзер. Вот только пароль менять можно будет только руту.

А можно и через общую группу сделать. Только для каталога надо права 0770 сделать.
цитата
22/08/09 в 10:05
 megreep
попробовал сделать права на каталог site.com/html/ 0770 - в сам каталог html/ пишется нормально, а вот на подпапки пониже нет.

далее сделал юзера с таким же UID как и у одного из локальных, назначил ему хоумдир - все нормально пишется везде.

lega_cobra: посты оценил smail54.gif
цитата
22/08/09 в 11:46
 Pentarh
Ну можно и у созданного юзера отредактировать UID и GID и поставить их в значение исходного юзера. Делается командой vipw. Если редактор vi не устраивает, то export EDITOR=ee к примеру перед командой.
цитата
22/08/09 в 13:43
 msth
pure-ftpd в этом плане гораздо интереснее и удобнее с его virtdb..
цитата
22/08/09 в 14:59
 lega_cobra
msth писал:
pure-ftpd в этом плане гораздо интереснее и удобнее с его virtdb..


ТС нужны системные юзера, а не виртуальные icon_smile.gif
цитата
22/08/09 в 16:36
 megreep
именно ))
цитата
22/08/09 в 17:40
 msth
lega_cobra писал:
ТС нужны системные юзера, а не виртуальные icon_smile.gif


можно виртуальных юзеров завязать на системных, очень просто:

Код:
~ $ pure-pw

Usage :

pure-pw useradd <login> [-f <passwd file>] -u <uid> [-g <gid>]
                -D/-d <home directory> [-c <gecos>]
                [-t <download bandwidth>] [-T <upload bandwidth>]
                [-n <max number of files>] [-N <max Mbytes>]
                [-q <upload ratio>] [-Q <download ratio>]
                [-r <allow client ip>/<mask>] [-R <deny client ip>/<mask>]
                [-i <allow local ip>/<mask>] [-I <deny local ip>/<mask>]
                [-y <max number of concurrent sessions>]
                [-z <hhmm>-<hhmm>] [-m]

pure-pw usermod <login> -f <passwd file> -u <uid> [-g <gid>]
                -D/-d <home directory> -[c <gecos>]
                [-t <download bandwidth>] [-T <upload bandwidth>]
                [-n <max number of files>] [-N <max Mbytes>]
                [-q <upload ratio>] [-Q <download ratio>]
                [-r <allow client ip>/<mask>] [-R <deny client ip>/<mask>]
                [-i <allow local ip>/<mask>] [-I <deny local ip>/<mask>]
                [-y <max number of concurrent sessions>]
                [-z <hhmm>-<hhmm>] [-m]

pure-pw userdel <login> [-f <passwd file>] [-m]

pure-pw passwd  <login> [-f <passwd file>] [-m]

pure-pw show    <login> [-f <passwd file>]

pure-pw mkdb    [<puredb database file> [-f <passwd file>]]

pure-pw list    [-f <passwd file>]

-d <home directory> : chroot user (recommended)
-D <home directory> : don't chroot user
-<option> '' : set this option to unlimited
-m : also update the /etc/pure-ftpd/pureftpd.pdb database
For a 1:10 ratio, use -q 1 -Q 10
To allow access only between 9 am and 6 pm, use -z 0900-1800
цитата
22/08/09 в 23:05
 megreep
обнаружилась следующая проблема: при закачке или создании папки, файлами или папкам закачиваемым назначаются следующие права: 770.

vsftpd.conf
Код:
local_umask=077
file_open_mode=0777


Естественно, при 770 никто кроме группы или владельца не сможет прочитать файл или папку. Изменениями в вышеуказанных опциях не удалось добиться изменения закачиваемых файлов/папок хотя бы на 666. Где грабли?
цитата
22/08/09 в 23:52
 lega_cobra
megreep писал:
обнаружилась следующая проблема: при закачке или создании папки, файлами или папкам закачиваемым назначаются следующие права: 770.
vsftpd.conf
Код:
local_umask=077
file_open_mode=0777

Естественно, при 770 никто кроме группы или владельца не сможет прочитать файл или папку. Изменениями в вышеуказанных опциях не удалось добиться изменения закачиваемых файлов/папок хотя бы на 666. Где грабли?


Ну поставь local-umask=0000 file_open_mode=0666. И не забывай, что пермишенсы можно менять после закачки тем же ftp клиентом.
цитата
22/08/09 в 23:58
 lega_cobra
msth писал:
можно виртуальных юзеров завязать на системных, очень просто:


Можно. Но ТС спрашивал про системных icon_smile.gif
цитата
23/08/09 в 00:11
 megreep
Код:
local_umask=0000
file_open_mode=0666

создаются файлы и папки с 770. читал что можно в .bashrc пользователя прописать пермишены для создаваемых папок и файлов. как это сделать, потому как я еще не добрался до изучения таких тонкостей?

Цитата:
И не забывай, что пермишенсы можно менять после закачки тем же ftp клиентом.

у меня парочка людей которым нужен доступ на фтп - они никогда этого делать не будут ))
цитата
23/08/09 в 00:17
 lega_cobra
megreep писал:
Код:
local_umask=0000
file_open_mode=0666

создаются файлы и папки с 770. читал что можно в .bashrc пользователя прописать пермишены для создаваемых папок и файлов. как это сделать, потому как я еще не добрался до изучения таких тонкостей?


.bashrc тебе никак не поможет. А чем тебе 770 не подходит? У тебя же вообще юзера с одним ID. Или я где-то что-то уже пропустил?
цитата
23/08/09 в 00:19
 megreep
770 - из инета не смогут читать этот файл ))
цитата
23/08/09 в 00:44
 lega_cobra
megreep писал:
770 - из инета не смогут читать этот файл ))


А добавить апач в группу пользователя сложно?

ЗЫ Запутал ты окончательно. В конфигах что-то наворотил. Сказал бы, что хочешь получить icon_smile.gif
цитата
23/08/09 в 01:04
 megreep
ёпт... как-то не подумал об этом icon_redface.gif не ругайтесь дяденька ))
цитата
23/08/09 в 01:08
 megreep
я не запутал )) я ж грил че хочу: хочу чтобы разные пользователи могли писать в одну и туже хоумдир (решено) и обнаружил косяк с правами на закачиваемые файлы. конфиг для vsftpd у меня дефолтовый, тока пару директив прописал еще, но все-таки vsftpd косячно как-то обрабатывает file_open_mode - ты ему одно гришь а он тебе совсем другое выдает )) лана, проблема решилась добавлением апача в нужные группы. +2 ))


Эта страница в полной версии