Решено: Добавление в PATH текущей директории

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

test157
Сообщения: 124
ОС: Debian Lenny

Решено: Добавление в PATH текущей директории

Сообщение test157 »

вот такой вопрос

допустим я нахожусь в папке /root/2

в ней есть файл file.py

когда я вбиваю в шел ./file.py файл успешно запускается, если вбиваю file.py пишет что файл не найдет.

как заставить баш смотреть текущую папку в поисках набираемого файла? или это чем то чревато поэтому отключено?

OS: Debian Lenny как и любой другой линукс думаю
Спасибо сказали:
Аватара пользователя
farex
Сообщения: 497
ОС: Slackware 12.2, Archlinux

Re: Решено: Добавление в PATH текущей директории

Сообщение farex »

Ну например так:
Создаем папку в домашней дирректории

Код: Выделить всё

mkdir ~/bin

И добавляем в .bashrc вашего пользователя.

Код: Выделить всё

PATH=$PATH:/home/farex/bin

Код: Выделить всё

sourse .bashrc
cp /root/2/file.py ~/bin
Сыграем?
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Жив"
Спасибо сказали:
test157
Сообщения: 124
ОС: Debian Lenny

Re: Решено: Добавление в PATH текущей директории

Сообщение test157 »

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

и мне нужно - чтобы скрипт был виден только если я нахожусь в текущей папке, а не всегда

просто чтобы если зашел в папку и запускаешь много раз один и тотже скрипт каждый раз не вбивать ./ перед ним
Спасибо сказали:
Аватара пользователя
farex
Сообщения: 497
ОС: Slackware 12.2, Archlinux

Re: Решено: Добавление в PATH текущей директории

Сообщение farex »

test157 писал(а):
02.01.2010 22:27
это понятно, но папок много и они всегда разные. не добавлять же каждую?

Зачем... просто потом все свои скрипты клади в ~/bin и все.

test157 писал(а):
02.01.2010 22:27
просто чтобы если зашел в папку и запускаешь много раз один и тотже скрипт каждый раз не вбивать ./ перед ним

Код: Выделить всё

chmod +x file.py

не?
Сыграем?
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Жив"
Спасибо сказали:
test157
Сообщения: 124
ОС: Debian Lenny

Re: Решено: Добавление в PATH текущей директории

Сообщение test157 »

ну это ведь не всегда возможно вот я создал на django новый проект, он кладет в новую папку manage.py - его нужно часто пускать, завтра я создал новый проект он будет в другой папке там-же будет лежать manage.py - который также нужно часто пускать. по такому принципу работает много фреймворков. эти скрипты должны стартовать из текузщих директорий так как из них они берут настройки и прочее.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Решено: Добавление в PATH текущей директории

Сообщение eddy »

Из соображений безопасности нельзя вписывать в PATH текущую директорию, но если вам на это наплевать, делайте на свой страх и риск:
PATH=$PATH:./
Главное, не добавлять ./ в начало PATH.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
test157
Сообщения: 124
ОС: Debian Lenny

Re: Решено: Добавление в PATH текущей директории

Сообщение test157 »

а с чем связана опасность добавления ./ в PATH?
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Решено: Добавление в PATH текущей директории

Сообщение Portnov »

Банально:

Код: Выделить всё

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
Спасибо сказали:
test157
Сообщения: 124
ОС: Debian Lenny

Re: Решено: Добавление в PATH текущей директории

Сообщение test157 »

но ведь главное не добавлять ./ в начало, если добавить в конец - такого не будет. верно?

в чем тогда опасность добавления ./ в конец PATH?
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: Решено: Добавление в PATH текущей директории

Сообщение Frank »

test157 писал(а):
02.01.2010 22:20
чем то чревато поэтому отключено?

Допустим, я создам архив и скажу, что там крякер интернета. Ты захочешь его распаковать и посмотреть, что там за крякер. После распаковки сделаешь cd, ls и... И ты попал, т.к. в распакованных файлах находится файл с именем ls и ты его запустил только что. Разумеется, я не архивировал настоящий ls, а положил под его именем троян. Так-то! (с)
Изображение
Спасибо сказали:
test157
Сообщения: 124
ОС: Debian Lenny

Re: Решено: Добавление в PATH текущей директории

Сообщение test157 »

ну опять же это только если PATH=./:$PATH верно?

если PATH=$PATH:./

то ls возьмется из текущей папки только в том случае если нигде выше он не будет найден, что очень мало вероятно

или я что то не понимаю?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21521
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Решено: Добавление в PATH текущей директории

Сообщение Bizdelnick »

Ну теоретически ещё остаётся вероятность, что при запуске, скажем, traceroute (который у меня в Мандриве за каким-то чёртом лежит в /usr/sbin, которая в PATH не прописана), обнаружить его в остальных директориях не удастся. А вообще, как я понимаю, когда-то в юниксах было принято искать программу и в текущей директории тоже. Достаточно на примеры в K&R посмотреть, чтобы убедиться.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Решено: Добавление в PATH текущей директории

Сообщение eddy »

Есть еще вероятность запуска трояна, когда у вас PATH=$PATH:./ в случае, если троян назван именем, например, часто употребляемого псевдонима вроде ll, l. и т.п.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
vlakas
Сообщения: 109
ОС: Linux Debian

Re: Решено: Добавление в PATH текущей директории

Сообщение vlakas »

test157 писал(а):
02.01.2010 22:20
вот такой вопрос

допустим я нахожусь в папке /root/2

в ней есть файл file.py

когда я вбиваю в шел ./file.py файл успешно запускается, если вбиваю file.py пишет что файл не найдет.

как заставить баш смотреть текущую папку в поисках набираемого файла? или это чем то чревато поэтому отключено?

OS: Debian Lenny как и любой другой линукс думаю


...много интересной инфы тут прозвучало... признаться, не задавался вопросами такими... только есть они вопрос: если команда уже набирается вручную, то неужели сложно набрать перед ней ./?
Спасибо сказали:
test157
Сообщения: 124
ОС: Debian Lenny

Re: Решено: Добавление в PATH текущей директории

Сообщение test157 »

всем спасибо за ИНФО

насчет сложности - нет не сложно, в целом так и оставлю - команду через alias сократил до одного символа и буду набирать с ./m (специально не убрал ./) - привыкну без ./ на других машинах будет путанится c другими скриптами, а на всех ставить в PATH ./ все-же как выяснилось рискованно.

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

еще раз всем спасибо и с наступишвим! )
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Решено: Добавление в PATH текущей директории

Сообщение pelmen »

Ну и автор топика... ./ ему сложно набрать! Офигеть.
Если нужно часть с разными параметрами запускать файл, я обычно скрипт пишу. Но избавляться от ./ - это бред какой-то
Спасибо сказали: