shell and ftp

lordik72

как сделать, чтобы пользователь мог ходить по ftp на машину, в jail директорию, но не мог ssh-ится
пользователь заведён на машине
ftp server - wu-ftp
может есть сервера, где у ftp сервера своя база пользователей ?

CapitanJack

в sshd_config AllowUsers напиши тех кому можно.

Schneeprinz

Поставь ему shell - /bin/nologin

lordik72

не катит

CapitanJack

ну а мой метод чем плох ?

lordik72

твой не то, что плох, а именно то, что нужно !
спасибо большое !

Schneeprinz

Объясни, чем именно не катит?
Нужно, чтобы он только через ssh не мог зайти?

lordik72

угу
2: правда вот, что не работает
я ставлю для группы test
DenyGrops test
пользователь tst в группе test
но когда я пишу
DenyGrops test
AllowUsers tst
для пользователя tst всё равно доступ отказан

Schneeprinz

Есть предположение, что он останавливается на первом подходящем правиле.
То есть сначала нужно всех, кого нужно, разрешать.
А потом уже остальных дропать.

lordik72

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

Schneeprinz

Вообще при политике "deny all" подразумевается, что дропаются все пакеты, про которые ничего специально не оговорено. То есть правила про "allow" идут сначала.
А sshd, видимо, найдя первое подходящее правило, остальные, конечно, не смотрит. В твоём случае это "DenyGroups test". Попробуй Allow и Deny поменять местами.

lordik72

да нет, и политики разрешения всем и отказа всем существуют. в sshd по умолчанию разрешено всем, я же делаю наоборот. возможно правила как то надо объединять

Schneeprinz

Слушай, где я туплю?
sshd смотрит конфиг, видит "Deny", пользователь твой подходит, оно денаит и всё.
Где ошибка?

lordik72

так он денаит группу, где этот пользователь есть
а потом я ему делаю AllowUsers
но всё равно не проходит

CapitanJack

пипетц. ты поменяй местами-то.

Schneeprinz

Да он не доходит до AllowUsers!
Не эффективно это. Первое совпадение считается.
Поменяй правила местами и скажи, что получилось, пожалуйста.

lordik72

так политики по умолчанию разрешены !
я их запрещаю группе. а потом разрешаю кому нужно
результат - the same

Schneeprinz

Ок.
По пунктам.
Имеем: если в конце не сработало ни одно правило, разрешить логин, - это умолчание.
То есть твои правила записываются в виде:
1 DenyGroups test
2 AllowUsers tst
3 AllowUsers all
Понимаешь? Политика по умолчанию в самом конце. А не в начале.
Слушай, поменяй и погляди, что получается.

lordik72

Ок.
По пунктам.
Имеем: если в конце не сработало ни одно правило, разрешить логин, - это умолчание.
То есть твои правила записываются в виде:
1 DenyGroups test
2 AllowUsers tst
3 AllowUsers all
Понимаешь? Политика по умолчанию в самом конце. А не в начале.
Слушай, поменяй и погляди, что получается

твои действия по пунктам
1. По умолчанию разрешено всем, ты запрещаешь группе test
2. разрешаешь пользователю tst, который находится в группе test
3. опять зачем то разрешаешь всем, т.е. и группе test, которая для меня должна быть запрещена

Schneeprinz

1. По умолчанию разрешено всем, ты запрещаешь группе test
Это неверно.
Прочитай еще раз, что я написал.
"Разрешено всем" - самая последняя строчка.
Ты не понимаешь, policy "allow all" значит, что нужно разрешить, в том случае, если ни одно другое правило не сработает. Так понятнее?
Или ты troll?

lordik72

почему даже не работает вот такая схема
DenyUsers test
AllowUsers test

CapitanJack

все по тому же. правила сверху читаются до первого подходящего.

Schneeprinz

Я подробно объясню тебе, почему она не работает.
Потому что первым правилом дропает всех пользователей из группы test.
После этого правила больше не выполняются.
Ок. Просто чтобы ты понял. Выполняется то правило, которое первое совпало. После этого правила больше не рассматриваются.

lordik72

Глеб, это было понятно с самого начала, но имхо если я правил несколько хочу забабахать, как мне быть ?

Schneeprinz

Бабахай их по очереди.
Имей в виду, что первое, которое совпадёт, выполнится.
Видимо, стоит использовать, например, непересекающиеся множества.
Вообще, по этому поводу почитай что-нибудь типа ipchains или iptables howto, чтобы мозги правильно встали.

lordik72

как раз в ip* имхо правила выполняются одно за другим

Schneeprinz

Именно.
Но выполняется самое первое. Прочитай IPTABLES HOWTO.
Оставить комментарий
Имя или ник:
Комментарий: