Как узнать, что изменяет разрешение каталогов на Linux?

У нас есть сервер Ubuntu 12.04 / apache и каталог в разрешениях «/ var / www / foo» и root.

Что-то неоднократно меняет разрешение этого каталога.

Вопрос : Как мы можем расследовать, что меняет разрешение?

2 Solutions collect form web for “Как узнать, что изменяет разрешение каталогов на Linux?”

Вы можете исследовать с помощью аудита, чтобы найти это. В ubuntu пакет называется auditd .

Используйте эту команду для начала расследования, если файл или папка:

 auditctl -w /var/www/foo -pa 
  • -w означает просмотр файла / папки
  • -pa означает следить за изменениями в атрибутах файлов

Теперь запустите tail -f /var/log/audit/audit.log . При изменении атрибутов в файле журнала вы увидите что-то подобное:

 type=SYSCALL msg=audit(1429279282.410:59): arch=c000003e syscall=268 success=yes exit=0 a0=ffffffffffffff9c a1=23f20f0 a2=1c0 a3=7fff90dd96e0 items=1 ppid=26951 pid=32041 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts5 ses=4294967295 comm="chmod" exe="/bin/chmod" type=CWD msg=audit(1429279282.410:59): cwd="/root" type=PATH msg=audit(1429279282.410:59): item=0 name="/var/www/foo" inode=18284 dev=00:13 mode=040700 ouid=0 ogid=0 rdev=00:00 

Я выполнил chmod 700 /var/www/foo чтобы вызвать его.

  • В 1-й строке вы видите
    • какой исполняемый файл выполнил: exe="/bin/chmod"
    • pid процесса: pid=32041
    • Вы также можете узнать, какой именно пользователь: uid=0 , root в моем случае.
  • В третьей строке вы видите измененный режим: mode=040700

Я не думаю, что есть какой-либо способ ответить, как вы могли знать, что изменило разрешения в прошлом, но вы можете использовать команду lsof, чтобы узнать, какой пользователь или процесс использует файл в любой момент времени. Вы можете попробовать положить это на cron и, возможно, поймать. Если что-то случайно изменяет ваши права на файл и вы не знаете, что это такое, его может быть очень сложно найти.

Вы можете запретить изменения ваших файлов с помощью команды chattr. Chattr блокирует файл, чтобы даже корневые пользователи не могли изменять его, не запускав при этом соответствующую команду chattr.

chattr + i filename (Сделать свойства имени файла «неизменяемым», отметить, что никто не может записать в файл) chattr -i filename (Удалить неизменяемый флаг, чтобы можно было снова изменить права собственности на файл и разрешения).

  • установите umask (разрешения) аналогично setgid в каталоге
  • NFS изменяет право собственности
  • «Другие» разрешения на файлы
  • Как gcc обрабатывает разрешения файлов?
  • Разрешения корневого каталога веб-сервера
  • Как права на каталог влияют на файлы в нем?
  • addgroup vs groupadd
  • Разрешение отклонено, даже если я в этой группе
  • Членство в группах и процессы setuid / setgid
  • Как восстановить групповую / пользовательскую правку по умолчанию для всех файлов в / var?
  • права доступа к каталогу
  • распечатать файл / etc / shadow в консоли
  • Interesting Posts

    Можем ли мы отключить кнопку максимизации в любом программном обеспечении (gedit или terminal)?

    Файл спецификации RPM видит одну команду как две?

    Нет звука на linux

    Вычисление общего трафика, генерируемого приложением в сети

    Выполнение пользовательской функции в вызове find -exec

    Найти –regex с отрицательным взглядом

    Почему «cat useradd» преуспевает в этом случае?

    Проверьте процесс, если он работает

    Как инициировать исходящий трафик SMTP через дополнительный интерфейс – Linux Sendmail

    Как читать строку из файла и сравнивать с каждой строкой второго файла

    Каковы варианты использования файлов только для записи и записи-выполнения?

    netcat из-за NAT

    Управление питанием ноутбуков для улучшения срока службы батареи Linux

    Как я могу полностью * стереть метаданные MP3?

    Debian Linux – Ubuntu – журналы очищены для последнего и последнего, но не /var/log/auth.log после нового года

    Linux и Unix - лучшая ОС в мире.