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

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

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

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

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

  • перезаписать данные раздела ext4 без предварительного удаления
  • Настройка файловой системы ext4 для раздела хранения
  • Undeletable directory
  • От имени файла получите имена точек монтирования, устройства, LV, VG, PV
  • Что означает `clean, x / y` в выводе fsck?
  • Ограничивает ли POSIX количество каталогов в корневом каталоге os?
  • Как использовать fslint (в частности findnl) в командной строке, чтобы реально имитировать поведение fslint-gui?
  • В настоящий момент перестановка не поддерживается. Вы должны объединить объем, а затем снова установить его
  • 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

    Где хранится таблица маршрутизации, хранящаяся внутри ядра Linux?

    Обновить запись маршрута В ​​другом DD-WRT после нового SSH-сервера с новым IP-адресом (WAN)

    Монетный двор 12 – Ошибка обновления MySQL (mysql-client-core-5.1)

    При использовании gnome, как я могу увеличить расстояние между рабочими пространствами

    Как настроить postfix smtp для каждого пользователя?

    Невозможно загрузить любой Linux, кроме Ubuntu

    текст для поиска и замены во всех файлах и во всех каталогах

    Присвоение или привязка пользователя Redhat к использованию определенного идентификатора VLAN

    Передача переменной аргумента egrep в сценарии bash

    Невозможно установить адрес mac для вызова интерфейса с помощью systemd-networkd

    Использует ли Gnome Shell Mutter?

    Синхронизация времени с системами двойной загрузки Windows Server

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

    Залить буфер «хвост -f»?

    Конвертировать порядок поиска … -exec

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