Перейти к содержанию

Скорее всего ответ очевиден, но....


Рекомендуемые сообщения

У меня есть некая программа, работающая только под аккаунтом без рутовых привелегий. И работает она с ключиком. Машинка, для которой куплена лицензия, на некоторое время вышла из строя. Чтобы работа не простаивала, хочется на время ремонта запустить программу с демо-ключом (не привязанным к машине), но срок действия имеющегося у меня истек некоторое время назад Sad Новый получить быстро не представляется возможным по многим причинам. Ломать... хм... хлопотно и малореально для меня (FlexLM, для тех кто в курсе...). Наиболее простое решение - открутить дату назад, отработать, вернуть дату. Руками проделать - без вопросов, но надо знать пароль рута. Говорить его всем подряд - не хочу. Возможно ли реализовать решение так, чтоб это выполнялось автоматически обычным пользователем? Т.е. организовать последовательность типа:

- пользователь запустил скрип со своими привелегиями

- скрипт временно получил рутовые полномочия, поменял дату и отказался от привелегий рута

- скрипт вызвал программу

- отработала, опять получаем рутовые меняем дату заканчиваем работу.

Понимаю, что скорее всего это нереально, но вдруг? Razz

Ссылка на комментарий
Поделиться на другие сайты

Цитата:

пользователь запустил скрип со своими привелегиями

Такое возможно, если пароль для 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, таким образом избегая его явного просмотра. Тогда в этом сможет разобраться только программист, хотя это и несложно.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...