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:~#
Вопрос состоит в том почему /sbin
не включен по умолчанию? Разве это не делает вещи тяжелее для пользователя?
Как удостовериться /sbin
добавляется автоматически в $PATH
вместо того, чтобы изменить его вручную для каждого пользователи?
/sbin
каталог для обслуживания системы и/или средств администрирования. Таким образом, только администраторам разрешают использовать его, и у Вас нет этого каталога в Вашем $PATH. Можно считать больше в Стандарте Иерархии Файловой системы FHS.
Правильное место для добавления нового значения к $PATH
переменная является пользователем ~/.profile
файл или система /etc/profile
файл. Обычно уже существует строка с $PATH
таким образом, необходимо только добавить /sbin
к запуску строки. Или просто добавьте эту строку в конце файла:
PATH="/sbin:$PATH"
Также можно отредактировать /etc/skel/.profile
файл. Этот файл будет скопирован в корневой каталог пользователя при создании нового. Но если Вы хотите иметь эту функцию всех пользователей, изменения /etc/profile
.