Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
cp -p /bin/sh /bin/cat /bin/sleep bin
cp -p /usr/bin/gzip usr/bin
После подготовки chroot-окружения необходимо определиться со способом вызова chroot. Наиболее универсальный способ – сделать вызов при запуске оболочки пользователя, в этом случае он будет выполнен независимо от способа входа в систему.
Можно указать в качестве оболочки пользователя программу, которая выполняет chroot, а затем вызывает оболочку. Вот пример такой программы:
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/types.h>
#define SHELL "/bin/sh"
main (int argc, char **argv, char **envp) {
char *home;
gid_t uid, gid;
home = getenv("HOME");
if (chroot(home)) {
perror("");
exit(1);
}
gid = getgid();
uid = getuid();
setegid(gid); seteuid(uid);