1

Здравствуйте. Необходимо создать юзера с определенными правами: создание / удаление юзера, запуск/остановка процессов, распаковка архивов, создание / удаление папок и возможность смены паролей для созданных юзеров. Как сие можно осуществить? Зараннее спасибо.

2 (17.04.2012 16:03:51 отредактировано Nigelist)

В двух словах и не объяснишь, но юзер создается так:

useradd username

Потом, можешь включишь юзера в нужные группы. Точнее не помню как, глянь сам:

useradd --help

3

Nigelist пишет:
useradd --help

Да смотрел помощь, но лыжи, так сказать, не поехали. В линуксе, можно сказать, новичек, так что был бы благодарен за конкретные команды. Но все равно спасибо.

4 (17.04.2012 18:39:36 отредактировано faithman)

В некоторых местах попахивает root'ом.

5

faithman пишет:

В некоторых местах попахивает root'ом.

Определенно. Я знаю, что это возможно, но я не знаю, как сие осуществить

6

4fun пишет:

Определенно. Я знаю, что это возможно, но я не знаю, как сие осуществить

Как вариант: настроить и использовать sudo.

Был, был и весь вышел...

7

Lupo Alberto пишет:
4fun пишет:

Определенно. Я знаю, что это возможно, но я не знаю, как сие осуществить

Как вариант: настроить и использовать sudo.

Был бы вам премного благодарен, если бы вы описали решение именно для моей ситуации

8

Lupo Alberto пишет:
4fun пишет:

Определенно. Я знаю, что это возможно, но я не знаю, как сие осуществить

Как вариант: настроить и использовать sudo.

Он же сказал - новичёк. sudo - стрёмно, наломанет дров. Пусть будет просто root -это накладывает определённую ответственность, не?

9

mvt пишет:

Пусть будет просто root -это накладывает определённую ответственность, не?

Да стремно рут юзать.

10

4fun пишет:

еобходимо создать юзера с определенными правами: создание / удаление юзера, запуск/остановка процессов, распаковка архивов, создание / удаление папок и возможность смены паролей для созданных юзеров.

Что-то мне подсказывает, что я сейчас опишу способ из «костылей», но...
Во-первых, у меня скорей всего не получится учесть всех ваших условий, уж больно кратко они описаны.
sudo позволяет разрешить выполнение определённых программ на определённых хостах (компьютерах) для определённых пользователей или групп, как с вводом пароля, так и без.
Поэтому, во-вторых — без самостоятельного изучения man sudo вам не обойтись. Проще решать локальные проблемы, чем сразу всё охватить.
Для настройки sudo используется редактирование конфигурационного файла /etc/sudoers с помощью команды visudo, которая несмотря на своё «страшное» название не позволит вам создать некорректный конфигурационный файл.
Например, добавление строки

%admin gentoo-laptop=(root) NOPASSWD: /bin/kill, /usr/sbin/userdel, /usr/sbin/useradd, /usr/bin/passwd

позволит пользователям, входящим в группу admin, выполнять перечисленные команды с root-привилегиями на компьютере gentoo-laptop.
Я показал достаточно примитивную настройку. На самом деле возможности sudo гораздо гибче — можно назначить алиасы (псевдонимы) на группы команд, хостов, пользователей, запускать команды в различном окружении...

Распаковка архивов, создание и удаление каталогов настраивается правами доступа к соответвующим директориям.

Был, был и весь вышел...

11

Если же юзеру дать право менять пароли, то он сможет, по идее, поменять пароль и для root? Ведь в таком случае, по сути, юзер ничем от рута и не будет отличаться.

12

4fun
Слышали, что сказал Lupo Alberto? Хитрая настройка sudo - рано, определитесь, кто Вы в системе, как Вы её будете эксплуатировать. root - это ответственность (спокойно можно снести систему...) Вот и попробуйте, на самом деле - это просто привычка, потом и sudo можно ab

13

mvt пишет:

4fun
Слышали, что сказал Lupo Alberto? Хитрая настройка sudo - рано, определитесь, кто Вы в системе, как Вы её будете эксплуатировать. root - это ответственность (спокойно можно снести систему...) Вот и попробуйте, на самом деле - это просто привычка, потом и sudo можно ab

Да мне этот юзер нужен для работы удаленного скрипта с дедиком.

14

4fun пишет:
mvt пишет:

4fun
Слышали, что сказал Lupo Alberto? Хитрая настройка sudo - рано, определитесь, кто Вы в системе, как Вы её будете эксплуатировать. root - это ответственность (спокойно можно снести систему...) Вот и попробуйте, на самом деле - это просто привычка, потом и sudo можно ab

Да мне этот юзер нужен для работы удаленного скрипта с дедиком.

Ну и создайте, какого-то левого, дайте права не более необходимого и живите спокойно ab

15

mvt пишет:
4fun пишет:
mvt пишет:

4fun
Слышали, что сказал Lupo Alberto? Хитрая настройка sudo - рано, определитесь, кто Вы в системе, как Вы её будете эксплуатировать. root - это ответственность (спокойно можно снести систему...) Вот и попробуйте, на самом деле - это просто привычка, потом и sudo можно ab

Да мне этот юзер нужен для работы удаленного скрипта с дедиком.

