Решено: Добавление в PATH текущей директории
Модераторы: SLEDopit, Модераторы разделов
-
test157
- Сообщения: 124
- ОС: Debian Lenny
Решено: Добавление в PATH текущей директории
вот такой вопрос
допустим я нахожусь в папке /root/2
в ней есть файл file.py
когда я вбиваю в шел ./file.py файл успешно запускается, если вбиваю file.py пишет что файл не найдет.
как заставить баш смотреть текущую папку в поисках набираемого файла? или это чем то чревато поэтому отключено?
OS: Debian Lenny как и любой другой линукс думаю
допустим я нахожусь в папке /root/2
в ней есть файл file.py
когда я вбиваю в шел ./file.py файл успешно запускается, если вбиваю file.py пишет что файл не найдет.
как заставить баш смотреть текущую папку в поисках набираемого файла? или это чем то чревато поэтому отключено?
OS: Debian Lenny как и любой другой линукс думаю
-
farex
- Сообщения: 497
- ОС: Slackware 12.2, Archlinux
Re: Решено: Добавление в PATH текущей директории
Ну например так:
Создаем папку в домашней дирректории
И добавляем в .bashrc вашего пользователя.
Создаем папку в домашней дирректории
Код: Выделить всё
mkdir ~/binИ добавляем в .bashrc вашего пользователя.
Код: Выделить всё
PATH=$PATH:/home/farex/binКод: Выделить всё
sourse .bashrc
cp /root/2/file.py ~/binСыграем?
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Жив"
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Жив"
-
test157
- Сообщения: 124
- ОС: Debian Lenny
Re: Решено: Добавление в PATH текущей директории
это понятно, но папок много и они всегда разные. не добавлять же каждую?
и мне нужно - чтобы скрипт был виден только если я нахожусь в текущей папке, а не всегда
просто чтобы если зашел в папку и запускаешь много раз один и тотже скрипт каждый раз не вбивать ./ перед ним
и мне нужно - чтобы скрипт был виден только если я нахожусь в текущей папке, а не всегда
просто чтобы если зашел в папку и запускаешь много раз один и тотже скрипт каждый раз не вбивать ./ перед ним
-
farex
- Сообщения: 497
- ОС: Slackware 12.2, Archlinux
Re: Решено: Добавление в PATH текущей директории
Сыграем?
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Жив"
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Жив"
-
test157
- Сообщения: 124
- ОС: Debian Lenny
Re: Решено: Добавление в PATH текущей директории
ну это ведь не всегда возможно вот я создал на django новый проект, он кладет в новую папку manage.py - его нужно часто пускать, завтра я создал новый проект он будет в другой папке там-же будет лежать manage.py - который также нужно часто пускать. по такому принципу работает много фреймворков. эти скрипты должны стартовать из текузщих директорий так как из них они берут настройки и прочее.
-
eddy
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: Решено: Добавление в PATH текущей директории
Из соображений безопасности нельзя вписывать в PATH текущую директорию, но если вам на это наплевать, делайте на свой страх и риск:
PATH=$PATH:./
Главное, не добавлять ./ в начало PATH.
PATH=$PATH:./
Главное, не добавлять ./ в начало PATH.
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка
Спасибо сказали:
-
test157
- Сообщения: 124
- ОС: Debian Lenny
Re: Решено: Добавление в PATH текущей директории
а с чем связана опасность добавления ./ в PATH?
-
Portnov
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: Решено: Добавление в PATH текущей директории
Банально:
и вот тут "ой" :)
Понятно, что злоумышленник может написать программку и посложнее, чтобы таки выводила список файлов, но себя в нём не показывала, а в добавок делала что-то нехорошее.
Код: Выделить всё
user@host:/some/dir$ echo "rm -rf ~/*" > ls; chmod +x ls
user@host:/some/dir$ PATH=./:$PATH
user@host:/some/dir$ ls
user@host:/some/dir$и вот тут "ой" :)
Понятно, что злоумышленник может написать программку и посложнее, чтобы таки выводила список файлов, но себя в нём не показывала, а в добавок делала что-то нехорошее.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
test157
- Сообщения: 124
- ОС: Debian Lenny
Re: Решено: Добавление в PATH текущей директории
но ведь главное не добавлять ./ в начало, если добавить в конец - такого не будет. верно?
в чем тогда опасность добавления ./ в конец PATH?
в чем тогда опасность добавления ./ в конец PATH?
-
Frank
- Сообщения: 1059
- ОС: Ubuntu, Debian
Re: Решено: Добавление в PATH текущей директории
Допустим, я создам архив и скажу, что там крякер интернета. Ты захочешь его распаковать и посмотреть, что там за крякер. После распаковки сделаешь cd, ls и... И ты попал, т.к. в распакованных файлах находится файл с именем ls и ты его запустил только что. Разумеется, я не архивировал настоящий ls, а положил под его именем троян. Так-то! (с)

