понедельник, 27 декабря 2010 г.

Скрипт для задания ACL для папок, имена которых прсутсвуют в именах группы

У меня в АД есть отдельная OU в которой присутсвуют группы которым выданы права на ресурсы: принтеры, общие папки, доступ в интернет, удаленный доступ, доступ к объектам АД.
Для групп, которым выдается разрешение на папку присваивается имя:
dl_atdfs_ИМЯПАПКИ_ТИПРАЗРЕШЕНИЯ
Где тип разрешения это чтение или запись.
В результате становится достаточно просто быстро сделать ACL для папок.

#!/bin/bash
export IFS=`/bin/echo -ne "\t\n\r"`

FOLDERSLIST=`ls -A1d /pub/*/ | awk -F "/" '{ print $3 }'`

for folder in $FOLDERSLIST
do
    echo $folder
    readgroup=`getent group | grep -i atdfs | grep -i "_"$folder"_read" | grep -i read | awk -F ":" '{ print $1 }' `
    modifygroup=`getent group | grep -i atdfs | grep -i "_"$folder"_modify" | grep -i modify | awk -F ":" '{ print $1 }' `
    # echo $readgroup, $modifygroup
    setfacl -R -m g:$readgroup:rX,g:$modifygroup:rwX $folder
    getfacl --access $folder | setfacl -R -d -M- $folder

#     GROUPLIST=`getent group | grep -i "$folder" | awk -F ":" '{ print $1 }'
#     | awk '{sub(/ /,"\\ ");print}'`
#    for group in $GROUPLIST
#    do
#       echo $group
#    done

done

среда, 20 октября 2010 г.

Удаляем старые файлы из папки:

