sergeygs Опубликовано 1 октября, 2004 Жалоба Опубликовано 1 октября, 2004 У меня есть некая программа, работающая только под аккаунтом без рутовых привелегий. И работает она с ключиком. Машинка, для которой куплена лицензия, на некоторое время вышла из строя. Чтобы работа не простаивала, хочется на время ремонта запустить программу с демо-ключом (не привязанным к машине), но срок действия имеющегося у меня истек некоторое время назад Новый получить быстро не представляется возможным по многим причинам. Ломать... хм... хлопотно и малореально для меня (FlexLM, для тех кто в курсе...). Наиболее простое решение - открутить дату назад, отработать, вернуть дату. Руками проделать - без вопросов, но надо знать пароль рута. Говорить его всем подряд - не хочу. Возможно ли реализовать решение так, чтоб это выполнялось автоматически обычным пользователем? Т.е. организовать последовательность типа: - пользователь запустил скрип со своими привелегиями - скрипт временно получил рутовые полномочия, поменял дату и отказался от привелегий рута - скрипт вызвал программу - отработала, опять получаем рутовые меняем дату заканчиваем работу. Понимаю, что скорее всего это нереально, но вдруг? Цитата
EL[michlen] Опубликовано 2 октября, 2004 Жалоба Опубликовано 2 октября, 2004 Цитата: пользователь запустил скрип со своими привелегиями Такое возможно, если пароль для su прописать в самом скрипте. Если боитесь, что юзер будет просматривать текст скрипта, можно записать туда пароль в закодированном виде. Например, методом // Пример на С для наглядности: char *code(char *str2code, char *code2use) { // str2code - строка, которую мы кодируем // code2use - некая строка, которую мы используем в качестве кода while (strlen(str2code) > strlen(code2use)) { strcat(code2use,"A"); // Если длина кода меньше, чем строка, увеличиваем эту длину } for (int i=0; i<strlen(str2code); i++) { str2code = str2code ^ code2use; // Собственно, кодирование =) } return str2code; } /* В данном случае для декодирования строки используется эта же функция. При другом code2use, оригинальную строку мы уже не получим, т.е. нужно использовать один и тот же код для кодирования и декодирования (можно задать его константным, а можно использовать для разных пользователей). */ а при выполнении su декодировать его и передавать на ввод su, таким образом избегая его явного просмотра. Тогда в этом сможет разобраться только программист, хотя это и несложно. Цитата
Ager Опубликовано 3 октября, 2004 Жалоба Опубликовано 3 октября, 2004 можно через sudo разрешить этому пользователю выполнять команду date Цитата
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.