Попробуйте этим вместо этого:
ffmpeg -i "$x" -vol 100 -ab 160k -ar 44100 "`basename "$x" .avi`.mp3"
Прежде чем опции были перед входным файлом, но похоже, что Вы хотите установить их для выходного файла.
У Вас есть большое продолжение там..... Мой лучший ответ на это должен объяснить просто, как я видел, что сессия регистрируется сделанный в прошлом. Надо надеяться, это даст Вам некоторые опции исследовать.
bash history
от учетных записей пользователей. Это только работает после того, как сессия закончилась. Едва ли наилучший вариант, но это легко и надежно.virtual terminal
такой как screen
команда в Linux. Это не очень устойчиво, поскольку это запускается на пользовательском входе в систему однако, если они знают, что это регистрируется, можно все еще уничтожить сервис. Это работает хорошо в сценарии конечного пользователя. Конечные пользователи обычно захватываются в указанной области так или иначе и не имеют знания для обхождения этого.aureport --tty
Это - инструмент, который позволяет Вам указывать, какие пользователи зарегистрированы, и позвольте Вам указывать место хранения упомянутых журналов..., поскольку всегда избегают журналы хост-сервера. У меня есть журналы сеанса на нашем сервере SFTP, скопированном прочь в центральный сервер входа и локальный cronjob перемещение их к не общему ресурсу для архива.Это встроено для Redhat и Fedora однако, можно установить его на Debian и Ubuntu. Это - часть auditd пакета, которому я верю. Вот некоторая документация относительно auditd
и необходимые изменения конфигурации к pam (в/etc/pam.d/system-auth), указывая отдельного пользователя здесь (корень):
session required pam_tty_audit.so disable=* enable=root
Вывод в качестве примера aureport --tty
:
TTY Report
===============================================
# date time event auid term sess comm data
===============================================
1. 1/29/2014 00:08:52 122249 0000 ? 4686960298 bash "ls -la",<ret>
Это - решение, которое заботится о первом вопросе, а также представляет использование auditd в интерактивном режиме, за пределами pam_tty решения для модуля, предоставленного в другом ответе.
удар
Во-первых, как объяснил участник, могли бы быть проблемы синтаксиса с исходной установкой и существует лучший способ сделать это использование переменной $BASH_COMMAND:
Команда, в настоящее время выполняемая или собирающаяся быть выполненным, если оболочка не выполняет команду как результат прерывания, в этом случае, это - команда, выполняющаяся во время прерывания.
Обновление исходной prompt_command ссылки и функции как так работает:
PROMPT_COMMAND=$(history -a)
typeset -r PROMPT_COMMAND
function log2syslog
{
declare command
command=$BASH_COMMAND
logger -p local1.notice -t bash -i -- $USER : $command
}
trap log2syslog DEBUG
Таким образом, новые строки истории записаны в bash_history
зарегистрируйте каждый раз из-за PROMPT_COMMAND, и так как $BASH_COMMAND находится в прерывании, команда, введенная на cli, является выполняемой командой. Если я удаляю историю-a, я вижу, что мой PS1 отражен. Работы отлично и удаляют все дублирующиеся строки. Вывод включает также расширение псевдонима по некоторым причинам.
Также возможно сделать это без прерывания с помощью PROMPT_COMMAND только, как так:
PROMPT_COMMAND='history -w; history -a; history -r; command=$(fc -ln 0); logger -p local1.notice -t bash -i -- $USER : $command'
Это не показывает расширение псевдонима, но это имеет маленький дефект, который я не могу исправить: если Вы просто нажимаете Enter ни с чем иным на строке, он производит последнюю команду к журналам. Вы не можете объединить arwn опции истории. Мы пишем историю, которую мы должны зарегистрировать, затем записать добавленную историю с начала сессии, затем мы читаем ее назад, и затем мы ищем последнюю строку.
zsh
С zsh мы можем использовать precmd встроенную функцию, подобную P_C, как так, с одной оболочкой определенная опция оболочки, все в .zshrc
:
setopt incappendhistory
precmd () {
command="$(fc -n -e - -l -1)"
logger -p local1.notice -t zsh -i "$USER : $command"
}
И вот именно!
Аудит
Аудит является пакетом аудита, содержащим демона с плагинами и средствами отчетности. Это использует основанный на правилах подход (см. безопасность, ориентированную на audit.rules пример здесь) захватывать и регистрировать события. Установите пакет, затем удостоверяются, что у Вас есть это в /etc/conf.d/auditd
:
AUDITD_LANG=en_US
AUDITD_DISABLE_CONTEXTS="no"
Можно также рассмотреть много других опций в /etc/audit/auditd.conf
, включая путь журнала (/var/log/audit/audit.log
по умолчанию).
Платформа также включает диспетчера с плагинами, включая тот, который имеет способность записать непосредственно в syslog
раз так желаемый, для удобства. Необходимо сначала включить его в/etc/audisp/plugins.d/sysconf путем включения active
:
active = yes
direction = out
path = builtin_syslog
type = builtin
args = LOG_INFO
format = string
Вы также найдете средства (audisp-удаленными) в диспетчере для удаленного входа, но это не должно быть установлено включить диспетчеризацию системному журналу здесь. Если Вы включите плагин системного журнала, и журналируемый используется вместо системного журнала, то журналируемый покажет вывод, а также /var/log/audit/audit.log (установка по умолчанию). После того как установка завершена, можно запустить демона она с auditd -s enable
. От журналов:
Started dispatcher: /sbin/audispd pid: 3869
audispd[3869]: priority_boost_parser called with: 4
audispd[3869]: max_restarts_parser called with: 10
audispd[3869]: syslog plugin initialized
audispd[3869]: audispd initialized with q_depth=120 and 1 active plugins
audispd[3869]: node=gentoouser3x86_64 type=DAEMON_START msg=audit(1391089266.449:1498): auditd start, ver=2.1.3 format=raw kernel=3.10.2...res=success
auditd[3867]: Init complete, auditd 2.1.3 listening for events (startup state enable)
you can easily check the status too with auditctl -s:
AUDIT_STATUS: enabled=1 flag=1 pid=3867 rate_limit=0 backlog_limit=64 lost=21 backlog=0
Интерактивное использование не требует его, но если у Вас нет допустимой auditd.service единицы для управления с systemctl
для запуска при начальной загрузке можно попробовать вместо этого просто включая audit=1
как параметр начальной загрузки ядра, поскольку часто это было реализовано на уровне ядра.
Платформа теперь в порядке, и можно выборочно захватить события в интерактивном режиме на использовании cli auditctl
. Тонны опций доступны. В особенности мы можем контролировать системные вызовы EXECVE и видеть команды, используемые в оболочке в качестве аргументов здесь:
# auditctl -a exit,always -F arch=b64 -S execve
(audit.log output)
type=EXECVE msg=audit(1391090877.859:98): argc=3 a0="ls" a1="--color=auto" a2="-la"
type=CWD msg=audit(1391090877.859:98): cwd="/root"
type=PATH msg=audit(1391090877.859:98): item=0 name="/bin/ls" inode=4194395 dev=08:34 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL
type=PATH msg=audit(1391090877.859:98): item=1 name=(null) inode=1613135 dev=08:34 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL
type=SYSCALL msg=audit(1391090887.955:99): arch=c000003e syscall=59 success=yes exit=0 a0=1de21f0 a1=1de10c0 a2=1db7960 a3=7fff3691a390 items=2 ppid=3994 pid=4006 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 ses=1 tty=pts2 comm="clear" exe="/usr/bin/clear" key=(null)
type=EXECVE msg=audit(1391090887.955:99): argc=1 a0="clear"
type=CWD msg=audit(1391090887.955:99): cwd="/root"
type=PATH msg=audit(1391090887.955:99): item=0 name="/usr/bin/clear" inode=1966198 dev=08:34 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL
Here's a sample showing both outputs from our trap function and
auditd appearing in our log using journald (which also shows our logger command in the 'trap'):
bash[4410]: myuser : ls --color=auto
audispd[3869]: node=gentoomyuser3x86_64 type=SYSCALL msg=audit(1391096772.067:120): arch=c000003e syscall=59 success=yes exit=0 a0=8e5a10 a1=8e4a60 a...
audispd[3869]: node=gentoomyuser3x86_64 type=EXECVE msg=audit(1391096772.067:120): argc=2 a0="ls" a1="--color=auto"
audispd[3869]: node=gentoomyuser3x86_64 type=CWD msg=audit(1391096772.067:120): cwd="/home/myuser"
audispd[3869]: node=gentoomyuser3x86_64 type=PATH msg=audit(1391096772.067:120): item=0 name="/bin/ls" inode=4194395 dev=08:34 mode=010075...type=NORMAL
audispd[3869]: node=gentoomyuser3x86_64 type=PATH msg=audit(1391096772.067:120): item=1 name=(null) inode=1613135 dev=08:34 mode=0100755 o...type=NORMAL
audispd[3869]: node=gentoomyuser3x86_64 type=EOE msg=audit(1391096772.067:120):
audispd[3869]: node=gentoomyuser3x86_64 type=SYSCALL msg=audit(1391096807.548:121): arch=c000003e syscall=59 success=yes exit=0 a0=8e5c50 a1=8e6430 a...
audispd[3869]: node=gentoomyuser3x86_64 type=EXECVE msg=audit(1391096807.548:121): argc=10 a0="logger" a1="-p" a2="local1.notice" a3="-t" ..." a9="date"
audispd[3869]: node=gentoomyuser3x86_64 type=CWD msg=audit(1391096807.548:121): cwd="/home/myuser"
audispd[3869]: node=gentoomyuser3x86_64 type=PATH msg=audit(1391096807.548:121): item=0 name="/usr/bin/logger" inode=1966477 dev=08:34 mod...type=NORMAL
audispd[3869]: node=gentoomyuser3x86_64 type=PATH msg=audit(1391096807.548:121): item=1 name=(null) inode=1613135 dev=08:34 mode=0100755 o...type=NORMAL
audispd[3869]: node=gentoomyuser3x86_64 type=EOE msg=audit(1391096807.548:121):
bash[4415]: myuser : date
audispd[3869]: node=gentoomyuser3x86_64 type=SYSCALL msg=audit(1391096807.549:122): arch=c000003e syscall=59 success=yes exit=0 a0=8e5f40 a1=8e5cd0 a...
audispd[3869]: node=gentoomyuser3x86_64 type=EXECVE msg=audit(1391096807.549:122): argc=1 a0="date"
audispd[3869]: node=gentoomyuser3x86_64 type=CWD msg=audit(1391096807.549:122): cwd="/home/myuser"
audispd[3869]: node=gentoomyuser3x86_64 type=PATH msg=audit(1391096807.549:122): item=0 name="/bin/date" inode=4194318 dev=08:34 mode=0100...type=NORMAL
audispd[3869]: node=gentoomyuser3x86_64 type=PATH msg=audit(1391096807.549:122): item=1 name=(null) inode=1613135 dev=08:34 mode=0100755 o...type=NORMAL
audispd[3869]: node=gentoomyuser3x86_64 type=EOE msg=audit(1391096807.549:122):
audispd[3869]: node=gentoomyuser3x86_64 type=SYSCALL msg=audit(1391096838.004:123): arch=c000003e syscall=59 success=yes exit=0 a0=8e6c60 a1=8e6d00 a...
audispd[3869]: node=gentoomyuser3x86_64 type=EXECVE msg=audit(1391096838.004:123): argc=21 a0="logger" a1="-p" a2="local1.notice" a3="-t" a4="bash" a...
audispd[3869]: node=gentoomyuser3x86_64 type=CWD msg=audit(1391096838.004:123): cwd="/home/myuser"
audispd[3869]: node=gentoomyuser3x86_64 type=PATH msg=audit(1391096838.004:123): item=0 name="/usr/bin/logger" inode=1966477 dev=08:34 mod...type=NORMAL
audispd[3869]: node=gentoomyuser3x86_64 type=PATH msg=audit(1391096838.004:123): item=1 name=(null) inode=1613135 dev=08:34 mode=0100755 o...type=NORMAL
audispd[3869]: node=gentoomyuser3x86_64 type=EOE msg=audit(1391096838.004:123):
bash[4417]: myuser : aafire -width 82 -height 25 -gamma 1 -floyd_steinberg -font mda14 -driver curses
audispd[3869]: node=gentoomyuser3x86_64 type=SYSCALL msg=audit(1391096838.006:124): arch=c000003e syscall=59 success=yes exit=0 a0=8e6c60 a1=8c3880 a...
audispd[3869]: node=gentoomyuser3x86_64 type=EXECVE msg=audit(1391096838.006:124): argc=12 a0="aafire" a1="-width" a2="82" a3="-height" a4...11="curses"
audispd[3869]: node=gentoomyuser3x86_64 type=CWD msg=audit(1391096838.006:124): cwd="/home/myuser"
audispd[3869]: node=gentoomyuser3x86_64 type=PATH msg=audit(1391096838.006:124): item=0 name="/usr/bin/aafire" inode=1594727 dev=08:34 mod...type=NORMAL
audispd[3869]: node=gentoomyuser3x86_64 type=PATH msg=audit(1391096838.006:124): item=1 name=(null) inode=1613135 dev=08:34 mode=0100755 o...type=NORMAL
audispd[3869]: node=gentoomyuser3x86_64 type=EOE msg=audit(1391096838.006:124):
audispd[3869]: node=gentoomyuser3x86_64 type=SYSCALL msg=audit(1391096852.816:125): arch=c000003e syscall=59 success=yes exit=0 a0=8e5870 a1=8e5b20 a...
audispd[3869]: node=gentoomyuser3x86_64 type=EXECVE msg=audit(1391096852.816:125): argc=11 a0="logger" a1="-p" a2="local1.notice" a3="-t" ...su" a10="-"
audispd[3869]: node=gentoomyuser3x86_64 type=CWD msg=audit(1391096852.816:125): cwd="/home/myuser"
audispd[3869]: node=gentoomyuser3x86_64 type=PATH msg=audit(1391096852.816:125): item=0 name="/usr/bin/logger" inode=1966477 dev=08:34 mod...type=NORMAL
audispd[3869]: node=gentoomyuser3x86_64 type=PATH msg=audit(1391096852.816:125): item=1 name=(null) inode=1613135 dev=08:34 mode=0100755 o...type=NORMAL
audispd[3869]: node=gentoomyuser3x86_64 type=EOE msg=audit(139109
... оконечный вывод путем простого удаления активных правил с auditctl -D
или остановите весь аудит с auditd -s disable
или auditctl -e 0
. Мы не добираемся для наблюдения всех последовательностей символов, введенных к терминалу с помощью этого правила, но мы регистрируем все команды.
Добавьте следующую строку в / etc / profiles или ~ / .bashrc
PROMPT_COMMAND='history -a >(tee -a ~/.bash_history | logger -t "$USER[$$] $SSH_CONNECTION")'
, это отправит команду вместе с пользователем ssh / ip в / var / log / messages или / var / log / системный журнал
package.use
(dev-util/perf аудит, sys-apps/systemd аудит и аудит sys-libs/pam). Отметьте в (1), bash_history базирующиеся решения не должен ожидать конца сессии потому чтоhistory -a
сразу добавляет, что является новым начиная с запущенной сессии. На самом деле это - pam_tty_audit модуль (3), который ожидает конца сессии, т.е. Я должен был выйти из своего эмулятора терминала для нового материала для появления сaureport -tty
. Действительно, каждая пронумерованная строка в отчете представляет действие для сессии удара. – 30.01.2014, 12:48