Символическая ссылка на ~ / что-то зависит от зарегистрированного пользователя?

Если я выполню команду:

ln -s ~/user/relative/path /absolute/path

, а затем войду в систему под другим пользователем, у которого нет собственного / относительного / пути в домашнем каталоге, будет ли ссылка каким-то образом повреждена или недоступна?

Спасибо за ваш ответ:).

1
задан 21 March 2014 в 23:34

1 ответ

Проверьте на себя:

% ln -s ~/one two
% ls -l two
[...] two -> /home/rmano/one

Команда ln даже не видит ~ символ---это расширен оболочкой.

Теперь, для использования ссылки у нового пользователя должны быть соответствующие полномочия на реальном пути.

Можно поместить литерал ~ в ссылке, но затем это не будет работать, по крайней мере, не в Linux---переменные среды как $HOME не расширены, когда ядро разрешает символьную ссылку.

См.:

% cd 
% touch a1
% ln -s $HOME/a1 a2
% ln -s '$HOME'/a1 a3
% ls -l a?
-rw-rw-r-- 1 rmano rmano  0 Mar 21 13:49 a1
lrwxrwxrwx 1 rmano rmano 15 Mar 21 13:49 a2 -> /home/rmano/a1
lrwxrwxrwx 1 rmano rmano  4 Mar 21 13:50 a3 -> $HOME/a1
% cat a2
% cat a3
cat: a3: No such file or directory

Существует некоторая ОС, которая имеет это характеристики (я думаю, что одна версия FreeBSD сделала это, а также некоторый Unix, который я использовал на рабочих станциях Apollo---не уверенный, хотя), который называют различной символьной ссылкой.

См. также https://stackoverflow.com/questions/3888809/environment-variables-in-symbolic-links

4
ответ дан 21 March 2014 в 23:34

Другие вопросы по тегам:

Похожие вопросы: