Какую операционную систему вы используете? Согласно странице руководства, опция -h влияет только на системы, которые могут изменить владельца символической ссылки.
Jichao
Вы на монтировании NFS?
Ортомала Локни
Все, что заканчивается /каталогом. Вы имеете в виду mysymbolic, что это символическая ссылка, а не mysymbolic/каталог, на который она указывает.
Дэвид Шварц
Ответы:
381
Я поставил косую черту в конце цели:
chown -h myuser:mygroup mysymbolic/
просто убрал косую черту в конце и работает. Вот правильный путь:
Вау, это заняло у меня несколько часов, чтобы найти.
определяет
54
@Radek Это работало для меня в Ubuntu, пока я помнил -hфлаг.
IQAndreas
29
У меня работает на Ubuntu с-h и без косой черты.
Friederbluemle
8
Я не могу поверить, что через 4 года я столкнулся с тем, что в прошлом страдал от той же самой проблемы, скучаю "-h"!
Энтони д'Андреа
29
Я попробовал это сам, и это работает для меня. Если у вас есть ключ -h, он меняет владельца символической ссылки, но если нет, то он меняет владельца самого файла, а не ссылки.
Но это не похоже на работу символической ссылки связана с каталогом
Что бы это ни стоило, справочная страница в OS X намного понятнее в опции -h, чем в (Arch) Linux. «-H Если файл является символической ссылкой, измените идентификатор пользователя и / или идентификатор группы самой ссылки». «-H, --no-dereference влияет на символические ссылки вместо любого ссылочного файла (полезно только при системы, которые могут изменить владельца символической ссылки) »
Matijs
6
Я был не в chownсостоянии каталог даже с -hиспользованием полного пути работал.
Ваш ответ без подробностей и трудно понять. Пожалуйста, рассмотрите возможность пересмотра своего ответа, чтобы предоставить более подробную информацию.
Джеймс Мерц
1
У меня была похожая проблема. Для меня я не мог chmod символическую ссылку, даже как root независимо от того, как я вызвал chmod. Чтобы запутать это, nautilus показывал владельца / группу как ничего. Владелец был просто пустым. Поэтому я попытался изменить символическую ссылку, используя nautilus, работающий от имени пользователя root, поскольку chmod не работал и nautilus аварийно завершил работу !!
Но я думаю, что понял проблему. Каталог, на который указывала символическая ссылка, имел другие права доступа, чем символическая ссылка. Поэтому я изменил целевой каталог (используя -h) на имя пользователя / группы. Затем chmod'ed символическую ссылку на то же самое, и это сработало! И просмотр информации о символической ссылке в nautilus (с правами root) теперь больше не дает сбоя.
Так что для других, имеющих подобную проблему, проверьте разрешения целевого каталога / файла и убедитесь, что он совместим с разрешениями, для которых вы устанавливаете символическую ссылку.
Обратите внимание, что изменение ownerсимволической ссылки может работать только в том случае, если цель доступна для нового пользователя, которому вы хотите назначить ее.
Например, если ваша цель находится внутри папки, для которой пользователь, которому вы хотите назначить ее, не обладает достаточными правами, ln -s commandповедение таково, что она вообще ничего не будет делать.
/
каталогом. Вы имеете в видуmysymbolic
, что это символическая ссылка, а неmysymbolic/
каталог, на который она указывает.Ответы:
Я поставил косую черту в конце цели:
просто убрал косую черту в конце и работает. Вот правильный путь:
источник
-h
флаг.-h
и без косой черты.Я попробовал это сам, и это работает для меня. Если у вас есть ключ -h, он меняет владельца символической ссылки, но если нет, то он меняет владельца самого файла, а не ссылки.
Но это не похоже на работу символической ссылки связана с каталогом
источник
Я был не в
chown
состоянии каталог даже с-h
использованием полного пути работал.источник
Является ли цель файлом или каталогом?
Если это каталог, тогда попробуйте -H (верхний регистр H)
источник
просто.
должно хватить и работать!
источник
Восстановите эту ссылку myuser в доме myuser и передайте эту ссылку на целевое местоположение с помощью sudo.
Например: (как myuser),
ln -s somedir/ linkname
(будет неработающей ссылкой, если somedir / не существует в каталоге пользователя)Затем
sudo mv linkname targetlocation
(станет действительной ссылкой при условии, чтоtargetlocation/somedir/
существует)источник
У меня была похожая проблема. Для меня я не мог chmod символическую ссылку, даже как root независимо от того, как я вызвал chmod. Чтобы запутать это, nautilus показывал владельца / группу как ничего. Владелец был просто пустым. Поэтому я попытался изменить символическую ссылку, используя nautilus, работающий от имени пользователя root, поскольку chmod не работал и nautilus аварийно завершил работу !!
Но я думаю, что понял проблему. Каталог, на который указывала символическая ссылка, имел другие права доступа, чем символическая ссылка. Поэтому я изменил целевой каталог (используя -h) на имя пользователя / группы. Затем chmod'ed символическую ссылку на то же самое, и это сработало! И просмотр информации о символической ссылке в nautilus (с правами root) теперь больше не дает сбоя.
Так что для других, имеющих подобную проблему, проверьте разрешения целевого каталога / файла и убедитесь, что он совместим с разрешениями, для которых вы устанавливаете символическую ссылку.
источник
Обратите внимание, что изменение
owner
символической ссылки может работать только в том случае, если цель доступна для нового пользователя, которому вы хотите назначить ее.Например, если ваша цель находится внутри папки, для которой пользователь, которому вы хотите назначить ее, не обладает достаточными правами,
ln -s command
поведение таково, что она вообще ничего не будет делать.источник
Для Solaris (проверено на S11.3) для символической ссылки на каталог, который вам нужно будет запустить
источник