Безопасно ли размещать символические ссылки в каталоге / bin?

У меня много инструментов командной строки, которые я часто использую. Я использовал обычный метод для прохождения до полного пути этой команды через терминал, а затем сделал ./command-name. Но это громоздкая и трудоемкая задача.

Изучение темы «Как выполнить команду из любого места через терминал », я оказался в решении включить путь в переменную среды (путем редактирования ./bashrc).

Это отлично работает.

Я даже обнаружил, что все команды, работающие глобально (например, mkdir, ifconfig, cp и т. д.), помещаются в каталог «/ bin».

При включении «символических ссылок» моих команд в каталог «/ bin» все работает нормально, и я могу выполнять команды из любого места в терминале.

My Question [!d6 ] Безопасно ли размещать символические ссылки в каталоге / bin напрямую. Я спрашиваю об этом, потому что, размещая символические ссылки, он попросил меня ввести пароль администратора. Будет ли это иметь какую-либо разницу, если я помещаю символические ссылки команд в / bin по сравнению с / usr / bin?

Мой вопрос

Ubuntu 13.10, 32-bit.

1
задан 16 January 2014 в 13:30

3 ответа

Прежде чем ответить на ваш вопрос, позвольте мне немного объяснить «как это работает».

В вашей системе у вас есть Environment Variables. Одна из них PATH variable, которая хранит набор каталогов, где находятся исполняемые программы и скрипты. В Linux по умолчанию PATH хранит несколько каталогов. Один из них /bin. Вот почему вы можете выполнить любую программу, которая находится в /bin. Вы можете проверить свою переменную PATH, выполнив это:

echo $PATH

В PATH важна переменная последовательность каталогов. Сначала указываются имена путей с наивысшим приоритетом.

Теперь, отвечая на ваши вопросы:

Да, можно создать символическую ссылку в /bin. Конечно, если вы не переписываете другие исполняемые файлы. Но вы должны предпочесть использовать /usr/local/bin. Это также должно быть в вашем PATH. Да. В зависимости от порядка в PATH. Например, если вы помещаете символические ссылки разных файлов, но с тем же именем, что и /bin и /usr/bin, и /usr/bin, включенные в PATH раньше, чем /bin, тогда он будет использовать символическую ссылку из /usr/bin.

Вы можете прочитать о иерархии файловой системы Environment Variables

О переменных среды Ubuntu здесь

3
ответ дан 24 May 2018 в 12:57
Безопасно ли размещать символические ссылки в каталоге / bin напрямую. Я спрашиваю об этом, потому что, размещая символические ссылки, он попросил меня ввести пароль администратора. Существует риск для безопасности. Я действительно не думаю, что было бы разумно разместить ваши собственные символические ссылки в каталоге / bin, потому что не только ваши команды становятся глобальными, но и символические ссылки могут быть легко сломаны. Значение переменной bash PATH является более надежным решением. Будет ли это иметь какую-либо разницу, если я помещаю символические ссылки команд в / bin по сравнению с / usr / bin? Нет. Хотя в соответствии со стандартом иерархии файловой системы (FHS) существует разница между / bin и / usr / bin. /bin Необходимые двоичные файлы команд, которые должны быть доступны в однопользовательском режиме; для всех пользователей, например, cat, ls, cp. /usr/bin Необязательные командные двоичные файлы (не нужны в однопользовательском режиме); для всех пользователей. Но разница сегодня не так важна. На самом деле в некоторых дистрибутивах (особенно Fedora) наблюдается тенденция к исчезновению / bin-директории.
2
ответ дан 24 May 2018 в 12:57
НЕТ !!! Не прикасайтесь к каталогам системы. Каждый скрипт или программа, которую вы написали, обычно должны размещаться в каталогах /usr/local/bin и /usr/local/sbin. И добавление каталогов в PATH не является хорошей идеей, потому что у нее есть риски для безопасности.

Кроме того, разница между теми каталогами, которые есть для программ суперпользователя.

0
ответ дан 24 May 2018 в 12:57

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

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