1

Я вошел в систему как основной пользователь и пытаюсь переименовать файл в Finder. Информация о том, что у меня есть права на чтение и запись

Я наконец сделал chmod 644 в терминале - это не помогло

-rw-rw-rw-+ 1 myuserid  staff   49293 18 May  2008 somefile.pdf

 0: group:everyone deny delete
 1: user:myuserid allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity

Затем я сделал sudo mv который работал, но я все еще не могу переименовать его в Finder.

Нашел кучу старых вещей в сети, которые не применимы. Файл просто загружается на компьютер из браузера. Он живет в директории другого пользователя, но у меня есть доступ для чтения / записи, и sudo, как я уже упоминал, тоже работает.

2 ответа2

3

Это из-за записи контроля доступа:

0: group:everyone deny delete

... потому что, что касается файловой системы, перемещение или переименование файла равносильно созданию для него новой записи каталога ("ссылки"), а затем удалению старой. Таким образом, запрет на удаление файла также означает, что вы не можете переместить или переименовать его. Вы можете стереть список контроля доступа к файлу с помощью chmod -N somefile.pdf если хотите, или просто удалить эту конкретную запись контроля доступа с помощью chmod -a# 0 somefile.pdf (примечание: вы не можете сделать это из окна Get Info в Finder. , поскольку это не показывает отрицать правила). Однако этого может быть недостаточно, поскольку вы упоминаете, что файл находится в папке другого пользователя. Перемещение, переименование и удаление файла включают в себя изменение каталога, в котором он находится, и, следовательно, требуют права на запись в этот каталог (полностью независимо от прав доступа к самому файлу).

0

Я бы попробовал две вещи. Во-первых, я посмотрю, поможет ли разрешение на выполнение. Список файлов, который вы цитируете, показывает режим 666 (владелец, группа и все, у кого установлены биты read (4) и write (2), показаны как rw-rw-rw-), поэтому попробуйте 777 (rwxrwxrwx) и посмотрите, поможет ли это. (Если вы являетесь членом группы "staff", которую вы можете проверить с помощью команды groups в Terminal, 776 или 775 должны подойти.)

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

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

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