|
|
|
unix script
|
|||
|---|---|---|---|
|
#18+
Добрый день всем .Написал скрипт который вызываю так ./filename .Как можно сделать так что бы без ./ вызывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2012, 16:57 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
прописать каталог, в котором размещается скрипт, в переменную окружения PATH ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2012, 17:03 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
оиыждкпдл, я читал что можно добавить папку bin в домашню директорию и файл поставить в bin чтобы можно было без ,/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2012, 17:08 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
On 07/31/2012 05:57 PM, Karen__84 wrote: > Добрый день всем .Написал скрипт который вызываю так ./filename .Как можно > сделать так что бы без ./ вызывать? export PATH=$PATH:. но это ОЧЕНЬ НЕПРАВИЛЬНО. Правильно так НЕ делать, правильно писать ./filename. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2012, 19:25 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
MasterZivно это ОЧЕНЬ НЕПРАВИЛЬНО. Правильно так НЕ делать, правильно писать ./filename.Кстати, я никогда не понимал (и сейчас не понимаю) почему это считается неправильным? Во всех не-юниксовых ОС с которыми я работал текущий каталог всегда в путях по определению. И у меня никогда из-за этого проблем не было. Почему вдруг в юниксах это стало ОЧЕНЬ НЕПРАВИЛЬНО? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2012, 22:41 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
Ну, в принципе, и банальной эрудиции хватило-бы для понимания "почему так в UNIX-e". White OwlКстати, я никогда не понимал (и сейчас не понимаю) почему это считается неправильным? Во всех не-юниксовых ОС с которыми я работал текущий каталог всегда в путях по определению. И у меня никогда из-за этого проблем не было. Почему вдруг в юниксах это стало ОЧЕНЬ НЕПРАВИЛЬНО?авторBecause on Unix, usually, the current directory is not in $PATH. When you type a command the shell looks up a list of directories, as specified by the PATH variable. The current directory is not in that list. The reason for not having the current directory on that list is security. Let's say you're root and go into another user's directory and type sl instead of ls. If the current directory is in PATH, the shell will try to execute the sl program in that directory (since there is no other sl program). That sl program might be malicious. EDIT That sl part was just an example. The directories in PATH are searched sequentially and when a match is made that program is executed. So, depending on how PATH looks, typing a normal command may or may not be enough to run the program in the current directory. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2012, 00:33 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
Relic HunterНу, в принципе, и банальной эрудиции хватило-бы для понимания "почему так в UNIX-e".Ну вот эрудиции хватает, а опыта не хватает. Предложенный вариант проблем c sl vs ls логически понятен и я с ним согласен на уровне эрудиции. Но вот на уровне опыта я с ним совершенно не согласен. Рут не будет заходить в чужой каталог просто так. Если рут полез в чужой каталог значит он знает что делает и проблемы типа "sl vs ls" практически исключены. Я считаю что эта опасность высосана из пальца и ни когда не случается в реальной жизни. Еще раз повторяю, у меня очень много лет жизни в различных ОС в которых текущий каталог всегда проверяется перед PATH. Во всех моих профайлах на различных *никс я добавляю себе точку в PATH первым элементом. У меня никогда не возникало проблем из-за этого. Да, кто-то из древних гуру Юникса однажды сказал что текущий каталог в путях опасен, но это же не значит что он был абсолютно прав? Ну вот лично у вас, друзья мои, были проблемы из-за добавления точки в PATH? Личный ваш опыт что говорит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2012, 18:26 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
Рут не будет заходить в чужой каталог просто так. Если рут полез в чужой каталог значит он знает что делает В случае с точкой рут "зная, что делает" может запустить программу не зная, что она делает, думая что запустил ls из /bin, на самом деле ls из каталога пользователя, который rm -rf / Вот если он явно указал, что хочет запустить программу из каталога пользователя(а-ля ./ls ) - тогда он знает, что делает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2012, 19:38 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
White Owl, Вобщем-то, установка программ в /bin, /usr/bin, etc требует привелигированных полномочий. А установка в домашний каталог - нет. И запуск программ из каталогов пользователей под учеткой рута - не есть гуд, будут запускаться трояны. Так понятней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2012, 19:48 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
Я прекрасно понимаю ваш пример. Я просто не верю что кто-то в здравом уме и твердой памяти в действительности может попасть в такую ситуацию. Ну вот вы сами будучи рутами как часто заходите в пользовательские каталоги? Лично я из под рута хожу только в один единственный каталог: /etc. Для всех остальных задач мне хватает моего стандартного юзерского аккаунта и sudo. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2012, 20:52 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
White Owl, Ну в поделках типа убунту учетка рута заблокированна. И наверно не зря? Так, что наличие или отсутствие "./" не играет особой роли, если вы про это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2012, 21:06 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
Relic HunterWhite Owl, Ну в поделках типа убунту учетка рута заблокированна. И наверно не зря? Так, что наличие или отсутствие "./" не играет особой роли, если вы про это.Нет, я про то что ожидая подставы от юзера в виде замены ls на rm -rf / вы на самом деле ожидаете что какой-нибудь юзер выкопает в своей квартире волчью яму (прямо сквозь паркет) и поэтому постоянно носите с собой доски, гвозди и инструменты для строительства моста и не важно идете вы в гости к идиоту или у себя дома на кухню. Не, я конечно могу себе представить что некий Вася, которого несправедливо уволили, оставит после себя подобную мину, но в реальной жизни этот Вася сам себе такую подлянку зачем делать будет? И я еще раз спрашиваю: Поднимите руки те кто пострадал от наличия точки в PATH? Ну хоть один такой человек есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2012, 21:35 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
Как говорится, все правила написаны кровью. Вероятно когда-то кто-то на такие грабли наступил и теперь это стало стандартом не прописывать текущий каталог в пути рута. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2012, 16:57 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
White Owl, я никогда не прописывал текущий каталог в PATH и ни разу от этого не страдал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2012, 17:10 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
> White Owl, > я никогда не прописывал текущий каталог в PATH и ни разу от этого не страдал Так главное -- два лишних удара пальцем, безымянный и мизинец, потом -- свои выполняемые файлы никогда не путаются с общесистемными, автодополнение работает хорошо. Не, я даже думать не хочу, почему нельзя . в PATH. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2012, 17:50 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
MasterZivНе, я даже думать не хочу, почему нельзя . в PATH.Мне кажется, что вот это и есть правильный ответ. Религия это серьезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2012, 19:15 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
> Мне кажется, что вот это и есть правильный ответ. > Религия это серьезно. Ой ладно, уговорил, поищу. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2012, 19:39 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
White OwlRelic HunterWhite Owl, Ну в поделках типа убунту учетка рута заблокированна. И наверно не зря? Так, что наличие или отсутствие "./" не играет особой роли, если вы про это.Нет, я про то что ожидая подставы от юзера в виде замены ls на rm -rf / вы на самом деле ожидаете что какой-нибудь юзер выкопает в своей квартире волчью яму (прямо сквозь паркет) и поэтому постоянно носите с собой доски, гвозди и инструменты для строительства моста и не важно идете вы в гости к идиоту или у себя дома на кухню. Не, я конечно могу себе представить что некий Вася, которого несправедливо уволили, оставит после себя подобную мину, но в реальной жизни этот Вася сам себе такую подлянку зачем делать будет? И я еще раз спрашиваю: Поднимите руки те кто пострадал от наличия точки в PATH? Ну хоть один такой человек есть? ну это как пример, а так вот реальный случай http://www.sql.ru/forum/actualthread.aspx?tid=218456 Начинающие изучать компиляторы очень часто называют свои программы test А если вы от рута запустите какой-нибудь скрипт в котором явно используеися утилитка test сами подумайте что произойдет У меня был реальный случай, когда у пользователя вместо "Hello world !" ничего не выводилось именно потому , что назвал он свою программку test Если уж очень хочется "." в PATH - то ставить в конец списка, а не в начало Но лучше не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2012, 17:33 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
landyНачинающие изучать компиляторы очень часто называют свои программы test А если вы от рута запустите какой-нибудь скрипт в котором явно используеися утилитка test сами подумайте что произойдет У меня был реальный случай, когда у пользователя вместо "Hello world !" ничего не выводилось именно потому , что назвал он свою программку test Ну наконец-то, это уже более реалистичный пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2012, 18:30 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
Вот и подтвержление http://www.sql.ru/forum/actualthread.aspx?tid=960341 В принципе юзер и не такое отчюдить может ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2012, 18:05 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
landyВот и подтвержление http://www.sql.ru/forum/actualthread.aspx?tid=960341 В принципе юзер и не такое отчюдить может ...Этот топик вообще-то к теме не относится. Если ты приглядишься получше, то TC с самого начала запускал ./test. А вообще, даже название своих программ как test не должно особо влиять на проблему точки в пути. Если в профиле сделано export PATH=$PATH:. как предложил MasterZiv, то в этом случае, созданный новичком test не будет писать "Hello World" перекрытый системным test'ом. Но в этом случае достаточно будет запустить ./test чтобы все заработало. Если же в профиле сделано export PATH=.:$PATH , то уже системный test будет перекрыт личным и работать перестанут шелл-скрипты которые используют test вместо [. А это довольно редкая вещь... В общем, хоть вариант с test vs ./test действительно чуть более реалистичный чем ls vs ./ls, но все равно я не вижу причин по которым точка в путях это "ОЧЕНЬ НЕПРАВИЛЬНО". В максимуме это доставит мелкое неудобство если юзер "перекроет" системную утилиту, причем это будет легко найдено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2012, 23:46 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
Это хорошо, если он в test только Hello world изучает А если удаление/создание файлов/каталогов или еще чего-нибудь экзотическое? А Вы от root'а запустите этот test?! То, что он запускает ./test - ну молодец, что сказать Ссылка на топик - это иллюстрация того, как пользователи могут называть свои программки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2012, 08:49 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
White OwllandyНачинающие изучать компиляторы очень часто называют свои программы test А если вы от рута запустите какой-нибудь скрипт в котором явно используеися утилитка test сами подумайте что произойдет У меня был реальный случай, когда у пользователя вместо "Hello world !" ничего не выводилось именно потому , что назвал он свою программку test Ну наконец-то, это уже более реалистичный пример. В Юниксах небыло разделяемых библиотек по дизайну. Например чтобы программе провалидировать юзера запускалась программка получения хэша и затем этот хэш с именем юзера находился в passwd файле. Теперь представьте какая бы была секюрити если все запускалась с текущего каталога? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2012, 11:31 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
OoCcВ Юниксах небыло разделяемых библиотек по дизайну. Например чтобы программе провалидировать юзера запускалась программка получения хэша и затем этот хэш с именем юзера находился в passwd файле. Теперь представьте какая бы была секюрити если все запускалась с текущего каталога?Это очень страшная сказка. Ударение на слово "сказка". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2012, 18:18 |
|
||
|
unix script
|
|||
|---|---|---|---|
|
#18+
White OwlOoCcВ Юниксах небыло разделяемых библиотек по дизайну. Например чтобы программе провалидировать юзера запускалась программка получения хэша и затем этот хэш с именем юзера находился в passwd файле. Теперь представьте какая бы была секюрити если все запускалась с текущего каталога?Это очень страшная сказка. Ударение на слово "сказка". Из passwd файла хэши паролей убрали не более как лет 10 - 15 назад. Вам тогда читали на ночь сказки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2012, 23:17 |
|
||
|
|

start [/forum/topic.php?fid=25&msg=37906172&tid=1483406]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 169ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...