Как Unix реализует разрешения на файлы?

У меня есть текстовый файл с именем foo.txt с правами root в одном дистрибутиве Linux. Я скопировал его в другой дистрибутив Linux на другом компьютере.

Разрешено ли разрешение файла для foo.txt ?

Если да, то как Linux / Linux Linux знает и дублирует права доступа к файлу?

Добавляет ли дополнительный байт (который указывает разрешения) в файл?

  • При установке linux на USB-накопителе, какую файловую систему следует использовать для форматирования для лучшей производительности?
  • Использование разности, aka overlay, aka union, файловая система с возможностью фиксации
  • Сортировка файлов в каталоге по времени доступа, игнорируя подмножество из них
  • Как сделать временный файл в ОЗУ?
  • Поведение файловой системы, когда параметр mount был указан как error = panic
  • Запустить раздел Solaris в Linux
  • Резервное копирование размонтированного устройства в файл tar
  • Измените размер LV в зашифрованном LUKS VG - Ubuntu 11.04
  • 3 Solutions collect form web for “Как Unix реализует разрешения на файлы?”

    Чтобы добавить ответ Эрика (не иметь комментариев для комментариев), разрешения не хранятся в файле, а файл inode (указатель файловой системы к физическому местоположению файла на диске) в качестве метаданных вместе с владельцем и метками времени. Это означает, что копирование файла в файловую систему, отличную от POSIX, например NTFS или FAT, приведет к сбросу данных разрешения и владельца.

    Владелец и группа файлов – это всего лишь пара чисел, идентификатор пользователя (UID) и идентификатор группы (GID) соответственно. Корневой UID равен 0, поэтому файл будет отображаться как принадлежащий root (почти) каждой совместимой с UNIX системе. С другой стороны, владелец без полномочий root не будет сохранен значимым образом.

    Короче говоря, корневая собственность будет сохранена, если tarball'd или скопирован через usbstick extX или тому подобное. Неприемлемая собственность ненадежна.

    Это будет зависеть от того, как вы его скопируете. Если вы поместили его в tar мяч и скопировали его, а затем разогнали его, tar сохранит разрешения. Если вы используете rsync он также, в зависимости от флагов, будет сохранять разрешения. Эти приложения отвечают за разрешения. Если бы вы были scp разрешения не сохранились.

    Команда, выполняющая копирование, отвечает за управление разрешениями на вновь созданный файл.

    Для владельца / группы это зависит от того, кто делает копию и как.

    • обычный пользователь: всегда будет владельцем копий всеми командами
    • пользователь root тоже с помощью cp (кроме опции --preserve )
    • «Сохранить» будет по умолчанию для root с tar
    Interesting Posts

    Почему звездочка в команде приводит к расширению цикла?

    Скрипт пытается создать файлы, даже если им это не нужно?

    Что является преимуществом (-ами) запуска приложений в backgound?

    Применение перспективы изображения в пакетном режиме в gimp

    Попытка вставить символы через скрипт оболочки, привязанный к горячей клавише

    Есть ли способ определить, когда бинарный файл был скомпилирован или установлен?

    Где vim после установки pkg?

    некоторые кириллические имена файлов были повреждены при переходе с сервера на сервер

    Определите ежемесячный интернет-доступ для обнаружения FUP

    В чем разница, имеющая двойные кавычки или нет в bash

    Настройка сетевых интерфейсов с использованием linux sysfiles

    Предотвращение повреждения файлов

    Что делает exec 3 <& 1?

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

    Использовать SWAP в качестве дискового кеша в Linux

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