Доброго всем дня!Есть голый сервак с FreBSD 6.2, настроен доступ через SFTP.
- как закрыть обычных юзеров в своей домашней директории?
- как юзеру, имеющему привелегии рута, разрешить писать и редактировать файлы и директории по всему серваку?Клиенты - виндовые машины, стучатся по SFTP через плагин FAR WinSCP.
З.Ы. не судите строго, ибо нуб я в таких делах :(
Какой софт еще нужно доставить? Если нужно...
если я чтото не указал - спрашивайте
>Доброго всем дня!
>
>Есть голый сервак с FreBSD 6.2, настроен доступ через SFTP.
>- как закрыть обычных юзеров в своей домашней директории?chroot, но это придется потрудиться.
>>Доброго всем дня!
>>
>>Есть голый сервак с FreBSD 6.2, настроен доступ через SFTP.
>>- как закрыть обычных юзеров в своей домашней директории?
>
>chroot, но это придется потрудиться.
cd /usr/ports/security/sudo; make && make install && make clean;
man sudo
>>>Доброго всем дня!
>>>
>>>Есть голый сервак с FreBSD 6.2, настроен доступ через SFTP.
>>>- как закрыть обычных юзеров в своей домашней директории?
>>
курите /etc/ftpchroot и будет вам счастье
>>>>Доброго всем дня!
>>>>
>>>>Есть голый сервак с FreBSD 6.2, настроен доступ через SFTP.
>>>>- как закрыть обычных юзеров в своей домашней директории?
>>>
>курите /etc/ftpchroot и будет вам счастьеВ свое время оное сооружал. В портах есть какой-то шелл, специально для этой возни - чтоб только sftp и только в своей директории. Вроде даже и скрипт был, сооружающий chroot.
если бы еще вы назвали имя этого шелла - был бы очень признателен :)
>если бы еще вы назвали имя этого шелла - был бы очень
>признателен :)/usr/ports/shells/scponly
>>если бы еще вы назвали имя этого шелла - был бы очень
>>признателен :)
>
>/usr/ports/shells/scponly
огромное спасибо!
буду копать
>>>Доброго всем дня!
>>>
>>>Есть голый сервак с FreBSD 6.2, настроен доступ через SFTP.
>>>- как закрыть обычных юзеров в своей домашней директории?
>>
>>chroot, но это придется потрудиться.
>
>cd /usr/ports/security/sudo; make && make install && make clean;
>man sudoприучайтесь читать внимательно.
>>Доброго всем дня!
>>
>>Есть голый сервак с FreBSD 6.2, настроен доступ через SFTP.
>>- как закрыть обычных юзеров в своей домашней директории?
>
>chroot, но это придется потрудиться.
это принципиально правильное решение?
Делал это уже довольно давно, на тот момент существующие решения не устраивали.
Так что сильно не пинайте, если че не так.За основу брал OpenSSH.
cd /usr/ports/security/openssh
make patchпотом в файле work/ssh/sftp-server.c функцию майн привожу к такому виду
(первые-последние строки там уже есть, привел для привязки):int
main(int ac, char **av)
{
fd_set *rset, *wset;
int in, out, max;
ssize_t len, olen, set_size;
char *chrootdir;
struct passwd *pw;
char *name;/* XXX should use getopt */
handle_init();
if ((name = getenv("USER")) == NULL) {
error("USER not set");
exit(11);
}
log( "user %s logged in", name );
//printf( "%s\n", name);if ((pw = getpwnam(name)) == NULL) {
error("getpwname");
exit(11);
}
if (chroot(pw->pw_dir) < 0)
{
error("chroot");
exit(11);
}
log( "chrootted to %s", pw->pw_dir );/* set permissions */
if (setgid(pw->pw_gid) < 0)
{
error("setgid");
exit(11);
}
if (setuid(pw->pw_uid) < 0)
{
error("setuid");
exit(11);
}in = dup(STDIN_FILENO);
out = dup(STDOUT_FILENO);тут можно еще, к примеру, вставить проверку на, скажем, наличие точки в пути к дому и только в тогда chroot-ить. Но у меня рутятся все
Дальше
make install
файлик work/ssh/sftp-server/sftp-server переписываю в /root
владелец его рут + суид (иначе не даст сделать чрут)кому надо заходить по сфтп с чрутом - ставлю шеллом /root/sftp-wrapper
его содержимое:#!/bin/sh
host=`/bin/echo $SSH_CLIENT | awk '{print $1}'`
date=`/usr/bin/env LANG=C /bin/date "+%Y-%b-%d %H:%M:%S"`
/bin/echo $date user \'$USER\' log in from $host >> /root/sftp-log
exec /root/sftp-serverвсе, доступ идет через стандартный sshd, шеллом запускается патченный сфтп от рута,
делает чрут и выставляет правильных юзера/группу, дальше работать можно только
по протоколу стфп (т.е. командой строки нет) и в папках не выше дома.в last этих заходов не видно, но враппером пишутся в /root/sftp-log
спасибо Владимир! Попытаюсь чтото подобное реализовать...
но может есть какой то более прстой способ?
Для меня основная задача сейчас такая:
на виндовой машине есть дистрибутивы прог для фри. Каким макаром проще всего по сетке запихнуть эти дистрибутивы на сервак (чтоб потом там инсталить)? Приветствуются защищенные режимы передачи. Больше в сети фрюшных машин нету
Спасибо
>спасибо Владимир! Попытаюсь чтото подобное реализовать...
>но может есть какой то более прстой способ?
>Для меня основная задача сейчас такая:
>на виндовой машине есть дистрибутивы прог для фри. Каким макаром проще всего
>по сетке запихнуть эти дистрибутивы на сервак (чтоб потом там инсталить)?
>Приветствуются защищенные режимы передачи. Больше в сети фрюшных машин нету
>
>
>Спасибо
>>спасибо Владимир! Попытаюсь чтото подобное реализовать...
>>но может есть какой то более прстой способ?
>>Для меня основная задача сейчас такая:
>>на виндовой машине есть дистрибутивы прог для фри. Каким макаром проще всего
>>по сетке запихнуть эти дистрибутивы на сервак (чтоб потом там инсталить)?
>>Приветствуются защищенные режимы передачи. Больше в сети фрюшных машин нету
>>
>>
>>Спасибо
>
>попробуй
>http://www.agava.ru/hosting/faq/pic_ssh.shtml
прочел, но вопрос остается открытым - я захожу через SFTP на сервак юзером, который входит в группу wheel. Но все равно не могу изменять содержимое файлов вне домашнего каталога. Как этого можно добиться, не заходя рутом?