Где лежат пользовательские скрипты?

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Enar
Сообщения: 300

Где лежат пользовательские скрипты?

Сообщение Enar »

Здравствуйте. Меня волнует такой вопрос, начал разбираться с bash скриптами и у меня стало появляться все больше и больше скриптов, запускаю их из ~/, но читал где-то что это не правильно, и /home вообще надо монтировать с запретом запуска приложений. Интересно куда помещают свои скрипты опытные пользователи linux. На сколько можно использовать /usr/bin, /usr/local/bin, или /opt.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Где лежат пользовательские скрипты?

Сообщение SLEDopit »

Enar писал(а):
30.05.2012 09:52
запускаю их из ~/
Это неудобно, в ~ начинает разводиться помойка. У меня всё в ~/scripts
Enar писал(а):
30.05.2012 09:52
и /home вообще надо монтировать с запретом запуска приложений.
от запуска скриптов монтирование с noexec не спасёт. Скрипт всегда можно запустить как bash /path/to/script и тогда не важно, стоит execute бит у файла или нет. Имхо, опция noexec имеет смысл только на серверах, дабы там всякие левые бинарники не запускали. Однако, на 95% серверов это правило не соблюдают.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21229
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Где лежат пользовательские скрипты?

Сообщение Bizdelnick »

~/bin/ - в редхатообразных дистрах официально для этого предназначенное место.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: Где лежат пользовательские скрипты?

Сообщение Yaros »

/usr/local/bin вроде по стандарту для этого. Точно не помню.
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Где лежат пользовательские скрипты?

Сообщение SLEDopit »

Yaros писал(а):
30.05.2012 12:14
/usr/local/bin вроде по стандарту для этого.
(FHS) писал(а):/usr/local : Local hierarchy
Purpose

The /usr/local hierarchy is for use by the system administrator when installing software locally. It needs to be safe from being overwritten when the system software is updated. It may be used for programs and data that are shareable amongst a group of hosts, but not found in /usr.
Не, явно не подходит (:
Да и это придётся разрешить пользователю писать в /usr/local/bin или каждый раз повышать привилегии при создании нового скрипта, что в общем-то, не есть хорошо.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: Где лежат пользовательские скрипты?

Сообщение Yaros »

SLEDopit писал(а):
30.05.2012 14:31
Yaros писал(а):
30.05.2012 12:14
/usr/local/bin вроде по стандарту для этого.
(FHS) писал(а):/usr/local : Local hierarchy
Purpose

The /usr/local hierarchy is for use by the system administrator when installing software locally. It needs to be safe from being overwritten when the system software is updated. It may be used for programs and data that are shareable amongst a group of hosts, but not found in /usr.
Не, явно не подходит (:
Да и это придётся разрешить пользователю писать в /usr/local/bin или каждый раз повышать привилегии при создании нового скрипта, что в общем-то, не есть хорошо.

Если человек один работает за компом, то sudo cp,
Еще есть вариант

Код:

$ mkdir ~/bin $ echo "export PATH=$PATH:/home/user/bin" >> ~/.bash_profile

UPD: Если не один, вроде тоже нормально.
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Где лежат пользовательские скрипты?

Сообщение eddy »

У меня на работе - стандартно (как у всех, в ~/bin), а дома - в /Data/scripts.

Админам, монтирующим /home с noexec, следует отрывать руки.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: Где лежат пользовательские скрипты?

Сообщение Yaros »

eddy писал(а):
30.05.2012 16:15
Админам, монтирующим /home с noexec, следует отрывать руки.

Это еще почему?
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21229
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Где лежат пользовательские скрипты?

Сообщение Bizdelnick »

Yaros писал(а):
30.05.2012 15:19
Еще есть вариант

Код:

$ mkdir ~/bin $ echo "export PATH=$PATH:/home/user/bin" >> ~/.bash_profile

В некоторых дистрибутивах это уже сделано, надо сначала проверить echo $PATH.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Где лежат пользовательские скрипты?

Сообщение eddy »

Yaros писал(а):
30.05.2012 16:29
eddy писал(а):
30.05.2012 16:15
Админам, монтирующим /home с noexec, следует отрывать руки.

Это еще почему?

А куда будет бедный пользователь свои скрипты складывать?
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: Где лежат пользовательские скрипты?

Сообщение Yaros »

eddy писал(а):
30.05.2012 21:56
Yaros писал(а):
30.05.2012 16:29
eddy писал(а):
30.05.2012 16:15
Админам, монтирующим /home с noexec, следует отрывать руки.

Это еще почему?

А куда будет бедный пользователь свои скрипты складывать?

Я за /usr/local/[s]bin .
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21229
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Где лежат пользовательские скрипты?

Сообщение Bizdelnick »

Yaros писал(а):
30.05.2012 22:13
Я за /usr/local/[s]bin .

И давно ли у пользователя есть право на запись туда?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Где лежат пользовательские скрипты?

Сообщение watashiwa_daredeska »

Yaros писал(а):
30.05.2012 22:13
Я за /usr/local/[s]bin .
Вопрос на засыпку — какой пользователь будет туда складывать скрипты? :)
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Где лежат пользовательские скрипты?

Сообщение eddy »

Yaros писал(а):
30.05.2012 22:13
Я за /usr/local/[s]bin .

Может, тогда уж сразу /bin? ;)
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: Где лежат пользовательские скрипты?

