Страница 1 из 1

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

Добавлено: 2010-06-24 4:56:58
.scu
Если ли какие-то утилиты для того, чтобы автоматизировать следующий процесс:

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

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

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

Добавлено: 2010-06-24 5:27:39
Burner
купите панельку. Или скрипт сделайте.

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

Добавлено: 2010-06-24 7:08:03
.scu
про скрипт я как бы и спрашиваю :)
панельку не хочется, т.к. там все слишком дефолтно, не всегда подходит для задач.

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

Добавлено: 2010-06-24 8:44:50
Burner
ну садитесь и начинайте писать, а мы поможем

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

Добавлено: 2010-06-24 18:11:41
FiL
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

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

Добавлено: 2010-06-25 7:39:57
FiL
Гость,
у человека Linux, он об этом написал открытым текстом. И чего ты к нему с рw пристаешь? :)