Option Explicit
Dim fso, dTwoWeeksAgo
dTwoWeeksAgo = Date() - 14
wscript.echo dTwoWeeksAgo
Set fso = CreateObject("Scripting.FileSystemObject")
'DirWalk("C:\")               ' repeat this subroutine call with a different path to process more paths
'DirWalk("F:\users\data\")   ' like this.
DirWalk("d:\pub\shared")  ' and/or like this.
Sub DirWalk(parmPath)
Dim oSubDir, oSubFolder, oFile, n
   On Error Resume Next         ' We'll handle any errors ourself, thank you very much
   Set oSubFolder = fso.getfolder(parmPath)
   For Each oFile In oSubFolder.Files   ' look in the current dir
      If Err.Number <> 0 Then   ' if we got an error, just skip this entry
         Err.Clear
      ElseIf oFile.DateLastModified < dTwoWeeksAgo Then
         'Wscript.Echo "about to delete " & oFile.Path
        '''uncomment the next line when you are satisfied this script works properly
        fso.DeleteFile oFile.Path, True
      End If
   Next
   For Each oSubDir In oSubFolder.Subfolders
      DirWalk oSubDir.Path      ' recurse the DirWalk sub with the subdir paths
   Next
   On Error Goto 0              ' Resume letting system handle errors.
End Sub

После удаляем пустые папки:
start "delete old files" /w cscript /b C:\scripts\deleteoldfiles.vbs
for /f "usebackq delims==" %%d in (`"dir d:\pub\shared /ad/b/s | sort /R"`) do rd "%%d"

Скрипт не мой ... нашел в интернете.

вторник, 31 августа 2010 г.

Установка наследования ACLов в Линуксе

Сделать это можно при помощи default ACL, применить который можно только к папке.

setfacl -R -d g:dl_sofilira_read:rX,g:dl_sofilira_modify:rwX,g:domain\ admins:rwX /var/spool/oracle/sofilira
getfacl --access /var/spool/oracle/sofilira | setfacl -d -M- /var/spool/oracle/sofilira

среда, 25 августа 2010 г.

smb.conf

# Samba config file created using SWAT
# from 192.168.1.229 (192.168.1.229)
# Date: 2009/12/09 10:49:35
[global]
workgroup = ALLIANCETRAVEL
realm = ALLIANCETRAVEL.RU
server string =
security = ADS
auth methods = winbind, sam, guest
password server = vm-dc.alliancetravel.ru
passdb backend = tdbsam
acl compatibility = win2k
load printers = No
ldap ssl = no
idmap backend = ad
idmap negative cache time = 30
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
template shell = /bin/bash
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = Yes
winbind nss info = rfc2307
winbind refresh tickets = Yes
winbind offline logon = Yes
inherit permissions = Yes
inherit acls = Yes
cups options = raw

squid.conf

http_port 3128
# dns_nameservers 192.168.1.18
dns_defnames on
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
always_direct allow QUERY
cache_mem 128 MB
cache_dir ufs /var/spool/squid 2048 16 32
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
error_directory /etc/squid/errors
access_log /var/log/squid/access.log squid
# redirector_bypass on
# redirect_program /usr/bin/squidGuard
# redirect_children 10
# redirector_bypass on
# redirect_program /opt/rejik3/redirector /opt/rejik3/redirector.conf
# redirect_children 15
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 50
auth_param ntlm keep_alive on
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 15
auth_param basic realm alliancetravel.ru
auth_param basic credentialsttl 2 hour
auth_param basic casesensitive off
# auth_param basic keep_alive off
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               0       20%     4320

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 4343 10000 8333 8222 15100 8081 444
acl ukrest port 2157
acl IM_ports port 5222 5223 5190 3158 1863
acl CONNECT method CONNECT

external_acl_type nt_group ttl=7200 negative_ttl=120 children=50 cache=100 grace=50 %LOGIN /usr/lib/squid/wbinfo_group.pl

#
acl local src 192.168.0.0/255.255.0.0
#
acl worktime time SMTWHFA 07:50-23:00
#
acl AuthorizedUsers proxy_auth REQUIRED
#
acl pool_1 external nt_group G_proxy_pool_1
#
acl pool_2 external nt_group G_proxy_pool_2
#
acl pool_3 external nt_group G_proxy_pool_3
# Все пользователи прокси сервера
acl all_proxy_users external nt_group G_proxy_allusers
# Доступ в интернет с разрешенным набором сайтов
acl allow_standart external nt_group G_proxy_allow_standart
# Им все можно
acl allow_all external nt_group G_proxy_allow_all
# Им можно использовать метод коннект для любых портов
acl allow_connect external nt_group G_proxy_allow_connect
# Этим пользователям запрещено всё, кроме того что находится в белом списке
acl deny_all_users external nt_group G_proxy_deny_all

# УРЛы на которые ходить запрещено
acl urls_black_list url_regex -i "/etc/squid/lists/urls_black_list.txt"
# УРЛы на которые ходить можно всем
acl urls_white_list url_regex -i "/etc/squid/lists/urls_white_list.txt"
# Хосты на которые ходить запрещено
acl dst_black_list dst "/etc/squid/lists/dst_black_list.txt"
# Хосты на которые ходить можно всем
acl dst_white_list dst "/etc/squid/lists/dst_white_list.txt"
# Хосты на которые ходить можно без авторизации
acl dst_withaout_auth dst "/etc/squid/lists/dst_without_auth.txt"
# УРЛы на которые можно ходить без авторизации
acl urls_without_auth url_regex -i "/etc/squid/lists/urls_without_auth.txt"
# Хосты с которых ходить нельзя
acl src_black_list src "/etc/squid/lists/src_black_list.txt"
# Хосты с которых можно ходить всюду
acl src_white_list src "/etc/squid/lists/src_white_list.txt"
# Хосты с которых можно ходить без авторизации
acl src_white_list_without_auth src "/etc/squid/lists/src_white_list_without_auth.txt"
# УРЛы которые не надо кешировать
acl urls_no_cache url_regex -i "/etc/squid/lists/urls_no_cache.txt"
# Файлы которые не надо загружать
acl files_blacklist urlpath_regex "/etc/squid/lists/files_blacklist.txt"

no_cache deny urls_no_cache
deny_info DENY_INFO_ALL deny_all_users
deny_info DENY_INFO_SRC_BLACK_LISTS src_black_list
deny_info DENY_INFO_FILES_BLACK_LIST files_blacklist
deny_info DENY_INFO_BLACK_LISTS urls_black_list
deny_info DENY_INFO_BLACK_LISTS dst_black_list
deny_info DENY_INFO_ALL all

http_access allow manager localhost
http_access deny manager
http_access allow CONNECT dst_withaout_auth
http_access allow CONNECT urls_without_auth
http_access allow CONNECT SSL_ports
http_access allow CONNECT IM_ports
http_access allow CONNECT ukrest
http_access allow CONNECT AuthorizedUsers allow_connect
# http_access deny CONNECT AuthorizedUsers !urls_without_auth !src_white_list_without_auth !dst_withaout_auth !SSL_ports !IM_ports !ukrest
http_access deny CONNECT
http_access allow dst_withaout_auth
http_access allow urls_without_auth
http_access allow src_white_list_without_auth
http_access allow dst_white_list
http_access allow urls_white_list
http_access allow AuthorizedUsers allow_all
http_access allow AuthorizedUsers allow_standart !dst_black_list !urls_black_list !src_black_list !files_blacklist !deny_all_users
http_reply_access allow all
icp_access allow all
http_access allow all
# http_access deny all

coredump_dir /var/spool/squid
maximum_object_size 512 MB