Сообщение Yaros »

Bizdelnick писал(а):
30.05.2012 22:23
Yaros писал(а):
30.05.2012 22:13
Я за /usr/local/[s]bin .

И давно ли у пользователя есть право на запись туда?

watashiwa_daredeska писал(а):
30.05.2012 22:36
Yaros писал(а):
30.05.2012 22:13
Я за /usr/local/[s]bin .
Вопрос на засыпку — какой пользователь будет туда складывать скрипты? :)

Sudo?
eddy писал(а):
30.05.2012 22:40
Yaros писал(а):
30.05.2012 22:13
Я за /usr/local/[s]bin .

Может, тогда уж сразу /bin? ;)

Изображение
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Где лежат пользовательские скрипты?

Сообщение watashiwa_daredeska »

Yaros писал(а):
30.05.2012 23:09
watashiwa_daredeska писал(а):
30.05.2012 22:36
Вопрос на засыпку — какой пользователь будет туда складывать скрипты? :)

Sudo?
Тогда лучше сразу сделать домашние каталоги world readable/writeable, а не тратить время пользователей на рассаживание по чужим скриптам троянов с шелл-доступом.
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: Где лежат пользовательские скрипты?

Сообщение Yaros »

watashiwa_daredeska писал(а):
31.05.2012 00:05
Yaros писал(а):
30.05.2012 23:09
watashiwa_daredeska писал(а):
30.05.2012 22:36
Вопрос на засыпку — какой пользователь будет туда складывать скрипты? :)

Sudo?
Тогда лучше сразу сделать домашние каталоги world readable/writeable, а не тратить время пользователей на рассаживание по чужим скриптам троянов с шелл-доступом.

Как вариант, поколдовать с группами.
У меня машина, на к-рой я делал скрипты в /usr/local/bin, вообще к сети не подключена, так что я тогда не заморачивался.
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1146
Статус: Slacker!
ОС: Slackware64-current

Re: Где лежат пользовательские скрипты?

Сообщение yars »

Я свои скриптики складирую в ~/scripts, как и SLEDopit, но я и не писал еще скриптов для обслуживния системы - дзен не тот :)
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Где лежат пользовательские скрипты?

Сообщение drBatty »

1. в ~ скрипты юзеры должны складывать. Юзерам, которые складывают скрипты в иное место надо руки отрывать (ну ладно, в /tmp/ ещё можно).
2. noexec это нормально, если юзер не программист, и если он не делает бинарники. ИМХО. Проблема в том, что я-то программист, и мне это не нужно.
3. очевидно, что-бы не устраивать помойки, нужно создать каталог ~/scripts, ежели юзер пишет более 1 скрипта...
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

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

Re: Где лежат пользовательские скрипты?

Сообщение Bizdelnick »

Yaros писал(а):
30.05.2012 23:09
Sudo?

А за использование sudo без надобности по рукам надо бить.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Где лежат пользовательские скрипты?

Сообщение drBatty »

Bizdelnick писал(а):
31.05.2012 12:15
А за использование sudo без надобности по рукам надо бить.

не надо. и так всем понятно, КТО написал.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Vadimsky
Сообщения: 30
ОС: Fedora 17

Re: Где лежат пользовательские скрипты?

Сообщение Vadimsky »

eddy писал(а):
30.05.2012 16:15
Админам, монтирующим /home с noexec, следует отрывать руки.

Ну я админ, и я всегда так монтирую /home и буду монтировать именно так.
Приходите отрывать, я Вас жду!
Боле того, у узеров в /etc/passwd:
director:x:521:501:General_Direktor:/dev/null:/sbin/nologin
buh1:x:522:501:Glav_Buh:/dev/null:/sbin/nologin
buh2:x:523:501::/dev/null:/sbin/nologin
и т.д.
Но это видимо тоже по Вашему неправильно?
По теме, так например я, в домашней папке, создаю scripts и их кидаю туда (уже свыше десятка, правда регулярно пользуюсь всего тремя), и даже если /home смонтирован noexec то скрипт от туда всё равно запустить можно.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Где лежат пользовательские скрипты?

Сообщение eddy »

Vadimsky писал(а):
31.05.2012 15:48
/sbin/nologin

Почтовый сервер? Я, вообще-то, про рабочую машину говорил, а не почтовик!
Vadimsky писал(а):
31.05.2012 15:48
и даже если /home смонтирован noexec то скрипт от туда всё равно запустить можно.