Ну и создайте, какого-то левого, дайте права не более необходимого и живите спокойно ab

Да вот в первом посту и описал все нужные мне права. Попробую, конечно, сделать так, как посоветовал товарищ Alberto ab
Если у меня есть юзер, например, serj, который состоит в одноименной группе serj, то запись в sudoers будет выглядеть, примерно, так?

%serj debian143=(root) NOPASSWD: /bin/kill, /usr/sbin/userdel, /usr/sbin/useradd, /usr/bin/passwd

И нужно ли после изменения того файла ребутить что-либо?

16

В данном случае можно проще — устанавливать права не для группы, а для конкретного пользователя.

serj debian143=(ALL) NOPASSWD: /bin/kill, /usr/sbin/userdel, /usr/sbin/useradd, /usr/bin/passwd

Перегружать не надо, в большинстве случаев достаточно перелогиниться.
P.S. Пути к командам приведите в соответствие с реалиями вашего дистрибутива.

Был, был и весь вышел...

17

4fun пишет:
mvt пишет:
4fun пишет:

Да мне этот юзер нужен для работы удаленного скрипта с дедиком.

Ну и создайте, какого-то левого, дайте права не более необходимого и живите спокойно ab

Да вот в первом посту и описал все нужные мне права. Попробую, конечно, сделать так, как посоветовал товарищ Alberto ab
Если у меня есть юзер, например, serj, который состоит в одноименной группе serj, то запись в sudoers будет выглядеть, примерно, так?

%serj debian143=(root) NOPASSWD: /bin/kill, /usr/sbin/userdel, /usr/sbin/useradd, /usr/bin/passwd

И нужно ли после изменения того файла ребутить что-либо?

А вот не надо sudo. Пусть Ваш serj сидит со своими, Вами дадеными правами.

18

Я так вообще не понимаю, зачем sudo настраивать. Лишний раз пароль набрать не влом ab Красота: туда, куда нельзя, не пускают, то, чего нельзя, без прав рута не запустишь...

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

19

yars пишет:

Я так вообще не понимаю, зачем sudo настраивать. Лишний раз пароль набрать не влом

4fun пишет:

Да мне этот юзер нужен для работы удаленного скрипта с дедиком.

Был, был и весь вышел...

20

Lupo Alberto пишет:
yars пишет:

Я так вообще не понимаю, зачем sudo настраивать. Лишний раз пароль набрать не влом

4fun пишет:

Да мне этот юзер нужен для работы удаленного скрипта с дедиком.

А, ну если так, то да, придется sudo использовать ab А на локальном компьютере - смысла нету.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

21

На удаленном можно sudo su -

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

22

Можно ли каким-то образом ограничить возможность изменения паролей юзером для всех, кроме рута?

23

4fun пишет:

Можно ли каким-то образом ограничить возможность изменения паролей юзером для всех, кроме рута?

serj debian143=(ALL) NOPASSWD: /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root

Разумеется, NOPASSWD: — опционально. Можно даже в одной строке указать команды (или созданные ранее алиасы команд), для которых не нужно вводить пароль, а для которых — обязательно.

Был, был и весь вышел...

24

Lupo Alberto пишет:
4fun пишет:

Можно ли каким-то образом ограничить возможность изменения паролей юзером для всех, кроме рута?

serj debian143=(ALL) NOPASSWD: /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root

Разумеется, NOPASSWD: — опционально. Можно даже в одной строке указать команды (или созданные ранее алиасы команд), для которых не нужно вводить пароль, а для которых — обязательно.

Что есть NOPASSWD? И, в итоге, мне в sudoers нужно прописать

serj debian143=(ALL) NOPASSWD: /bin/kill, /usr/sbin/userdel, /usr/sbin/useradd, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root

Изменив, соответственно, пути, в зависимости от дистрибутива?


А это, как я понял, изменение паролей для юзеров с символами A-Z, a-z, но НЕ root?

/usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root 

Что если в имени юзера могут присутствовать цифры? Это будет выглядеть так?

/usr/bin/passwd [A-Za-z0-9]*, !/usr/bin/passwd root

25

4fun пишет:

А это, как я понял, изменение паролей для юзеров с символами A-Z, a-z, но НЕ root?

Это изменение паролей для пользователей, имя которых начинается с буквы.

Был, был и весь вышел...

26

4fun пишет:

Что есть NOPASSWD?

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

Был, был и весь вышел...

27 (18.04.2012 10:36:53 отредактировано 4fun)

А насчет этого я правильно понял?

serj debian143=(ALL) NOPASSWD: /bin/kill, /usr/sbin/userdel, /usr/sbin/useradd, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root

И под debian143, как я поняимаю, подразумевается hostname компьютера?

И вы выше, вроде бы писали, что это костыльное решение. На безопасность это не сильно влияет? То есть идет простое присвоение прав юзеру?

28

4fun пишет:

И под debian143, как я поняимаю, подразумевается hostname компьютера?

Ну да, можно проверить, запустив команду

hostname -f

P.S. Чтобы не «заморачиваться», можно указать в этом поле ALL.

Был, был и весь вышел...

29 (18.04.2012 10:40:56 отредактировано 4fun)

Спасибо за терпение, проявленное ко мне при объяснении ab Буду пробовать. Отпишу, если возникнут вопросы.