Почему я не могу изменить разрешение на символическую ссылку на Mac?

Простой вопрос, и, возможно, есть простой ответ.

У меня есть несколько каталогов в моей домашней папке, которые я хотел бы сделать доступными как каталог на моем веб-сервере. Итак, я создал символическую ссылку:

iMac:/Library/WebServer/Documents/ ls -ltr -rw-rw-r-- 1 root admin 44 Nov 20 2004 index.html.en -rw-rw-r-- 1 root admin 31958 May 18 2009 PoweredByMacOSXLarge.gif -rw-rw-r-- 1 root admin 3726 May 18 2009 PoweredByMacOSX.gif -rwxr-xr-x 1 mego admin 0 Jan 6 2011 favicon.ico lrwxrwxr-x 1 mego admin 52 Jul 26 13:45 myadmin -> /Users/mego/Downloads/phpMyAdmin-3.4.3.2-english iMac:/Library/WebServer/Documents/ ln -s /Users/mego/opt/rel/src/main/web/ rel iMac:/Library/WebServer/Documents/ ls -ltr -rw-rw-r-- 1 root admin 44 Nov 20 2004 index.html.en -rw-rw-r-- 1 root admin 31958 May 18 2009 PoweredByMacOSXLarge.gif -rw-rw-r-- 1 root admin 3726 May 18 2009 PoweredByMacOSX.gif -rwxr-xr-x 1 mego admin 0 Jan 6 2011 favicon.ico lrwxrwxr-x 1 mego admin 52 Jul 26 13:45 myadmin -> /Users/mego/Downloads/phpMyAdmin-3.4.3.2-english lrwxrwx--- 1 mego admin 47 Oct 12 09:58 rel -> /Users/mego/opt/rel/src/main/web/ 

Разрешения на / Пользователи / mego / opt / rel рекурсивно настроены на + rx, чтобы каждый мог читать и выполнять.

Когда я пытаюсь изменить разрешение, то есть « chmod a + rx rel » и « chmod -R a + rx / Users / mego / opt / rel », нулевой эффект.

Выход

 ls -ld / /Users /Users/mego /Users/mego/opt /Users/mego/opt/rel /Users/mego/opt/rel/src /Users/mego/opt/rel/src/main /Users/mego/opt/rel/src/main/web iMac:~/ ls -ld / /Users /Users/mego /Users/mego/opt /Users/mego/opt/rel /Users/mego/opt/rel/src /Users/mego/opt/rel/src/main /Users/mego/opt/rel/src/main/web drwxrwxr-t@ 39 root admin 1394 Sep 14 15:30 / drwxr-xr-x 7 root admin 238 Aug 29 10:04 /Users drwxr-xr-x+ 98 mego staff 3332 Oct 15 10:59 /Users/mego drwxrwxr-x 19 mego staff 646 Oct 14 20:47 /Users/mego/opt/rel drwxrwxr-x 5 mego staff 170 May 31 08:01 /Users/mego/opt/rel/src drwxrwxr-x 6 mego staff 204 Oct 12 08:42 /Users/mego/opt/rel/src/main drwxrwxr-x 5 mego staff 170 Oct 12 08:42 /Users/mego/opt/rel/src/main/web iMac:~/ 

Должно быть что-то связано с домашней папкой пользователей. Но как ни странно, в другой папке « myadmin » есть правильные разрешения, и она работает. Что я делаю не так?

Заранее спасибо.

/Users/mego имеет ACL, который может препятствовать доступу. Вот что указывает + после традиционных разрешений unix на выходе ls -l для этого каталога. Запустите ls -lde /Users/mego чтобы просмотреть этот ACL.

Обратите внимание, что если пользователю запрещен доступ к /Users/mego (что имеет значение для исполняемого бита ), у него не будет доступа ни к чему. Поэтому, если у пользователя веб-сервера нет разрешения на выполнение /Users/mego , не имеет значения, что /Users/mego/opt/rel читается в мире: пользователь веб-сервера не сможет достичь этого. Не имеет значения, что задействована символическая ссылка: доступ через символическую ссылку включает в себя перемещение пути к цели.

Используйте chmod для управления ACL. Примеры на странице руководства должны вас поймать (если вы не можете понять, что вам нужно из примеров, спросите здесь и ls -lde /Users/mego вывод ls -lde /Users/mego ).

Я считаю, что chmod будет влиять только на разрешения целевого файла / каталога при использовании в символической ссылке. lchmod должен изменить разрешения фактической символической ссылки.

  man chmod 

-h Если файл является символической ссылкой, измените режим самой ссылки, а не файл, на который указывает ссылка.

Итак, что-то вроде:

  chmod -h /Users/mego/opt/rel 

должно сработать.