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