Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Adduser не из-под рута  (Прочитано 1379 раз)

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

Оффлайн wunge

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Adduser не из-под рута
« : 16 Июня 2009, 23:03:37 »
Столкнулся с такой проблемой: нужно иметь возможность создавать пользователей без sudo, т.е. не от рута, но adduser этого не позволяет. Это нужно для того, чтобы автоматически запускаемый скрипт создавал пользователей.
Кого-нибудь сталкивался с подобным?
А вообще это возможно в Ubuntu? Или из-за этого придется ставить другую систему, что крайне не удобно.

P.S. Система: Ubuntu 9.04 Server

Оффлайн jel

  • Активист
  • *
  • Сообщений: 828
    • Просмотр профиля
Re: Adduser не из-под рута
« Ответ #1 : 16 Июня 2009, 23:47:05 »
Сделать-то можно, но очень смахивает на попытку надеть штаны через голову. В чем суть задачи? Попробуйте объяснить что хочется получить в итоге, возможно желаемого можно достичь более традиционными способами.

Оффлайн Lolka

  • Участник
  • *
  • Сообщений: 162
  • Адепт высшей магии по Убунтизму
    • Просмотр профиля
Re: Adduser не из-под рута
« Ответ #2 : 17 Июня 2009, 00:11:21 »
Судо умеет ограничивать права суперпользователя одной командой -- скажем, создайте юзера, который может использовать sudo лишь в целях adduser. А вообще поддерживаю jel'а.

Оффлайн Malamut

  • Ubuntu Member
  • Администратор
  • Старожил
  • *
  • Сообщений: 3337
  • Я добрый, честно!
    • Просмотр профиля
    • Моя страница на Launchpad
Re: Adduser не из-под рута
« Ответ #3 : 17 Июня 2009, 00:14:22 »
Надо подумать... Возможно-то возможно, достаточно поставить SUID бит на adduser, но это, как его, немного опасно, поскольку любой пользователь сможет воспользоваться adduser. Более щадящий (и правильный) вариант: прописать в /ets/sudoers нужному юзеру (или всем юзверям) право на выполнение конкретно adduser без пароля, тогда достаточно будет ввести sudo adduser и всё запашет без пароля (вообще sudo наудивление гибкая в настройке штука и позволяет разруливать многие проблемы с доступом к различным фичам), возможно есть ещё извращения, но это два стандартных и самых правильных.
"Носителем суверенитета и единственным источником власти в Российской Федерации является ее многонациональный народ" Конституция РФ

Оффлайн terrible_user

  • Активист
  • *
  • Сообщений: 438
    • Просмотр профиля
Re: Adduser не из-под рута
« Ответ #4 : 17 Июня 2009, 08:11:34 »
Набираешь
visudo
Добавляешь строку
happyuser  ALL = NOPASSWD: /usr/sbin/useradd

теперь пользователь happyuser  набирает
sudo useradd -m newhappyuser
Бери больше, кидай дальше

Оффлайн valler

  • Новичок
  • *
  • Сообщений: 38
    • Просмотр профиля
Re: Adduser не из-под рута
« Ответ #5 : 17 Июня 2009, 08:32:14 »
Цитировать
Это нужно для того, чтобы автоматически запускаемый скрипт создавал пользователей.
А что-то мешает этот скрипт запукать из-под рута?

Оффлайн wunge

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Adduser не из-под рута
« Ответ #6 : 17 Июня 2009, 13:09:07 »
Вообще мне нужно, чтобы через веб-интерфейс (апач) была возможность создавать пользователей.

Oni-chan

  • Гость
Re: Adduser не из-под рута
« Ответ #7 : 17 Июня 2009, 13:12:52 »
так апач же работает с рутовскими привилегиями О_о

Оффлайн terrible_user

  • Активист
  • *
  • Сообщений: 438
    • Просмотр профиля
Re: Adduser не из-под рута
« Ответ #8 : 17 Июня 2009, 13:31:23 »
Вообще мне нужно, чтобы через веб-интерфейс (апач) была возможность создавать пользователей.

Набираешь
visudoДобавляешь строку
www-data  ALL = NOPASSWD: /usr/sbin/useraddя так понимаю будет php интерфейс. вот как то так
echo shell_exec(" /usr/sbin/useradd -m ". $USER);Вообще лучше делать это через скрипты, там можно жестко зашить что должен выполнять apache. вместо того что бы давать безграничный доступ к самим утилитам. Ну и все так же разрешить выполнение в sudo
Бери больше, кидай дальше

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: Adduser не из-под рута
« Ответ #9 : 17 Июня 2009, 14:06:31 »
так апач же работает с рутовскими привилегиями О_о
давно?
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн wunge

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Adduser не из-под рута
« Ответ #10 : 17 Июня 2009, 17:16:47 »
Вопрос решился по совету terrible_user, за что ему большое спасибо :).

P.S. для апача я напишу несколько баш-скриптов, которые и будут выполнять необходимые действия.
Кстати, а если в судоерс прописать разрешение только на сам скрипт, то на исполняемые внутри него команды это будет распространяться или нет?

Оффлайн terrible_user

  • Активист
  • *
  • Сообщений: 438
    • Просмотр профиля
Re: Adduser не из-под рута
« Ответ #11 : 17 Июня 2009, 17:27:51 »
Да все что будет делать скрипт будет иметь root права.
Стоит поставить права на скрипт 700 владелец:группа =  root:root, а разрешение на его выполнение назначить для пользователя www-data в sudo.
Бери больше, кидай дальше

Оффлайн wunge

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Adduser не из-под рута
« Ответ #12 : 17 Июня 2009, 17:42:44 »
Большое спасибо! А то я уже всю голову сломал об этот вопрос.

Оффлайн Frank

  • Старожил
  • *
  • Сообщений: 1799
  • Профессиональный любитель
    • Просмотр профиля
    • Народный форум Николаева
Re: Adduser не из-под рута
« Ответ #13 : 17 Июня 2009, 18:48:04 »
sudo можно писать внутри скрипта, на нужных коммандах, соответственно, "обычные" команды того же скрипта будут выполняться от юзера. При этом надо ставить права на скрипт владелец:группа = root:www-data, 750. В sudoers, разумеется, давать права не на скрипт, а на команды, выполняемые в скрипте через sudo.

Оффлайн terrible_user

  • Активист
  • *
  • Сообщений: 438
    • Просмотр профиля
Re: Adduser не из-под рута
« Ответ #14 : 17 Июня 2009, 20:42:42 »
sudo можно писать внутри скрипта, на нужных коммандах, соответственно, "обычные" команды того же скрипта будут выполняться от юзера. При этом надо ставить права на скрипт владелец:группа = root:www-data, 750. В sudoers, разумеется, давать права не на скрипт, а на команды, выполняемые в скрипте через sudo.

Если дальше развивать управление сервером через php, наращивать функционал, то скрипты могут содержать и пароли (например скрипты связные с mysql ), то в итоге в целях конечно только безопасности нельзя давать возможности видеть текст скрипта и произвольного функционала.
Ну это как говорится совсем другая история
Бери больше, кидай дальше

 

Страница сгенерирована за 0.019 секунд. Запросов: 20.