Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  frox
  SARG
  samba & ClamAV
  named
  proftpd
  cacti
  SAMBA+AD+NT ACL
  MySQL
  hylafax
  DDNS+DHCP
  cvsupd
  Samba как PDC
  Основы LDAP
  LDAP+SSL
  LDAP auth
  knockd
  rsync
  MRTG
  Rejik
  Jabber - OpenFire
  Samba(PDC) + Ldap
  squid+AD
  ATSlog
  vsftpd
  LDAP: samba, dns, dhcp
  Free-SA
  cups-samba на samba+AD
  irc + services
  Nagios - мониторинг сети
  TeamSpeak
  icecast2
  verlihub (p2p)
  Icecast2 + Darkice
  OOPS
  vsftpd + mysql
  Amanda
  HAVP
  Рыбалка на FreeBSD
  DNS сервер NSD
  DNS сервер Unbound
  mpd5, msmtp, dynamic ip
  ProFTPd + LDAP
  OpenVPN + LDAP
  Samba (PDC+BDC)
  BIND & AD
  POWERDNS
  3proxy
  eGroupWare
  GLPI
  SugarForge CRM
  Bacula
  Mysql - базовое описание
  Asterisk IP PBX
  Samba & CUPS & AD & ACL
  SMSTools 3
  Samba+ NT ACL
  phpmyadmin
  1С:Предприятие 8.1
  PurefFTPd
  qemu network
  AimSniff
  comms/scmxx
  Zoneminder
  Openfire Jabber Server
  Zoneminder 2
  Принт-Сервер Samba+LPD & AD
  Кластер OpenLDAP 2.4
  Lightsquid
  Установка Zabbix-1.6
  Установка net2ftp
  VSFTPD + AD && MySQL
  Network UPS Tools
  mpd5 L2TP client
  Apache 2.2 as a proxy
  ejabberd+mysql+icq
  HotSpot
  Установка и использование Zenoss на FreeBSD 7.2
  mysql-proxy
  DNS zones
  squid+sams+sqstat
  transmission-daemon
  Squid+AD (group access)
  named 9.7.0
  SysAid Server
  MySQL Master+Master
  proftpd file auth&quota
  usb_modeswitch
  NSDadmin
  iperf Тест скорости между хостами
  Простой факс-сервер mgetty+sendfax
  SQUID-MultiCpuSystem
  vsftpd + system users
  Syslog server
  Температура в серверной
  Nagios+Digitemp
  Avast! FreeBSD
  Настройка git+gitosis
  Firefox SyncServer
  Scan+Print server FreeBSD 9
  proftpd,pgsql,web
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> программы —> Samba+ NT ACL

Samba c доменной авторизацией и правкой пермишенов через галочки

Автор: lissyara.


    Это не новая статья. Это - обновление старой. Ну и для себя - чтоб проще было скопировать при настройке где-то =) Конфиг из старой статьи юзался на филиальных серверах, там было по 30-40 человек, никаких излишеств нужно не было. Просто чтоб работало, и чтоб права галками. Через год подняли сервер под самбой в головном офисе - файлопойка под виндой загибалась.
   Ошибка это или нет - не скажу, ввиду того что я отмороженный на эту тему, моё мнение учитывать нельзя =) Может кто из отдела забредёт и отпишет каммент, каково оно, админить сервак с самбой на 700 человек народу =).
   Ну да не суть. Эта статья - собрание описаний всех глюков, плюсов и минусов которые даёт самба, в той конфигурации что используется у нас. Всё, разумеется, на текущий момент.
   Статья писалась с халтурного сервака, который попросили настроить на далёком Сахалине =) Версия FreeBSD:
fs$ uname -a
FreeBSD fs.sakhalin-engineering.local 6.4-RC1 FreeBSD 6.4-RC1 #0:
 Sun Oct  5 11:11:02 UTC 2008     
