dhclient для нормальных (некорневых) пользователей

Я не думаю, что они - ошибки.

Это - просто X-сервер, являющийся болтливым.

Можно отправить те сообщения в/dev/null, также, путем запуска использования Xvfb Xvfb :1 -screen 0 1024x768x24 2>/dev/null &

2
19.12.2012, 23:42
2 ответа

Установка и использование sudo. Это - то и самый нормальный способ сделать эти вещи. dhclient действительно полномочия пользователя root потребностей, нет никакого пути вокруг этого.

Позвольте определенным пользователям выполнять единственную команду с полномочиями пользователя root. Это может быть настроено в a /etc/sudoers файл как это (использование редактирования visudo):

Cmnd_Alias     DHCP = /usr/sbin/dhclient
User_Alias     DCHPUSERS = millert, mikef, dowdy

DCHPUSERS      ALL = NOPASSWD: DHCP

Выше всего один способ настроить sudo. Если у Вас есть много пользователей для администрирования как это, я предлагаю использовать группу локального пользователя вместо того, чтобы указать отдельных пользователей.

5
27.01.2020, 21:51

Я знаю, что на это уже был дан ответ, но я обнаружил этот вопрос при поиске, и предложенный ответ не подходил для моего случая.

Мне удалось запустить dhcpd от имени обычного пользователя, приписав специальные возможности двоичному файлу dhcpd:

sudo setcap CAP_NET_BIND_SERVICE,CAP_NET_RAW=+ep $(which dhcpd)

Вот небольшое описание приписываемых возможностей:

CAP_NET_BIND_SERVICE allows binding ports lower than 1024
CAP_NET_RAW allows using RAW and Packet sockets and address binding (for LPF socket).

см. возможности человека для более подробного описания. Позже я смог запустить dhcpd следующим образом:

Triglav-Control-Engine-1v1% sudo setcap CAP_NET_BIND_SERVICE,CAP_NET_RAW=+ep $(which dhcpd)
Triglav-Control-Engine-1v1% dhcpd -4 -f -d -s 169.254.13.1 -cf dhcpd.conf -lf leases
Internet Systems Consortium DHCP Server 4.3.4
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Config file: dhcpd.conf
Database file: /home/roosemberth/.config/dhcpd/leases
PID file: /var/run/dhcpd.pid
Source compiled to use binary-leases
Wrote 0 leases to leases file.

Listening on LPF/enp0s31f6/<MAC>/169.254.13.0/24
Sending on   LPF/enp0s31f6/<MAC>/169.254.13.0/24
Sending on   Socket/fallback/fallback-net
Can't create PID file /var/run/dhcpd.pid: Permission denied.
Server starting service.
DHCPDISCOVER from 50:7b:9d:af:e8:59 via enp0s31f6
4
27.01.2020, 21:51

Теги

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