debian 10, root и $PATH

Автор romt, 11 июля 2019, 08:08:36

« назад - далее »

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

romt

Добрый день.
Имею два 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

Начиная с версии 2.32-0.4 пакета util-linux, осуществлён переход на новую реализацию su.

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

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

В новости по ссылке выше это описано чуть более подробно.

rusgg

su
nano /etc/sudoers

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

ek-nfn

#3
Цитата: rusgg от 14 июля 2019, 20:38:52
su
nano /etc/sudoers

# User privilege specification
root    ALL=(ALL:ALL) ALL
имя пользователя     ALL=(ALL:ALL) ALL
Не надо так делать, безопасность летит к черту. Если уж припекло с какой утилитой, то только ее и прописывать в /etc/sudoers типа
user  ALL=NOPASSWD: /usr/sbin/iftop
Devuan 5 xfce

G_r_i_g_a

Цитата: ek-nfn от 14 июля 2019, 22:04:01Не надо так делать, безопасность летит к черту
А как жить то тогда? Не использовать sudo?
Цитата: ek-nfn от 14 июля 2019, 22:04:01Если уж припекло с какой утилитой, то только ее и прописывать в /etc/sudoers типа
user  ALL=NOPASSWD: /usr/sbin/iftop
разрешение запускать какую либо программу без ввода пароля куда гораздо опаснее, особенно если это операции с файловой системой cp или rm

ek-nfn

#5
Цитата: G_r_i_g_a от 14 июля 2019, 22:34:34А как жить то тогда? Не использовать sudo?
sudo продолжает рабатать как и работало. Данной строкой лишь отменяется ввод пароля при запуске утилиты iftop (удобно при использовании в скриптах) и эта утилита не представляет опасности для системы. Я ведь не предлагаю вводить такое разрешение на утилиты работы с дисками и файлами. Для всего остального, требующего ввод пароля, ничего не меняется. Это очень опасно, когда отменяют ввод пароля вообще для всех системных утилит, как это предложил предшественник. Такое можно проделывать только с теми утилитами, которые не способны изменить систему.
Devuan 5 xfce

G_r_i_g_a

#6
Цитата: ek-nfn от 15 июля 2019, 06:37:27Это очень опасно, когда отменяют ввод пароля вообще для всех системных утилит, как это предложил предшественник.
В посте выше же нету отмены пароля... Автор его отредактировал? Там просто задаются полномочия, в каких случаях повышать привилегии, конкретно на всех машинах, а пароль на сессию, точнее на какой то таймаут, все равно придется вводить.
Если это не прописать, то sudo не будет работать же, т к. не будет полномочий у пользователя, придется использовать su, а это ещё может быть опаснее и неудобнее.

Authlogin

#7
Цитата: ek-nfn от 14 июля 2019, 22:04:01Не надо так делать, безопасность летит к черту. Если уж припекло с какой утилитой, то только ее и прописывать в /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"
вероятнее всего не выход, если 
Открыть содержимое (спойлер)
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.
[свернуть]
Если изменили, значит на то была причина.
Как в таком случае прописать правильно? Немного не понимаю.


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


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

[свернуть]