root@dessler.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
fs$

   Как можно заметить из вывода `uname' - у домена очень длинное имя, ещё и с дефисом в середине. На этом я тоже словлю глюк чуть позже.
   
   Поехали. Ставим самбу, выбираем такой набор галок:
fs$ cd /usr/ports/net/samba3
fs$ make patch

     +--------------------------------------------------------------------+
     |                   Options for samba 3.0.32_1,1                     |
     | +----------------------------------------------------------------+ |
     | |  [ ] LDAP         With LDAP support                            | |
     | |  [X] ADS          With Active Directory support                | |
     | |  [X] CUPS         With CUPS printing support                   | |
     | |  [X] WINBIND      With WinBIND support                         | |
     | |  [X] ACL_SUPPORT  With ACL support                             | |
     | |  [ ] AIO_SUPPORT  With Asyncronous IO support                  | |
     | |  [ ] FAM_SUPPORT  With File Alteration Monitor                 | |
     | |  [X] SYSLOG       With Syslog support                          | |
     | |  [ ] QUOTAS       With Disk quota support                      | |
     | |  [X] UTMP         With UTMP accounting support                 | |
     | |  [ ] PAM_SMBPASS  With PAM authentication vs passdb backends   | |
     | |  [ ] CLUSTER      With experimental cluster support            | |
     | |  [X] PCH          With precompiled headers optimization        | |
     | |  [ ] MAX_DEBUG    With maximum debugging                       | |
     | |  [ ] SMBTORTURE   With smbtorture                              | |
     | |  [ ] DNSUPDATE    With dynamic DNS update(require ADS)         | |
     | |  [ ] EXP_MODULES  With experimental modules                    | |
     | |  [X] POPT         With system-wide POPT library                | |
     +-+------v(+)------------------------------------------------------+-+
     |                       [  OK  ]       Cancel                        |
     +--------------------------------------------------------------------+


===>  NOTICE: This version of port has changed location of Samba password
===>  NOTICE: (smbpasswd) directory. Files in '/usr/local/private'
===>  NOTICE: have moved to '/usr/local/etc/samba'.
===>  Vulnerability check disabled, database not found
===>  Found saved configuration for samba-3.0.32_1,1
===>  -------------------------------------------
===>  Run 'make config' to (re)configure the port
===>  -------------------------------------------
===>  Extracting for samba-3.0.32_1,1
=> MD5 Checksum OK for samba-3.0.32.tar.gz.
=> SHA256 Checksum OK for samba-3.0.32.tar.gz.
===>  Patching for samba-3.0.32_1,1
===>  Applying FreeBSD patches for samba-3.0.32_1,1
fs$

   Тут надо прерваться на пояснение. В самбе, после версии 3.0.25 есть по крайней мере пара глюков, которые мне известны и толком не пофикшены.

  • https://bugzilla.samba.org/show_bug.cgi?id=5052 - Бага с наследованием прав. Вроде как пофикшена. Почему "вроде" - см. следующую.
  • https://bugzilla.samba.org/show_bug.cgi?id=5873 - Невозможно убрать нследование прав. Толи результат фикса предыдущей, толи самостоятельная - но у меня и у чела обнаружилась сразу после фикса предыдущей. Вроде до этого не было такого, хотя может не замечал просто...
       Обе баги очень неприятные, в крупных реализациях - делают самбу неприменимой для использования. Обе лечаться откатом на версию 3.0.25, но, там свои интересные глюки, пофикшенные в более поздних версиях. После некоторых размышлений о бренности бытия, рекурсивного грепания сорцов, мата в сторону разработчиков (первую багу пофиксили через несколько месяцев, когда у меня уже всё давно было в продакшене), ругани на себя, что плохо читал книжечку по программированию на сях, был найден файл отвечающий за раздачу прав и прочия. Собственно - разработчик, отписывающийся в первом баге говорит, что неправильно подсовывать файл из старой версии самбы в новую, что "виндовс-со-свистом" будет как-то неправильно работать с шарами... Да и пофиг =) Самое главное - всё пашет.
    fs$ find ./ -name posix_acls.c
    ./work/samba-3.0.32/source/smbd/posix_acls.c
    
    fs$ fetch ftp://ftp.lissyara.su/users/lissyara/posix_acls.c
    posix_acls.c                                  100% of  128 kB   20 kBps
    fs$ mv posix_acls.c ./work/samba-3.0.32/source/smbd/posix_acls.c
    fs$
    

       Собственно - виновника торжества я выложил на ftp. Если есть архив 3.0.25 - можете достать из него. Теперь можно продолжить инсталляцию.
    fs$ make install clean
    

       После инсталляции - настраиваем - правим некоторые файлы до такого состояния (всё тупо копировать не надо, на некоторых надо подумать и подставить своё. Если непонятно - смотрите старую статью - там разжёвано).
    При неверной настройке этого файла - не удавалось включить в домен:
    fs$ more /etc/hosts
    ::1                     localhost.sakhalin-engineering.local localhost
    127.0.0.1               localhost.sakhalin-engineering.local localhost
    192.168.205.248         fs.sakhalin-engineering.local fs
    192.168.205.248         fs.sakhalin-engineering.local.
    
    fs$
    

    Прописываем автозапуск самбы:
    fs$ grep samba /etc/rc.conf
    #samba
    samba_enable="YES"
    fs$
    

    Указываем юзать винбинд для проверки юзеров и паролей:
    fs$ more /etc/nsswitch.conf
    group: files winbind
    passwd: files winbind
    group_compat: nis
    passwd_compat: nis
    hosts: files dns
    networks: files
    shells: files
    fs$
    

    Рисуем конфиг самбы:
    fs$ cat /usr/local/etc/smb.conf
    # SAMBA
    
    [global]
    	# рабочая группа
            workgroup = SAKHALIN-ENGINEERING
            # режим безопасности
            security = ADS
            # контроллер домена (обычно, тут мона поместить имя домена - оно 
            # резольвиться во все контроллеры. Но в данном случае тут был тихий
            # ужас - оно разольвилось в два десятка IP адресов из которых контроллер
            # был тока один. Домен не я админю - пусть сами разбираются. Пришлось
            # прописать IP - хотя на работе сам всех ругаю за такое)
            password server = 192.168.205.2
            #password server = SAKHALIN-ENGINEERING.LOCAL
            # Сфера влияния =)))
            realm = SAKHALIN-ENGINEERING.LOCAL
            # имя машины - какой будет видеться в сети
            netbios name = FS
            # дескрипшен к машине. Последнее время не задаю - XP и прочия считают его
            # важней имени и выводят вначале. В итоге фиг чего в сети найдёшь...
            server string =
    #       log level = 10
            log file = /var/log/samba/%m.%U.log
            max log size = 50000
            # диапазоны числовых значений uid и gid
            winbind uid = 10000-20000
            winbind gid = 10000-20000
            # не использовать имя домена при проверке имени и т.п.
            winbind use default domain = yes
            # кодировки - локальные и прочия
            display charset = koi8-r
            unix charset = koi8-r
            dos charset = 866
            # for mail
            template homedir = /usr/home/%D/%U
            # added by lissyara 2007-11-14 in 17:50 MSK
            template shell = /bin/csh
            # added by lissyara 2007-08-08 in 14:53 MSK
            admin users             = "@ENGINEERING\Domain Admins", ENGINEERING\akeda
            # added by lissyara 2008-01-12 in 12:53
            defer sharing violations = false
            winbind enum users = yes
            winbind enum groups = yes
    
    [user_data]
            comment                 = Shares for personal users data
            path                    = /shares/user_data
            admin users             = "@ENGINEERING\Domain Admins"
            read only               = No
            create mask             = 0600
            directory mask          = 0700
            locking                 = no
            # скрипт выплняется при заходе юзера на шару
            root preexec  = /bin/sh -c '/root/scripts/create_user_data_subdir.sh %U'
            force unknown acl user  = yes
            # vfs - read `man -k vfs | grep Samba`
            vfs object              = recycle full_audit
            recycle:repository      = /shares/trash/%S
            recycle:keeptree        = Yes
            recycle:touch           = Yes
            recycle:touch_mtime     = Yes
            recycle:version         = Yes
            recycle:maxsize         = 0
            recycle:exclude         = *.TMP *.tmp
            recycle:directory_mode  = 0770
            recycle:versions        = Yes
            recycle:minsize         = 1
            full_audit:prefix       = share=%S; id=%U; ip=%I -->
            full_audit:success  = unlink rmdir mkdir write rename write aio_write pwrite
            full_audit:failure  = unlink rmdir mkdir write rename write aio_write pwrite
            full_audit:priority     = INFO
    
    [all]
            comment                 =
            path                    = /shares/all
            read list               = "@ENGINEERING\Domain Users"
            write list              = "@ENGINEERING\Domain Users"
            admin users             = "@ENGINEERING\Domain Admins"
            read only               = No
            map acl inherit         = yes
            map archive             = no
            map read only           = no
            create mask             = 0660
            directory mask          = 0770
            force unknown acl user  = yes
            delete readonly         = yes
            # vfs - read `man -k vfs | grep Samba`
            vfs object              = recycle full_audit
            recycle:repository      = /shares/trash/%S
            recycle:keeptree        = Yes
            recycle:touch           = Yes
            recycle:touch_mtime     = Yes
            recycle:version         = Yes
            recycle:maxsize         = 0
            recycle:exclude         = *.TMP *.tmp
            recycle:directory_mode  = 0770
            recycle:versions        = Yes
            recycle:minsize         = 1
            full_audit:prefix       = share=%S; id=%U; ip=%I -->
            full_audit:success = unlink rmdir mkdir write rename write aio_write pwrite
            full_audit:failure = unlink rmdir mkdir write rename write aio_write pwrite
            full_audit:priority     = INFO
    
    [trash]
            comment                 =
            path                    = /shares/trash
            read list               = "@ENGINEERING\Domain Admins"
            write list              = "@ENGINEERING\Domain Admins"
            admin users             = "@ENGINEERING\Domain Admins"
            browseable              = no
    
    fs$
    

       Про конфиг порассуждаю отдельно - т.к. он без камментов. Про главную часть - смотрите всю ту же предыдущую статью - там она прокомментирована. Лучше расскажу про шары. В данном случае, шары всего две - одна для доков (all), вторая для персональных пользовательских директорий (user_data), доступных тока им (ну и администраторам домена). По первой - почему именно такие опции - я дуже и не объясню. Они просто скопированы с того самого сервера который в продакшене. Они должны быть именно такими - иначе начинается чехарда с правами - когда юзер не может править файл владельцем которого он является и т.п. Так что тут - принимайте как есть, или пытайтесь найти свои значения.
       Вторая шара интересней. Там надо было создать по директории каждому юзверю, чтобы туда мог лазить тока он. Решили скриптом, вызываемым при подключении юзера к шаре.
       Ну и общее для обоих шар - VFS. Первый модуль - `recycle' - корзина. При удалении файла, он не удаляется с диска, а передвигается в другую директорию на том же диске (можно и на другом, но экспериментальным путём выяснили, что тогда потеряются расширенные права - иногда они дороже файлов в директории =)). Поддерживается версионность. Т.е. может сохранять кучу файлов с одним и тем же именем удаляемых раз за разом. Второй модуль - `full_audit' - может логгировать вообще все телодвижения юзера, но в данном варианте учитывает лишь деструктивные действия - удаление и запись в файлы. Весьма полезен когда прибегает "нечто" и кричит что у него чего-то там удалили. Причём именно админы - ибо само "оно" не могло удалить. Бывает забавно ткнуть его носом в лог, где указано что удалил именно он, с датой... Тут же включается остаток мозга, и юзер вспоминает как чего-то там сортировал. И соображает что удалил не копию, а и копию и оригинал, тупо запутавашись где что... Думаю, ситуация всем знакомая.
       
       Ну да ладно. Получаем тикет от кербероса (юзается доменный пользователь `exim' - ибо там щас все спят, а других юзеров я не знаю - этого вытащщил из конфига почты, что настраивал год назад в этой же конторе):
    fs$ kinit exim
    exim@SAKHALIN-ENGINEERING.LOCAL's Password:
    kinit: NOTICE: ticket renewable lifetime is 1 week
    fs$
    

    Фтыкаем машинку в домен:
    fs$ net join -Uexim -W SAKHALIN-ENGINEERING
    exim's password:
    The workgroup in /usr/local/etc/smb.conf does not match the short
    domain name obtained from the server.
    Using the name [ENGINEERING] from the server.
    You should set "workgroup = ENGINEERING" in /usr/local/etc/smb.conf.
    Using short domain name -- ENGINEERING
    Joined 'FS' to realm 'SAKHALIN-ENGINEERING.LOCAL'
    fs$
    

    Тут имеем интересную ругань - про этот глюк я упоминал в самом начале - слишком длинное имя домена с дефисом превратилось в какой-то обрубок... Странно, но работает. Как чуть позже станет ясно - не совсем коректно работает. Ну а пока продолжаем, запускаем самбу:
    fs$ /usr/local/etc/rc.d/samba start
    Removing stale Samba tdb files: ........ done
    Starting nmbd.
    Starting smbd.
    Starting winbindd.
    fs$  
    

    Проверяем - работает ли:
    fs$ id exim
    id: exim: no such user
    fs$  
    

    Облом... Подумавши, выполнил другую команду:
    fs$ wbinfo -u | wc -l
         237
    fs$   
    

    Юзеров видит. В полном её выводе видна причина облома - видит как `ENGINEERIN\exim' - несмотря на явное указание в конфиге видеть их без домена... Пробуем:
    fs$ id ENGINEERING\\exim
    uid=10006(ENGINEERING\exim) gid=10003 groups=10003
    fs$   
    

    И правда... Снова подумал, понравилось =)) Сделал так как рекомендовало в ругани, при вводе в домен, т.е. заменил в конфиге
    workgroup = SAKHALIN-ENGINEERING
    

    на
    workgroup = ENGINEERING
    

    снова воткнул в домен - на этот раз прокатило без ругани:
    fs$ net join -Uexim -W SAKHALIN-ENGINEERING
    exim's password:
    Using short domain name -- ENGINEERING
    Joined 'FS' to realm 'SAKHALIN-ENGINEERING.LOCAL'
    fs$   
    

    и рестартовал самбу. Теперь видит как и задумано - без домена:
    fs$ id exim
    uid=10006(exim) gid=10003(domain users) groups=10003(domain users)
    fs$    
    

    Хорошо. Можно продолжать. Готовим шару. Как именно включить ACL - читаем в старой статье.
    fs$ mount | grep shares
    /dev/ad4s1h on /shares (ufs, local, soft-updates, acls)
    fs$ 
    

    Делаем такую структуру директорий:
    fs$ du -a /shares/ | awk '{print $2}'
    /shares/all
    /shares/logs
    /shares/user_data
    /shares/trash/all
    /shares/trash/user_data
    /shares/trash
    /shares/
    fs$  
    

    Задаём права:
    fs$ chown -R :"domain users" /shares/trash
    fs$ chmod 770 /shares/trash
    

    Прописываем задания в планировщик рута `crontab -e':
    fs$ crontab -l
    # delete files oldest 30 days
    0  22 * * * find /shares/trash -type f -mtime +30 -delete
    # delete empty dirs
    30 23 * * * find /shares/trash -type d -mtime +30 -exec rmdir {} \; >/dev/null 2>&1
    # log rotate
    */2 * * * * /root/scripts/log_rotate.sh
    
    fs$   
    

    Рисуем скрипт ротации логов:
    fs$ more /root/scripts/log_rotate.sh
    #!/bin/sh
    
    log_preffix="/shares/logs"
    log="${log_preffix}/smbd_audit.log"
    
    old_log_dir="${log_preffix}/`date +%Y`/`date +%m`"
    
    # rotate
    /bin/mkdir -p ${old_log_dir}
    /bin/cat ${log} >> ${old_log_dir}/`date +%d`_smbd_audit.log
    /bin/echo -n > ${log}
    
    # test - if .bz2 not exists - archive old file
    old_file="${log_preffix}/`date -v-1d +%Y`/\
    `date -v-1d +%m`/`date -v-1d +%d`_smbd_audit.log"
    if test ! -f ${old_file}.bz2
    then
            /usr/bin/bzip2 --best ${old_file}
    fi
    
    fs$
    

    И скрипт создающий юзерские директории:
    fs$ more /root/scripts/create_user_data_subdir.sh
    #!/bin/sh
    
    user_name="`echo $1 | /usr/bin/tr '[:upper:]' '[:lower:]'`"
    
    /bin/mkdir -p "/shares/user_data/${user_name}";
    /bin/chmod 700 "/shares/user_data/${user_name}";
    /usr/sbin/chown "${user_name}" "/shares/user_data/${user_name}";
    
    #echo ${user_name} >> /tmp/logins_to_user_data_`date +%Y-%m-%d`.log
    
    fs$  
    

    Правим конфиг сислога:
    fs$ more /etc/syslog.conf
    .... skipped...
    # news.notice                                   /var/log/news/news.notice
    !smbd_audit
    *.*                                             /shares/logs/smbd_audit.log
    .... skipped...
    

    Всё. На Сахалине сейчас:
    fs$ date
    Wed Nov 12 06:25:04 SAKT 2008
    fs$   
    

    Все спят, проверить некому. Я тоже, пожалуй, пойду спать, всё должно работать. Завтра, у них будет вечер, а у нас утро, сообщат о глюках... Хотя - не должно их быть...

    Несмотря на перечисленные странности самбы, мне кажется, что - плюсы в виде корзины, аудита, шустрой работы и правильной ОС перекрывают недостатки. (Про наличие аудита в винде, shadow copy и прочего - я осведомлён. Тока винду я не админю, на vbs не пишу, и расставлять галки - ненавижу. А без vbs хрен там чего из того аудита выковырнешь...) Кто-то может не согласиться - его право. Каждому своё =)

    UPD 2010-03-04: Проблема с отвалом прав из первого комментария, решается установкой FreeBSD8 или правкой исходников ядра для установки чила групп у пользователя больше, чем у вас максимально бывает в домене (в FreeBSD8 вообще радикально - 1023 по дефолту)
    Мне хватило такого:
    nas# sysctl kern.ngroups
    kern.ngroups: 64
    nas#     
    



    Ссылка на обсуждение: Incorrect URL.

    размещено: 2008-11-11,
    последнее обновление: 2010-03-04,
    автор: lissyara

    оценить статью:

    Andy, 2008-11-12 в 9:47:18

    Samba тоже умеет shadow copy, только это с Logical Volume Manager замешано.
    http://us3.samba.org/samba/docs/man/Samba-HOWTO-Collection/VFS.html#id2644800
    http://wiki.samba.org/index.php/Shadow_Copies_with_Snapshots_Script
    А про администрирование NAS под самбой, я очень хорошо помню как переодически права отваливались на вложенные директории - было весело.

    Cancer, 2008-11-15 в 20:01:00

    Спасибо за статью, нашел тут кучу фенечек для корзины итд

    sch, 2008-11-25 в 17:07:54

    по поводу ругани SAMBA на короткое имя домена - объяснение простое: когда настраивали роль контроллера домена AD, мастер настройки на одном из этапов запросил короткое имя домена - и в качестве такого имени было введено слово ENGINEERING (короткое имя можно указать вообще не похожим на имя DNS зоны). Именно это имя выводится в третьем поле окна авторизации windows.

    Вот здесь ИМХО ненужная директива "read list":
    read list = "@ENGINEERING\Domain Users"
    write list = "@ENGINEERING\Domain Users"

    директива write list с указанием такой же группы перекрывает read list.

    Извините за нудное поведение :)

    man smb.conf:

    write list (S)

    This is a list of users that are given read-write access to a service. If the connecting user is in this list then they will be given write access, no matter what the read only option is set to.
    Note that if a user is in both the read list and the write list then they will be given write access.

    StarЫЙ, 2009-06-23 в 7:58:06

    Мне кажеться, что тут надо бы для новичков добавить кое-что перед тем как добавить запись в сислог необходимо создать файл /shares/logs/smbd_audit.log,
    и еще у меня скрипт ротации логов заработал когда в crontabe написал sh /root/scripts/log_rotate.sh

    feomatr, 2010-12-09 в 19:12:09

    StarЫЙ
    Первый мой опыт работы с syslog.conf.
    Потрачен день и "немного" нервов =)
    Спасибо за ответ!(я про создание файла)

    Yuki, 2011-11-08 в 7:02:35

    Хехехе, где-то я это видела :D
    Щас повторим :D

    Anonymous, 2012-01-02 в 20:54:57

    было в статье в описании создания структуры директорий под trash
    chmod 770 /shares/trash
    надо
    chmod -R 770 /shares/trash

    Cancer, 2013-01-30 в 17:35:42

    Я скрипт немного подпили что бы не создавал он директории с именами ПК в сети типа ur01_
    Вот в этом скрипте я добавил в 1 строчке egrep -v create_user_data_subdir.sh
    user_name="`echo $1 | /usr/bin/tr '[:upper:]' '[:lower:]' | egrep -v *_`"

    Ну вот и все =)
    Все работает нормально!

    Cancer, 2013-01-30 в 17:37:34

    Учитывайте у меня нет пользователей в домене с символами _

    Cancer, 2013-01-31 в 9:11:49

    5 копеек в копилку.
    Запили скрипт который создает домашние директории для пользователей и применяет сразу ACL на них такие как мне нужно.
    Владелец DOMAIN\Administrator
    Полные права DOMAIN\<user>
    Полные права DOMAIN\Администраторы домена
    Вот сам скрипт http://pastebin.com/Jqj6FFuV
    работает все это дело через smbcacls вот страничка руководства по ней http://www.samba.org/samba/docs/man/manpages/smbcacls.1.html
    Использую ее на линуксе, но посмотрел на FreeBSD она тоже есть.
    Еще использую в Linux acl_xattr и у меня нет лишних групп UNIX root итд итп, выставляю только группы которые мне нужны.
    Вот пример конфига опять же для линукса http://pastebin.com/bhtbn7qR
    Думаю информация будет полезной.


    Оставьте свой комментарий:
    Ваше имя:   *
    e-mail:  
    жирный
    наклонный
    подчёркнутый
    ссылка
    цвет
    Нынешний год:   *
     


  • Хостинг HOST-FOOD

    2014-07-27, lissyara
    gmirror

    Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
    2013-08-20, zentarim
    Scan+Print server FreeBSD 9

    Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
    2011-11-20, BlackCat
    Разъём на WiFi-карту

    Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
    2011-09-14, manefesto
    Настройка git+gitosis

    Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
    2011-08-14, zentarim
    Wi-FI роутер + DHCP + DNS

    Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
    2011-06-15, -ZG-
    Охранная система на FreeBSD+LPT

    В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
    2011-03-13, terminus
    ng_nat

    Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
    2011-02-20, Капитан
    Nagios+Digitemp

    Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
    2011-02-17, Le1
    Zyxel Configuration

    Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
    2011-02-16, fox
    hast carp zfs ucarp cluster

    HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
    2011-02-04, BlackCat
    Восстановление ZFS

    История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
    2011-02-03, Капитан
    1-Wire

    Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
    2011-01-28, Капитан
    Температура в серверной

    Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
    2011-01-21, m4rkell
    Syslog server

    Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
    2011-01-07, lissyara
    Canon/gphotofs

    Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
    2010-12-13, Al
    IPSec

    Описание принципов работы IPSEC и способов аутентификации.
    2010-12-07, manefesto
    FreeBSD on flash

    Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
    2010-12-05, Fomalhaut
    root ZFS, GPT

    Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
    2010-09-05, Cancer
    Настройка аудиоплеера на ximp3

    Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
    2010-08-31, Cancer
    Установка и настройка OpenVPN

    На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
    2010-08-25, manefesto
    freebsd lvm

    Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
    2010-04-30, gonzo111
    proftpd file auth&quota

    Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
    2010-04-22, lissyara
    tw_cli

    Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
    2010-04-14, fox
    MySQL Master+Master

    MySQL (Master Master) and (Master Slave) Как настроить репликацию…
    2010-03-22, Mufanu
    named 9.7.0

    Система доменных имен (Domain Name Service, DNS) - одна из тех незаметных, закулисных программ, которым не уделяется и половины того внимания, которого они заслуживают.
    2010-03-09, terminus
    DNS zones

    Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
    2010-03-09, aspera
    Squid+AD (group access)

    Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
    2010-03-02, BlackCat
    Шлюз: Часть 4

    Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
    2010-03-01, BlackCat
    Шлюз: Часть 3

    Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
    2010-03-01, BlackCat
    Шлюз: Часть 2

    Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
    2010-03-01, BlackCat
    Шлюз: Часть 1

    Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
    2010-02-23, Morty
    darkstat

    Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
    2010-01-23, gonzo111
    squid+sams+sqstat

    Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
    2009-12-19, schizoid
    mpd5 + radius + ng_car + Abills

    Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car
    2009-11-16, lissyara
    UFS->ZFS

    Удалённая миграция с UFS на ZFS. Загрузка с раздела zfs. Настройка для работы с малым количеством памяти под архитектурой i386.
    2009-11-13, gx_ua
    fusefs-ntfs

    Установка, настройка и использование fusefs-ntfs, драйвер NTFS, предназанченного для монтирования NTFS разделов под FreeBSD
    2009-11-12, Morty
    LiveCD

    Создание собственного LiveCD с необходимыми вам изменениями, автоматизирование данного процесса, а так же вариант скоростной сборки СД.
    2009-09-27, lissyara
    Samba как PDC

    Контроллер домена - аналог M$ NT4 домена под самбой, без использования LDAP и прочей хиромантии. Просто и быстро =)
    2009-08-30, terminus
    ipfw nat

    Подробное руководство по ipfw nat, сложные случаи конфигурации.
    2009-08-24, levantuev
    HotSpot

    Установка Hotspot системы в общественное заведение.
    подписка

        вверх      
    Статистика сайта
    Сейчас на сайте находится: 19 чел.
    За последние 30 мин было: 55 человек
    За сегодня было
    4320 показов,
    541 уникальных IP
     

      Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
      Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

    © lissyara 2006-10-24 08:47 MSK

    Время генерации страницы 0.1706 секунд
    Из них PHP: 62%; SQL: 38%; Число SQL-запросов: 77 шт.
    Исходный размер: 191182; Сжатая: 32866