Управление заблокированными объектами из командной строки

Как упоминалось ранее, Lion включает специальную возможность блокировки, которая не позволяет никому, кроме владельца объекта, вносить изменения в этот объект. Любой пользователь может легко заблокировать объект или папку, которыми он владеет, из окна Get Info приложения Finder или из любого приложения, поддерживающего функции управления документами Auto Save и Versions, как описано ранее в этом уроке.

Проблема с блокировкой файловой системы состоит в том, что Finder не дает другим администраторам вносить изменения или даже разблокировать объекты, которыми они не владеют. В действительности, данная блокировка файловой системы распространяется также и на командную строку. Администратор не может изменить заблокированный объект даже с доступом через команду sudo. Однако есть одно важное исключение -команда chflags. Она позволяет администратору изменять флаги файловой системы, то есть (среди всего прочего) заблокировать или разблокировать любой файл или папку в системе.

В следующем примере Michelle нужно изменить разрешения папки, владельцем которой является другой пользователь, для того чтобы открыть к ней общий доступ. Однако даже с использованием команды sudo ей не позволено делать это, поскольку файл заблокирован. Она проверяет это, используя команду Is -10 для просмотра списка файлов с флагами, которая показывает, что папка заблокирована ("uchg"). Затем Michelle использует команду chflags с опцией nouchg для разблокировки папки, и в результате она может внести изменения в ранее заблокированную папку.

Дополнительная информация. Команда chflags с опцией uchg включает блокировку объекта файловой системы, тем самым запрещая другим пользователям вносить изменения в объект. Прочитайте тап-страницу команды chflags, чтобы узнать о других типах флагов, которыми можно манипулировать.