Почему делает '/sbin', не включенный в $PATH для нового пользователя?

ifconfig расположен в /sbin/ifconfig. У меня нет проблемы при издании ifconfig команда в пользователе root.

Проблема запустилась, когда я создал нового пользователя.

root@Ubuntu:~# useradd -m user
root@Ubuntu:~#

root@Ubuntu:~# passwd user
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
root@Ubuntu:~# 

root@Ubuntu:~# su user
user@Ubuntu:/root$ id
uid=1003(user) gid=1003(user) groups=1003(user)
user@Ubuntu:/root$ 

ifconfig не найден в новом пользователе.

user@Ubuntu:~$ ifconfig
-su: ifconfig: command not found
user@Ubuntu:~$ 

Временное обходное решение, выполняют его от полного пути /sbin/ifconfig

user@Ubuntu:~$ whereis ifconfig
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
user@Ubuntu:~$ 

user@Ubuntu:~$ /sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr AA:AA:AA:AA:AA:AA
          inet addr:10.0.0.1  Bcast:10.0.0.255  Mask:255.255.255.0
user@Ubuntu:~$

ifconfig не был найден как /sbin больше не настраивается в новой пользовательской среде.

user@Ubuntu:~$ echo $PATH
/home/user/bin:/home/user/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin
user@Ubuntu:~$ 

user@Ubuntu:~$ echo $PATH | grep sbin
user@Ubuntu:~$ 

Я не вижу эту проблему о пользователе root как /sbin часть $PATH по умолчанию.

root@Ubuntu:~# ifconfig 
eth0      Link encap:Ethernet  HWaddr AA:AA:AA:AA:AA:AA
          inet addr:10.0.0.1  Bcast:10.0.0.255  Mask:255.255.255.0

root@Ubuntu:~# echo $PATH | grep sbin
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
root@Ubuntu:~# 
  1. Вопрос состоит в том почему /sbin не включен по умолчанию? Разве это не делает вещи тяжелее для пользователя?

  2. Как удостовериться /sbin добавляется автоматически в $PATH вместо того, чтобы изменить его вручную для каждого пользователи?

1
задан 3 November 2017 в 19:57

1 ответ

/sbin каталог для обслуживания системы и/или средств администрирования. Таким образом, только администраторам разрешают использовать его, и у Вас нет этого каталога в Вашем $PATH. Можно считать больше в Стандарте Иерархии Файловой системы FHS.

Правильное место для добавления нового значения к $PATH переменная является пользователем ~/.profile файл или система /etc/profile файл. Обычно уже существует строка с $PATH таким образом, необходимо только добавить /sbin к запуску строки. Или просто добавьте эту строку в конце файла:

PATH="/sbin:$PATH"

Также можно отредактировать /etc/skel/.profile файл. Этот файл будет скопирован в корневой каталог пользователя при создании нового. Но если Вы хотите иметь эту функцию всех пользователей, изменения /etc/profile.

3
ответ дан 7 December 2019 в 12:31

Другие вопросы по тегам:

Похожие вопросы: