в Unix переменная IFS часто использовалась для подрыва целостности системы.
Как это было исправлено?
Единственный ответ, который я нашел в Википедии
http://en.wikipedia.org/wiki/Internal_field_separator он говорит:
"Это было исправлено, сделав оболочки не наследуют переменную IFS."
Я могу проверить это в моей системе Debian 6:
$ export IFS=/
$ printf "%s" "$IFS" | od -bc
0000000 057
/
0000001
$ bash
bash-$ printf "%s" "$IFS" | od -bc
0000000 040 011 012 # default values
t n
0000003
bash-$ exit
exit
$
$ printf "%s" "$IFS" | od -bc
0000000 057
/
0000001
$
этого достаточно, чтобы избежать привилегий? Как я могу использовать IFS для ломать абсолютные пути внутри системных () вызовов?