-
test157
- Сообщения: 124
- ОС: Debian Lenny
Re: Решено: Добавление в PATH текущей директории
ну опять же это только если PATH=./:$PATH верно?
если PATH=$PATH:./
то ls возьмется из текущей папки только в том случае если нигде выше он не будет найден, что очень мало вероятно
или я что то не понимаю?
если PATH=$PATH:./
то ls возьмется из текущей папки только в том случае если нигде выше он не будет найден, что очень мало вероятно
или я что то не понимаю?
-
Bizdelnick
- Модератор
- Сообщения: 21521
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Решено: Добавление в PATH текущей директории
Ну теоретически ещё остаётся вероятность, что при запуске, скажем, traceroute (который у меня в Мандриве за каким-то чёртом лежит в /usr/sbin, которая в PATH не прописана), обнаружить его в остальных директориях не удастся. А вообще, как я понимаю, когда-то в юниксах было принято искать программу и в текущей директории тоже. Достаточно на примеры в K&R посмотреть, чтобы убедиться.
Пишите правильно:
| в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
eddy
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: Решено: Добавление в PATH текущей директории
Есть еще вероятность запуска трояна, когда у вас PATH=$PATH:./ в случае, если троян назван именем, например, часто употребляемого псевдонима вроде ll, l. и т.п.
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка
-
vlakas
- Сообщения: 109
- ОС: Linux Debian
Re: Решено: Добавление в PATH текущей директории
test157 писал(а): ↑02.01.2010 22:20вот такой вопрос
допустим я нахожусь в папке /root/2
в ней есть файл file.py
когда я вбиваю в шел ./file.py файл успешно запускается, если вбиваю file.py пишет что файл не найдет.
как заставить баш смотреть текущую папку в поисках набираемого файла? или это чем то чревато поэтому отключено?
OS: Debian Lenny как и любой другой линукс думаю
...много интересной инфы тут прозвучало... признаться, не задавался вопросами такими... только есть они вопрос: если команда уже набирается вручную, то неужели сложно набрать перед ней ./?
-
test157
- Сообщения: 124
- ОС: Debian Lenny
Re: Решено: Добавление в PATH текущей директории
всем спасибо за ИНФО
насчет сложности - нет не сложно, в целом так и оставлю - команду через alias сократил до одного символа и буду набирать с ./m (специально не убрал ./) - привыкну без ./ на других машинах будет путанится c другими скриптами, а на всех ставить в PATH ./ все-же как выяснилось рискованно.
команду как я уже говорил нужно очень часто вызывать, с разными параметрами - отсюда такой вопрос.
еще раз всем спасибо и с наступишвим! )
насчет сложности - нет не сложно, в целом так и оставлю - команду через alias сократил до одного символа и буду набирать с ./m (специально не убрал ./) - привыкну без ./ на других машинах будет путанится c другими скриптами, а на всех ставить в PATH ./ все-же как выяснилось рискованно.
команду как я уже говорил нужно очень часто вызывать, с разными параметрами - отсюда такой вопрос.
еще раз всем спасибо и с наступишвим! )
-
pelmen
- Сообщения: 1268
- ОС: debian
Re: Решено: Добавление в PATH текущей директории
Ну и автор топика... ./ ему сложно набрать! Офигеть.
Если нужно часть с разными параметрами запускать файл, я обычно скрипт пишу. Но избавляться от ./ - это бред какой-то
Если нужно часть с разными параметрами запускать файл, я обычно скрипт пишу. Но избавляться от ./ - это бред какой-то