Права на процесс

Модератор: Модераторы разделов

Аватара пользователя
nerezus
Сообщения: 525
Статус: Вселенский отказник
ОС: windoze

Права на процесс

Сообщение nerezus »

Пишется FTP-сервер.
Создается процесс(через fork()). Юзверь передает логин и пароль.
1) Как правильней проверить, что логин и пароль, переданны юзверем, совпадают с системными?
2) Как сменить права на процесс, чтобы они стали юзверскими(логин и пасс есть). FTP запускается не от рута, естественно.
ICQ 547097
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Права на процесс

Сообщение serzh-z »

1) Сравнить хеш введенного пароля с хешем в /etc/passwd или, более вероятно на совр. системах, /etc/shadow. Получить нужную запись из passwd/shadow можно с помощью getpwnam()/getspnam(). Либо, что предпочтительнее, использовать PAM (хотя не уверен, позволяет ли он форсировать аутентификацию по паролю, если подключены какие-то другие, скажем неинтерактивные, модули аутентификации)
2) Никак. Непривилегированный пользовательский процесс не может сменить свой UID. Можно проделать следующий финт: из процесса запустить другое приложение, которое имеет бит SUID, а уже это приложение, в свою очередь, дропнет суперпользовательские привилегии в UID нужного пользователя.

За безопасность не ручаюсь. Думается, что лучше FTP-серверу использовать существующие su/sudo запуска себя же самого, но с другими привилегиями.
Спасибо сказали:
Аватара пользователя
nerezus
Сообщения: 525
Статус: Вселенский отказник
ОС: windoze

Re: Права на процесс

Сообщение nerezus »

Никак.
А как сделано в FTP-серверах?
ICQ 547097
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Права на процесс

Сообщение serzh-z »

nerezus писал(а):
16.04.2007 14:11
А как сделано в FTP-серверах?
Обычно в серверах имеет своя база виртуальных пользователей, а все процессы FTP-сервера выполняются от имени одного и того же реального пользователя.
Спасибо сказали:
Аватара пользователя
nerezus
Сообщения: 525
Статус: Вселенский отказник
ОС: windoze

Re: Права на процесс

Сообщение nerezus »

Обычно в серверах имеет своя база виртуальных пользователей, а все процессы FTP-сервера выполняются от имени одного и того же реального пользователя.
Эм... не согласен.

proftpd, vsftpd запускаются от пользователя ftp, а юзвери могут залогиниться даже от рута и выполнять операции с файлами рута.

Вот хотелось бы знать, как =\
ICQ 547097
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Права на процесс

Сообщение serzh-z »

nerezus писал(а):
16.04.2007 14:39
Эм... не согласен.
Вам виднее.
nerezus писал(а):
16.04.2007 14:39
proftpd, vsftpd запускаются от пользователя ftp, а юзвери могут залогиниться даже от рута и выполнять операции с файлами рута.
Не имел почти никакого опыта работы с серверами FTP - но предположу, что эти proftpd, vsftpd просто-напросто запускаются в среде chroot, потому и позволяют логиниться рутом.

З.Ы.: ну а если ftpd запущен под рутом, то почему бы ему не выполнять операции от рута...
Спасибо сказали:
Аватара пользователя
nerezus
Сообщения: 525
Статус: Вселенский отказник
ОС: windoze

Re: Права на процесс

Сообщение nerezus »

ну а если ftpd запущен под рутом
не
просто-напросто запускаются в среде chroot
не
ICQ 547097
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Права на процесс

Сообщение Uncle_Theodore »

nerezus писал(а):
16.04.2007 17:52
не
не

http://linuxforum.ru/index.php?s=&show...st&p=380445
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Права на процесс

Сообщение serzh-z »

nerezus
Звучит как "я хочу чего-то, но сам не знаю чего".
Спасибо сказали:
Аватара пользователя
nerezus
Сообщения: 525
Статус: Вселенский отказник
ОС: windoze

Re: Права на процесс

Сообщение nerezus »

Звучит как "я хочу чего-то, но сам не знаю чего".
ога, дайте ШОТА.

Как оказалось, этим «что-то» является PAM. Теперь ищу, как его юзать.
ICQ 547097
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Права на процесс

Сообщение serzh-z »

Найдете - сообщите "как".
Спасибо сказали: