На машине с Linux я экспортировал несколько каталогов через NFS.

В каталогах я хочу сохранить все файлы с разрешением 0644 , но не могу помешать людям скопировать туда файл 0600 .

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

Есть ли какие-либо способы указать «обратную» маску, которая устанавливает определенный флаг разрешения для нового файла?

1 ответ1

0

Если вы можете принудительно использовать umask пользователей, вы можете, по крайней мере, знать, какие файлы разрешений будут иметь при создании, но, конечно, ничто не мешает пользователям запускать chmod впоследствии. Таким образом, есть два (похожих) варианта, которые я могу придумать, вы можете "запланировать" исправления разрешений с помощью incron


# apt-cache show incron
Package: incron
Version: 0.5.10-1
Installed-Size: 227
Maintainer: Emmanuel Bouthenot 
Architecture: amd64
Depends: libc6 (>= 2.8), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.4.0), lsb-base (>= 3.2-14), adduser
Description-en: cron-like daemon which handles filesystem events
 incron is an "inotify cron" system. It works like the regular cron but is
 driven by filesystem events instead of time events. This package provides two
 programs, a daemon called "incrond" (analogous to crond) and a table
 manipulator "incrontab" (like "crontab").
 incron uses the Linux Kernel inotify syscalls.
 like cron, each user can edit its own incron tables.
 incron can be used to :
  - notifying programs (e.g. server daemons) about changes in configuration
  - guarding changes in critical files (with their eventual recovery)
  - file usage monitoring, statistics
  - automatic on-crash cleanup
  - automatic on-change backup or versioning
  - new mail notification (for maildir)
  - server upload notification
  - installation management (outside packaging systems)
  - ... and many others
Homepage: http://inotify.aiken.cz/

или иметь собственную службу, работающую в фоновом режиме "прослушивание" событий inotify :


# apt-cache show inotify-tools
Package: inotify-tools
Version: 3.14-1
Installed-Size: 60
Maintainer: Ryan Niebur 
Architecture: amd64
Depends: libc6 (>= 2.8), libinotifytools0 (>= 3.11)
Description-en: command-line programs providing a simple interface to inotify
 inotify-tools is a set of command-line programs for Linux providing a
 simple interface to inotify. These programs can be used to monitor and
 act upon filesystem events. inotify-tools consists of two utilities:
 .
 inotifywait simply blocks for inotify events, making it appropriate
 for use in shell scripts.
 .
 inotifywatch collects filesystem usage statistics and outputs counts
 of each inotify event.
Homepage: https://github.com/rvoicilas/inotify-tools/wiki/

Проверьте здесь для примера.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .