Я думаю, что Вы хотите сделать, не действительно возможно. Вы волнуетесь, прежде всего, о том, кто изменил файл, или Вы явно хотите, так посмотрите, что они использовали pico
сделать так? Если первый имеет место, Вы могли бы использовать совместно используемую файловую систему с регистрирующимися возможностями (т.е. NFS, Samba) и смонтировать пользовательские каталоги этот путь. В зависимости от конфигурации это зарегистрирует каждое действие файла.
---Редактирование
Думая об этом немного больше, я предполагаю, что Вы могли использовать прерывания, чтобы сделать то, что Вы хотите, но это - hackish решение и предотвратит некоторую функциональность удара:
Вставьте следующее Ваш /etc/bashrc
(или подобный):
function commandlogger
{
LASTENTRY=$(fc -ln -0)
logger -p local1.info -t commandlogger -i -- "${USER} - ${LASTENTRY}"
}
trap commandlogger DEBUG
Этот будет пружина прерывание удара каждый раз, когда пользователь вводит команду, которая затем зарегистрирует эту команду в системный журнал. Вы можете затем grep
посредством этого поиска тега commandlogger
. Кроме того, записи будут только зарегистрированы после следующей команды.
Наконец-то нашли источник проблемы и решение (хотя решение определенно не идеально)
Проблема фактически вызвана перенаправлением ввода. Когда ввод с клавиатуры заменяется / dev / null, что-то внутри wine или программы (я не исследовал это), по-видимому, переходит в быстро работающий бесконечный цикл, который вызывает высокую загрузку процессора.
Я нашел решение добавить "владелец консоли" в конфигурацию Upstart, чтобы он подключал процесс к консоли. После этого я даже смог правильно перенаправить вывод :)
Поскольку программа работает на выделенном сервере в центре обработки данных, этот параметр не вызывает никаких проблем.
У меня была такая же проблема. Решение для меня: сначала запускаем экран Xvfb, а затем экспортируем команду DISPLAY =: 1.0 && wineconsole