А если "скрипт" - бинарник? У меня, например, кое-что - на С, т.к. средствами баша либо невозможно такое сделать, либо долго.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: Где лежат пользовательские скрипты?

Сообщение Yaros »

eddy писал(а):
31.05.2012 16:36
Vadimsky писал(а):
31.05.2012 15:48
/sbin/nologin

Почтовый сервер? Я, вообще-то, про рабочую машину говорил, а не почтовик!
Vadimsky писал(а):
31.05.2012 15:48
и даже если /home смонтирован noexec то скрипт от туда всё равно запустить можно.

А если "скрипт" - бинарник? У меня, например, кое-что - на С, т.к. средствами баша либо невозможно такое сделать, либо долго.

Многие скрипты для сервера на Си пишут?
А для домашней машины, по большому счету, можно и без noexec.
Вроде есть еще /opt, но это тоже криво.
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Где лежат пользовательские скрипты?

Сообщение diesel »

Yaros писал(а):
31.05.2012 22:37
Многие скрипты для сервера на Си пишут?
А для домашней машины, по большому счету, можно и без noexec.

сколько людей, столько и мнений.
для домашней машины, на которой в своем собственном $HOME можно и со скриптами играться, да в принципе и с бинарниками иногда тоже - noexec как раз таки сомнительное преимущество. Ну или выносить этот playground куда-то еще, хотя, не помню чтобы FHS для этого было что-то предусмотрено, соответственно, будет это место не очень стандартное. Я, например, когда-то делал это в директории /data, а в $HOME оставались только конфиги и случайные файлы.

С другой стороны, на серверах... хранение скриптов/программ, которые имеют отношение к управлению сервером/тем что сервер занимается, в $HOME - ИМХО - идея странная. А эксперименты экспериментировать - ну, смотря какой сервер и для чего. noexec может быть более оправдан.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Где лежат пользовательские скрипты?

Сообщение eddy »

Yaros писал(а):
31.05.2012 22:37
Многие скрипты для сервера на Си пишут?

Я пишу. У меня все CGI на сях. Я даже свою библиотечку делал (правда, на вебсокетах "завис", т.к. пока что не нужны были).
И, кстати, у меня обычно CGI хранятся либо в /var/www/html/cgi-bin и /var/www/html/SSL/cgi-bin, либо в /Data/Misc/html/cgi-bin. Что-то я не припомню такого, чтобы стандартным было разрешать пользователю писать CGI в ~/www…
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: Где лежат пользовательские скрипты?

Сообщение Yaros »

eddy писал(а):
01.06.2012 08:39
Yaros писал(а):
31.05.2012 22:37
Многие скрипты для сервера на Си пишут?

Я пишу. У меня все CGI на сях. Я даже свою библиотечку делал (правда, на вебсокетах "завис", т.к. пока что не нужны были).
И, кстати, у меня обычно CGI хранятся либо в /var/www/html/cgi-bin и /var/www/html/SSL/cgi-bin, либо в /Data/Misc/html/cgi-bin. Что-то я не припомню такого, чтобы стандартным было разрешать пользователю писать CGI в ~/www…

Но вы же скрипты в папку сайту кладете, а не запускаете их кроном для админских нужд?
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Где лежат пользовательские скрипты?

Сообщение eddy »

Yaros писал(а):
01.06.2012 11:24
Но вы же скрипты в папку сайту кладете, а не запускаете их кроном для админских нужд?

CGI складываю в "папку с сайтом", свои скрипты - к себе, админские - еще куда-нибудь.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Где лежат пользовательские скрипты?

Сообщение SLEDopit »

diesel писал(а):
31.05.2012 23:13
С другой стороны, на серверах...
С другой на серверах даже в серьёзных организациях, где, казалось бы, работают отнюдь не новички, два дня назад поставившие бубунту под чутким руководством друга-админа, порой творится невероятная хрень. Так в одной из таких компаний для правки несчастного шелл скрипта считается нормой поднять на сервере сессию kde/gnome (зависит от личных предпочтений админа, на сервер одновременно представлены оба), подключиться к ней удалённо (не в холодной серверной перед монитором сидеть же), запустить в этой сессии эмулятор терминала и (внимание!!!) в нём запустить vi. А вы тут спорите о несчастном noexec. Куда уж там до него.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21229
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Где лежат пользовательские скрипты?

Сообщение Bizdelnick »

SLEDopit писал(а):
01.06.2012 13:19
поднять на сервере сессию kde/gnome (зависит от личных предпочтений админа, на сервер одновременно представлены оба), подключиться к ней удалённо (не в холодной серверной перед монитором сидеть же), запустить в этой сессии эмулятор терминала и (внимание!!!) в нём запустить vi.

Неужели вендоадмины настолько вендоадмины?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали: