powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / unix script
25 сообщений из 29, страница 1 из 2
unix script
    #37899376
Karen__84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день всем .Написал скрипт который вызываю так ./filename .Как можно сделать так что бы без ./ вызывать?
...
Рейтинг: 0 / 0
unix script
    #37899390
оиыждкпдл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прописать каталог, в котором размещается скрипт, в переменную окружения PATH
...
Рейтинг: 0 / 0
unix script
    #37899399
Karen__84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
оиыждкпдл,
я читал что можно добавить папку bin в домашню директорию и файл поставить в bin чтобы можно было без ,/
...
Рейтинг: 0 / 0
unix script
    #37899546
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 07/31/2012 05:57 PM, Karen__84 wrote:

> Добрый день всем .Написал скрипт который вызываю так ./filename .Как можно
> сделать так что бы без ./ вызывать?

export PATH=$PATH:.

но это ОЧЕНЬ НЕПРАВИЛЬНО.
Правильно так НЕ делать, правильно писать ./filename.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
unix script
    #37899648
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivно это ОЧЕНЬ НЕПРАВИЛЬНО.
Правильно так НЕ делать, правильно писать ./filename.Кстати, я никогда не понимал (и сейчас не понимаю) почему это считается неправильным?
Во всех не-юниксовых ОС с которыми я работал текущий каталог всегда в путях по определению. И у меня никогда из-за этого проблем не было. Почему вдруг в юниксах это стало ОЧЕНЬ НЕПРАВИЛЬНО?
...
Рейтинг: 0 / 0
unix script
    #37899707
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, в принципе, и банальной эрудиции хватило-бы для понимания "почему так в 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.
...
Рейтинг: 0 / 0
unix script
    #37900899
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterНу, в принципе, и банальной эрудиции хватило-бы для понимания "почему так в UNIX-e".Ну вот эрудиции хватает, а опыта не хватает.
Предложенный вариант проблем c sl vs ls логически понятен и я с ним согласен на уровне эрудиции.
Но вот на уровне опыта я с ним совершенно не согласен. Рут не будет заходить в чужой каталог просто так. Если рут полез в чужой каталог значит он знает что делает и проблемы типа "sl vs ls" практически исключены. Я считаю что эта опасность высосана из пальца и ни когда не случается в реальной жизни.
Еще раз повторяю, у меня очень много лет жизни в различных ОС в которых текущий каталог всегда проверяется перед PATH. Во всех моих профайлах на различных *никс я добавляю себе точку в PATH первым элементом. У меня никогда не возникало проблем из-за этого.
Да, кто-то из древних гуру Юникса однажды сказал что текущий каталог в путях опасен, но это же не значит что он был абсолютно прав? Ну вот лично у вас, друзья мои, были проблемы из-за добавления точки в PATH? Личный ваш опыт что говорит?
...
Рейтинг: 0 / 0
unix script
    #37900987
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рут не будет заходить в чужой каталог просто так. Если рут полез в чужой каталог значит он знает что делает
В случае с точкой рут "зная, что делает" может запустить программу не зная, что она делает, думая что запустил ls из /bin,
на самом деле ls из каталога пользователя, который rm -rf /
Вот если он явно указал, что хочет запустить программу из каталога пользователя(а-ля ./ls ) - тогда он знает, что делает
...
Рейтинг: 0 / 0
unix script
    #37900993
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

Вобщем-то, установка программ в /bin, /usr/bin, etc требует привелигированных полномочий. А установка в домашний каталог - нет. И запуск программ из каталогов пользователей под учеткой рута - не есть гуд, будут запускаться трояны. Так понятней?
...
Рейтинг: 0 / 0
unix script
    #37901027
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я прекрасно понимаю ваш пример. Я просто не верю что кто-то в здравом уме и твердой памяти в действительности может попасть в такую ситуацию.

Ну вот вы сами будучи рутами как часто заходите в пользовательские каталоги?
Лично я из под рута хожу только в один единственный каталог: /etc. Для всех остальных задач мне хватает моего стандартного юзерского аккаунта и sudo.
...
Рейтинг: 0 / 0
unix script
    #37901040
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

Ну в поделках типа убунту учетка рута заблокированна. И наверно не зря? Так, что наличие или отсутствие "./" не играет особой роли, если вы про это.
...
Рейтинг: 0 / 0
unix script
    #37901054
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterWhite Owl,

Ну в поделках типа убунту учетка рута заблокированна. И наверно не зря? Так, что наличие или отсутствие "./" не играет особой роли, если вы про это.Нет, я про то что ожидая подставы от юзера в виде замены ls на rm -rf / вы на самом деле ожидаете что какой-нибудь юзер выкопает в своей квартире волчью яму (прямо сквозь паркет) и поэтому постоянно носите с собой доски, гвозди и инструменты для строительства моста и не важно идете вы в гости к идиоту или у себя дома на кухню.
Не, я конечно могу себе представить что некий Вася, которого несправедливо уволили, оставит после себя подобную мину, но в реальной жизни этот Вася сам себе такую подлянку зачем делать будет?
И я еще раз спрашиваю: Поднимите руки те кто пострадал от наличия точки в PATH? Ну хоть один такой человек есть?
...
Рейтинг: 0 / 0
unix script
    #37902327
Ихтиандр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как говорится, все правила написаны кровью.
Вероятно когда-то кто-то на такие грабли наступил и теперь это стало стандартом не прописывать текущий каталог в пути рута.
...
Рейтинг: 0 / 0
unix script
    #37902342
Фотография bga83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,
я никогда не прописывал текущий каталог в PATH и ни разу от этого не страдал
...
Рейтинг: 0 / 0
unix script
    #37903872
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> White Owl,
> я никогда не прописывал текущий каталог в PATH и ни разу от этого не страдал

Так главное -- два лишних удара пальцем, безымянный и мизинец, потом -- свои
выполняемые файлы никогда не путаются с общесистемными, автодополнение работает
хорошо. Не, я даже думать не хочу, почему нельзя . в PATH.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
unix script
    #37903973
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНе, я даже думать не хочу, почему нельзя . в PATH.Мне кажется, что вот это и есть правильный ответ.
Религия это серьезно.
...
Рейтинг: 0 / 0
unix script
    #37903992
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Мне кажется, что вот это и есть правильный ответ.
> Религия это серьезно.

Ой ладно, уговорил, поищу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
unix script
    #37904450
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlRelic HunterWhite Owl,

Ну в поделках типа убунту учетка рута заблокированна. И наверно не зря? Так, что наличие или отсутствие "./" не играет особой роли, если вы про это.Нет, я про то что ожидая подставы от юзера в виде замены ls на rm -rf / вы на самом деле ожидаете что какой-нибудь юзер выкопает в своей квартире волчью яму (прямо сквозь паркет) и поэтому постоянно носите с собой доски, гвозди и инструменты для строительства моста и не важно идете вы в гости к идиоту или у себя дома на кухню.
Не, я конечно могу себе представить что некий Вася, которого несправедливо уволили, оставит после себя подобную мину, но в реальной жизни этот Вася сам себе такую подлянку зачем делать будет?
И я еще раз спрашиваю: Поднимите руки те кто пострадал от наличия точки в PATH? Ну хоть один такой человек есть?
ну это как пример, а так вот реальный случай http://www.sql.ru/forum/actualthread.aspx?tid=218456
Начинающие изучать компиляторы очень часто называют свои программы test
А если вы от рута запустите какой-нибудь скрипт в котором явно используеися утилитка test
сами подумайте что произойдет
У меня был реальный случай, когда у пользователя вместо "Hello world !" ничего не выводилось именно потому , что назвал он
свою программку test
Если уж очень хочется "." в PATH - то ставить в конец списка, а не в начало
Но лучше не надо.
...
Рейтинг: 0 / 0
unix script
    #37904477
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
landyНачинающие изучать компиляторы очень часто называют свои программы test
А если вы от рута запустите какой-нибудь скрипт в котором явно используеися утилитка test
сами подумайте что произойдет
У меня был реальный случай, когда у пользователя вместо "Hello world !" ничего не выводилось именно потому , что назвал он
свою программку test Ну наконец-то, это уже более реалистичный пример.
...
Рейтинг: 0 / 0
unix script
    #37906172
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот и подтвержление

http://www.sql.ru/forum/actualthread.aspx?tid=960341

В принципе юзер и не такое отчюдить может ...
...
Рейтинг: 0 / 0
unix script
    #37906508
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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, но все равно я не вижу причин по которым точка в путях это "ОЧЕНЬ НЕПРАВИЛЬНО". В максимуме это доставит мелкое неудобство если юзер "перекроет" системную утилиту, причем это будет легко найдено.
...
Рейтинг: 0 / 0
unix script
    #37906692
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это хорошо, если он в test только Hello world изучает
А если удаление/создание файлов/каталогов или еще чего-нибудь экзотическое?
А Вы от root'а запустите этот test?!
То, что он запускает ./test - ну молодец, что сказать
Ссылка на топик - это иллюстрация того, как пользователи могут называть свои программки
...
Рейтинг: 0 / 0
unix script
    #37906968
Фотография OoCc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwllandyНачинающие изучать компиляторы очень часто называют свои программы test
А если вы от рута запустите какой-нибудь скрипт в котором явно используеися утилитка test
сами подумайте что произойдет
У меня был реальный случай, когда у пользователя вместо "Hello world !" ничего не выводилось именно потому , что назвал он
свою программку test Ну наконец-то, это уже более реалистичный пример.
В Юниксах небыло разделяемых библиотек по дизайну. Например чтобы программе провалидировать юзера запускалась программка получения хэша и затем этот хэш с именем юзера находился в passwd файле. Теперь представьте какая бы была секюрити если все запускалась с текущего каталога?
...
Рейтинг: 0 / 0
unix script
    #37907784
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OoCcВ Юниксах небыло разделяемых библиотек по дизайну. Например чтобы программе провалидировать юзера запускалась программка получения хэша и затем этот хэш с именем юзера находился в passwd файле. Теперь представьте какая бы была секюрити если все запускалась с текущего каталога?Это очень страшная сказка.
Ударение на слово "сказка".
...
Рейтинг: 0 / 0
unix script
    #37907983
Фотография OoCc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlOoCcВ Юниксах небыло разделяемых библиотек по дизайну. Например чтобы программе провалидировать юзера запускалась программка получения хэша и затем этот хэш с именем юзера находился в passwd файле. Теперь представьте какая бы была секюрити если все запускалась с текущего каталога?Это очень страшная сказка.
Ударение на слово "сказка".
Из passwd файла хэши паролей убрали не более как лет 10 - 15 назад. Вам тогда читали на ночь сказки?
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / unix script
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]