Автоматизация создания пользователей: права, папки, сервисы

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
.scu
сержант
Сообщения: 198
Зарегистрирован: 2008-05-26 11:25:08
Контактная информация:

Автоматизация создания пользователей: права, папки, сервисы

Непрочитанное сообщение .scu » 2010-06-24 4:56:58

Если ли какие-то утилиты для того, чтобы автоматизировать следующий процесс:

1) при создании пользователя, также создается группа равная имени пользователя
2) пользователь добавляется в другую группу, допустим hosting
3) ему создается скелет с папками с определенными правами:
/hosting 755 root:root
/hosting/domains 751 root:root
/hosting/domains/domain.ru 501 domain.ru:hosting
/hosting/domains/domain.ru/data 751 domain.ru:domain.ru
/hosting/domains/domain.ru/data/www 751 domain.ru:domain.ru
/hosting/domains/domain.ru/data/log 751 domain.ru:domain.ru
4) создается пользователь для proftpd с логином\паролем, как у созданного linux пользователя и доступом в директорию пользователя: /hosting/domains/domain.ru

буду признательна за помощь в поиске :)
т.к. руками создавать права - это ад.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Burner
лейтенант
Сообщения: 693
Зарегистрирован: 2009-06-14 7:02:26

Re: Автоматизация создания пользователей: права, папки, серв

Непрочитанное сообщение Burner » 2010-06-24 5:27:39

купите панельку. Или скрипт сделайте.

.scu
сержант
Сообщения: 198
Зарегистрирован: 2008-05-26 11:25:08
Контактная информация:

Re: Автоматизация создания пользователей: права, папки, серв

Непрочитанное сообщение .scu » 2010-06-24 7:08:03

про скрипт я как бы и спрашиваю :)
панельку не хочется, т.к. там все слишком дефолтно, не всегда подходит для задач.

Burner
лейтенант
Сообщения: 693
Зарегистрирован: 2009-06-14 7:02:26

Re: Автоматизация создания пользователей: права, папки, серв

Непрочитанное сообщение Burner » 2010-06-24 8:44:50

ну садитесь и начинайте писать, а мы поможем

FiL
ст. лейтенант
Сообщения: 1375
Зарегистрирован: 2010-02-05 0:21:40

Re: Автоматизация создания пользователей: права, папки, серв

Непрочитанное сообщение FiL » 2010-06-24 18:11:41

a чо там писать?

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

#!/bin/bash

read -p "username:  " NEWUN

groupadd $NEWUN
adduser -g $NEWUN -G hosting -m -d /hosting/domains/$NEWUN -s /bin/false $NEWUN

mkdir /hosting/domains/$NEWUN/data
mkdir /hosting/domains/$NEWUN/data/www
mkdir /hosting/domains/$NEWUN/data/log

chown -R $NEWUN:$NEWUN  /hosting/domains/$NEWUN/data
chown $NEWUN:hosting /hosting/domains/$NEWUN

chmod 501 /hosting/domains/$NEWUN
chmod -R 751 /hosting/domains/$NEWUN/data

ну и с proftpd там сам... я его 100 лет не щупал и не хочу.
После сборки обработать напильником по вкусу :)

Гость
проходил мимо

Re: Автоматизация создания пользователей: права, папки, серв

Непрочитанное сообщение Гость » 2010-06-25 5:22:45

.scu писал(а):1) при создании пользователя, также создается группа равная имени пользователя
это делается по умолчанию
.scu писал(а):2) пользователь добавляется в другую группу, допустим hosting
extragroups в pw.conf(5) или опция `-G' в pw(8)
.scu писал(а):3) ему создается скелет с папками с определенными правами:
/hosting 755 root:root
/hosting/domains 751 root:root
/hosting/domains/domain.ru 501 domain.ru:hosting
/hosting/domains/domain.ru/data 751 domain.ru:domain.ru
/hosting/domains/domain.ru/data/www 751 domain.ru:domain.ru
/hosting/domains/domain.ru/data/log 751 domain.ru:domain.ru
skeletion в pw.conf(5) или опция `-k' в pw(8), e.g.

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

$ sudo pw user add domain.ru -G hosting -m -k /hosting/skel -d /hosting/domains
где в папке /hosting/skel будут подпапки data/{www,log} с нужными правами, но под root:wheel
.scu писал(а):4) создается пользователь для proftpd с логином\паролем, как у созданного linux пользователя и доступом в директорию пользователя: /hosting/domains/domain.ru
поскольку pw(8) не поддерживает hook'и, то алтернативой может быть wrapper-script, e.g.

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

#! /bin/sh

usage="usage: ${0##*/} <add|del> <user> <extra_pw_options>"
action=${1:?$usage}
user=$2
shift 2; extra="$@"

case $action in
    add)
        extra="$extra -G hosting -m -k /hosting/skel -d /hosting/domains"
        ;;
    del)
        extra="$extra -r"
        ;;
    *)
        echo \"$action\" action is not supported
        exit 1
esac

if pw user $action $user $extra; then
    <add|del proftpd users here>
fi

FiL
ст. лейтенант
Сообщения: 1375
Зарегистрирован: 2010-02-05 0:21:40

Re: Автоматизация создания пользователей: права, папки, серв

Непрочитанное сообщение FiL » 2010-06-25 7:39:57

Гость,
у человека Linux, он об этом написал открытым текстом. И чего ты к нему с рw пристаешь? :)