Автор Тема: debian 10, root и $PATH  (Прочитано 6102 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн romt

debian 10, root и $PATH
« : 11 Июля 2019, 08:08:36 »
Добрый день.
Имею два Debian 10. Один поставил с нуля, второй проапгрейдил с 9.9. На обоих XFCE.

Под root делаю 'adduser' и 'usermod' - 'команда не найдена'

Нашел причину. И под root и под обычным юзером
echo $PATH
/usr/local/bin:/usr/bin:/usr/local/games:/usr/games

То есть несмотря на su пути sbin не применяются.

хотя в /etc/profile всё вписано вроде верно:
if [ "`id -u`" -eq 0 ]; then
  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
  PATH="/usr/local/bin:/usr/bin:/usr/local/games:/usr/games"
fi

Это баг или фича?
 

Оффлайн dogsleg

Re: debian 10, root и $PATH
« Ответ #1 : 11 Июля 2019, 10:03:41 »
Начиная с версии 2.32-0.4 пакета util-linux, осуществлён переход на новую реализацию su.

При выполнении su значение PATH сохраняется.

При выполнении su - используется значение PATH для суперпользователя.

В новости по ссылке выше это описано чуть более подробно.
 
Пользователи, которые поблагодарили этот пост: romt, Gamliel

Оффлайн rusgg

Re: debian 10, root и $PATH
« Ответ #2 : 14 Июля 2019, 20:38:52 »
su
nano /etc/sudoers

# User privilege specification
root    ALL=(ALL:ALL) ALL
имя пользователя     ALL=(ALL:ALL) ALL
 

Оффлайн ek-nfn

Re: debian 10, root и $PATH
« Ответ #3 : 14 Июля 2019, 22:04:01 »
su
nano /etc/sudoers

# User privilege specification
root    ALL=(ALL:ALL) ALL
имя пользователя     ALL=(ALL:ALL) ALL
Не надо так делать, безопасность летит к черту. Если уж припекло с какой утилитой, то только ее и прописывать в /etc/sudoers типа
user  ALL=NOPASSWD: /usr/sbin/iftop
« Последнее редактирование: 14 Июля 2019, 22:06:29 от ek-nfn »
 
Пользователи, которые поблагодарили этот пост: ogost, Gamliel

Оффлайн G_r_i_g_a

Re: debian 10, root и $PATH
« Ответ #4 : 14 Июля 2019, 22:34:34 »
Не надо так делать, безопасность летит к черту
А как жить то тогда? Не использовать sudo?
Если уж припекло с какой утилитой, то только ее и прописывать в /etc/sudoers типа
user  ALL=NOPASSWD: /usr/sbin/iftop
разрешение запускать какую либо программу без ввода пароля куда гораздо опаснее, особенно если это операции с файловой системой cp или rm
 

Оффлайн ek-nfn

Re: debian 10, root и $PATH
« Ответ #5 : 15 Июля 2019, 06:37:27 »
А как жить то тогда? Не использовать sudo?
sudo продолжает рабатать как и работало. Данной строкой лишь отменяется ввод пароля при запуске утилиты iftop (удобно при использовании в скриптах) и эта утилита не представляет опасности для системы. Я ведь не предлагаю вводить такое разрешение на утилиты работы с дисками и файлами. Для всего остального, требующего ввод пароля, ничего не меняется. Это очень опасно, когда отменяют ввод пароля вообще для всех системных утилит, как это предложил предшественник. Такое можно проделывать только с теми утилитами, которые не способны изменить систему.
« Последнее редактирование: 15 Июля 2019, 06:44:42 от ek-nfn »
 
Пользователи, которые поблагодарили этот пост: Gamliel

Оффлайн G_r_i_g_a

Re: debian 10, root и $PATH
« Ответ #6 : 15 Июля 2019, 09:22:43 »
Это очень опасно, когда отменяют ввод пароля вообще для всех системных утилит, как это предложил предшественник.
В посте выше же нету отмены пароля... Автор его отредактировал? Там просто задаются полномочия, в каких случаях повышать привилегии, конкретно на всех машинах, а пароль на сессию, точнее на какой то таймаут, все равно придется вводить.
Если это не прописать, то sudo не будет работать же, т к. не будет полномочий у пользователя, придется использовать su, а это ещё может быть опаснее и неудобнее.
« Последнее редактирование: 15 Июля 2019, 09:32:00 от G_r_i_g_a »
 

Оффлайн Authlogin

Re: debian 10, root и $PATH
« Ответ #7 : 06 Августа 2019, 23:37:44 »
Не надо так делать, безопасность летит к черту. Если уж припекло с какой утилитой, то только ее и прописывать в /etc/sudoers типа
user  ALL=NOPASSWD: /usr/sbin/iftop

В этом есть смысл, но добавление  foo ALL=NOPASSWD: /usr/bin/psd-overlay-helper не решает проблему
$ psd p
I require modinfo but it's not installed. Aborting!

Починил,
~$ export PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
вероятнее всего не выход, если 
Spoiler: ShowHide
2.2.12. Merged /usr on fresh installs
On fresh installs, the content of /bin, /sbin and /lib will be installed into their /usr counterpart by default. /bin, /sbin and /lib will be soft-links pointing at their directory counterpart under /usr/. In graphical form:

/bin → /usr/bin
/sbin → /usr/sbin
/lib → /usr/lib
   
When upgrading to buster, systems are left as they are, although the usrmerge package exists to do the conversion if desired. The freedesktop.org project hosts a Wiki with most of the rationale.

This change shouldn't impact normal users that only run packages provided by Debian, but it may be something that people that use or build third party software want to be aware of.

Если изменили, значит на то была причина.
Как в таком случае прописать правильно? Немного не понимаю.


Решено
правильный путь: ShowHide


export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/user/bin"

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/user/bin

« Последнее редактирование: 07 Августа 2019, 04:27:50 от Authlogin »
 

Теги: buster $path 
 

p7zip 16.02 Install debian 8

Автор saifuddin

Ответов: 0
Просмотров: 1257
Последний ответ 09 Августа 2016, 13:50:17
от saifuddin
i2p на debian i386

Автор sagd

Ответов: 3
Просмотров: 1544
Последний ответ 02 Февраля 2019, 10:44:20
от ferum
установка сервера 1С на Debian

Автор Denix

Ответов: 5
Просмотров: 1847
Последний ответ 02 Февраля 2012, 10:06:02
от appletver
Нужно установить пакеты в DHCP Server и DHCP Relay в Debian

Автор Michail_Sys

Ответов: 2
Просмотров: 1575
Последний ответ 07 Мая 2020, 13:04:13
от Susumo
USB-модем + Debian

Автор Vladislav

Ответов: 12
Просмотров: 10801
Последний ответ 03 Марта 2013, 14:17:30
от ferum