Запуск/останка Apache от пользователя как сделать?

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Arthes
Сообщения: 282
ОС: OS X Yosemite and CentOS

Запуск/останка Apache от пользователя как сделать?

Сообщение Arthes »

Есть нужда сделать так, чтобы возможность включать/отключать сервис apache в Linux CentOS 6 был не только у root, но и обычного конкретного пользователя.
Этот пользователь WEB разработчик и ему иногда надо это делать.

В файле /etc/sudoers

По примеру:

Код: Выделить всё

 ## Allows members of the users group to mount and unmount the
## cdrom as root
# %users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom

## Allows members of the users group to shutdown this system
# %users  localhost=/sbin/shutdown -h now


дописал:

Код: Выделить всё

## Allows members of the users group webuser  to start/stop httpd service
%webuser ALL=/etc/init.d/httpd


Но при попытке остановить httpd. командой /etc/init.d/httpd stop от пользователя webuser, выпадает ошибка:

Код: Выделить всё

rm: cannot remove `/var/run/httpd.pid': Permission denied  [FAILED]


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

Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Запуск/останка Apache от пользователя как сделать?

Сообщение SLEDopit »

лучше так:
дать права на /sbin/service (емнип, в центосе service в /sbin лежит) и перезапускать апач как

Код: Выделить всё

sudo service httpd restart

чтобы пользователь не мог перезапускать другие службы, писать в sudoers нужно так:

Код: Выделить всё

%webuser ALL=/sbin/service httpd
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Arthes
Сообщения: 282
ОС: OS X Yosemite and CentOS

Re: Запуск/останка Apache от пользователя как сделать?

Сообщение Arthes »

SLEDopit писал(а):
28.09.2012 14:21
лучше так:
дать права на /sbin/service (емнип, в центосе service в /sbin лежит) и перезапускать апач как service httpd restart
чтобы пользователь не мог перезапускать другие службы, писать в sudoers нужно так:

Код: Выделить всё

%webuser ALL=/sbin/service httpd


Сделал так, но при остановке от юзера та же ошибка

Код: Выделить всё

[webuser@localhost ~]$ /sbin/service httpd stop
rm: cannot remove `/var/run/httpd.pid': Permission denied  [FAILED]


Если Apache остановить от root, и потом попробовать запустить его по такой же схеме то:

Код: Выделить всё

[webuser@localhost ~]$ /sbin/service httpd start
Starting httpd: (13)Permission denied: make_sock: could not bind to address [::]:80
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
                                                           [FAILED]


Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Запуск/останка Apache от пользователя как сделать?

Сообщение serzh-z »

Arthes
[webuser@localhost ~]$ sudo /sbin/service httpd start

Спасибо сказали:
Аватара пользователя
Olden Gremlin
Сообщения: 365
Статус: RAP22-RIPE
ОС: Debian GNU/Linux Wheezy

Re: Запуск/останка Apache от пользователя как сделать?

Сообщение Olden Gremlin »

Arthes писал(а):
28.09.2012 13:54

Код: Выделить всё

rm: cannot remove `/var/run/httpd.pid': Permission denied  [FAILED]

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

Shell

sudo /etc/init.d/httpd stop

;)
«Когда у общества нет цветовой дифференциации штанов — то нет цели!»
nic-hdl: RAP22-RIPE
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Запуск/останка Apache от пользователя как сделать?

Сообщение drBatty »

Arthes писал(а):
28.09.2012 15:26
Сделал так, но при остановке от юзера та же ошибка

sudo это команда такая. Как в вындовс - "выполнить от имени другого юзера". Разрешать останавливать апач юзеру НЕ надо, нужно разрешить юзеру выполнить команду остановки от имени рута.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали: