Как посмотреть, когда изменилось разрешение на доступ к папке?

233
hd.

Как посмотреть, когда изменилось разрешение на доступ к папке?

Папка теперь имеет разрешение 777, и я хочу знать, когда для нее запускается команда chmod. Является ли это возможным?

Моя ОС - Ubuntu.

Спасибо.

0
Вы проверяли файл .bash_history? Overmind 6 лет назад 0

2 ответа на вопрос

0
Rainer

Вы можете только прочитать время последнего изменения i-узла с

stat DIRECTORY 

Вы не можете видеть, что было изменено, но для папок это должно соответствовать большинство раз.

Если вы хотите контролировать разрешение, используйте задание cron для проверки прав доступа к папке. Что-то вроде

export MYFOLDER=/my/path/to/folder; if [ $(stat -c "%a" $MYFOLDER) != "777" ]; then chmod 777 $MYFOLDER; echo $MYFOLDER permission changed > /var/log/myfolder.log ;fi 

ОБНОВЛЕНИЕ: Если вы хотите иметь историю изменений и кто что сделал, то установите AuditD и запустите службу.

Настройте правило для вашей папки:

auditctl -w /tmp/test -p a -k tmp-watch-test 

Вы можете увидеть, что происходит с

ausearch -k tmp-watch-test 

или же

ausearch -w -f /tmp/test 

должен произвести что-то подобное для изменений

type=PATH msg=audit(1496747062.420:20649): item=0 name="/tmp/test" inode=453007 dev=fd:00 mode=040775 ouid=1000 ogid=1000 rdev=00:00 objtype=NORMAL type=CWD msg=audit(1496747062.420:20649): cwd="/home/myuser/workdir" type=SYSCALL msg=audit(1496747062.420:20649): arch=c000003e syscall=268 success=yes exit=0 a0=ffffffffffffff9c a1=120c0f0 a2=1ed a3=7ffc37c58930 items=1 ppid=20482 pid=21369 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=2895 comm="chmod" exe="/usr/bin/chmod" key="tmp-watch-test" 
0
xenoid

Если вам нужно уведомление в режиме реального времени об изменении, вы можете использовать inotifywaitиз inotify-toolsпакета. В самой простой форме в bash-скрипте:

inotifywait $thewatcheddirectory # will exit if something happens echo "Something happened to $thewatcheddirectory" 

На практике inotifywaitвыходные данные намекают на то, что изменилось, и вы можете выбрать, какие события следует проверять.

Похожие вопросы