Przykładowy plik smb.conf dla serwera SAMBA jako PDC

Kilka uwag do przedstawionej konfiguracji:

  1. Linie zakomentowane rozszerzają lub zmieniają charakter usługi (i czesami są sprzeczne z tymi niezakomentowanymi).
  2. Komentarz umieszczony jest NAD opcją którą opisuje.
  3. Część opcji można ustawić globalnie dla usługi SAMBA, jak i indywidualnie dla poszczególnych udziałów.
  4. Komentarze są podzielone (ale z punktu widzenia samby ; i # są traktowane jako znaki rozpoczynające komentarz):
    • # - rozpoczyna komentarz, opis opcji
    • ; - rozpoczyna nieaktywną (zakomentowaną) opcje

W pliku smb.conf możemy korzystać ze zmiennych co pozwala nam zindywidualizować np: wywołanie skryptu w zależności od konkretnego łączącego się komputera czy użytkownika.

FIXME Te zmienne to:

  • %a - Architektura klienta (Samba, WfWg, WinNT, Win95/98 lub UNKNOWN)
  • %f - Użytkownik, który przysłał komunikat (tylko komunikaty)
  • %G - Nazwa podstawowej grupy %U (smb)
  • %g - Nazwa podstawowej grupy (linux) %u (linux)
  • %H - Katalog macierzysty %u (linux)
  • %h - Nazwa hosta serwera Samby (linux)
  • %I - Adres IP klienta
  • %L - Nazwa NetBIOS serwera Samby (wirtualne serwery mają wiele nazw)
  • %M - Nazwa hosta klienta (linux /etc/hosts)
  • %m - Nazwa NetBIOS klienta (smb)
  • %n - Nowe hasło (tylko zmiana hasła)
  • %o - Stare hasło (tylko zmiana hasła)
  • %P - Katalog główny bieżącego udziału (linux)
  • %S - Nazwa bieżącego udziału
  • %T - Bieżąca data i czas
  • %t - Komputer docelowy (tylko komunikaty)
  • %u - Nazwa użytkownika bieżącego udziału (linux)
  • %U - Żądana nazwa użytkownika bieżącego udziału (smb)
  • %v - Wersja Samby
  • %s -

To tylko przykład, po dokładne informacje zajrzyj do:

 $ man smb.conf

i

 $ info smb.conf 

Wiecej o otoczeniu sieciowym i serwerze SAMBA znajdziesz tutaj banita.pl - otoczenie sieciowe a o instalacji serwera SAMBA w PLD tutaj PLD - usługa SAMBA

Przykładowy smb.conf

[global]
	netbios name = SERWER
	netbios aliases = SAMBA
	announce as = NT
	announce version = 4.9
	workgroup = TWOJADOMENA
	server string = Serwer SAMBA - PLD Linux Distribution :)
	encrypt passwords = yes
	smb passwd file = /etc/samba/smbpasswd 
	guest account = nobody
	map to guest = Bad User
	map to guest = Bad Password
   	case sensitive = no
## Opcje globalne dla udziałów
	guest ok = no
	browseable = yes
	create mode = 0700
# Ilość maksymalnie otwartych plików.
	max open files = 500
# Każdy dozwolony zapis do pliku zmienia timestamp pliku (jak w dos)
	dos file times = yes
# zrzucamy polączenia po czasie 15 minut w przypadku braku otwartych plików
# lub braku odpowiedzi z komputera
	dead time = 15
# podtrzymujemy połączenia przez 10 minut
	keep alive = 10
# security - nie pozwalamy sambie wchodzić do katalogów
	dont descend = /dev,/proc,/root,/stand,/bin,/dist,/etc,/lkm,/mnt,/sbin,/sys,/usr
# skrypt dodający komputer do domeny
	add machine script = /usr/sbin/useradd -d /var/lib/nobody -g machines -c 'Konto Komputera  %I' -s /bin/false %u
	add user script = /usr/sbin/useradd -m '%u'
	delete user script = /usr/sbin/userdel -r '%u'
	add group script = /usr/sbin/groupadd '%g'
	delete group script = /usr/sbin/groupdel '%g'
	add user to group script = /usr/sbin/usermod -G '%g' '%u'
	set primary group script = /usr/sbin/usermod -g '%g' '%u'
# skrypt dodający udział
	add share command=/etc/samba/scripts/sharecommand.pl
	delete share command=/etc/samba/scripts/sharecommand.pl
	change share command=/etc/samba/scripts/sharecommand.pl
# Przychodzące Komunikaty WinPopup - tutaj wrzucamy do pliku
        message command = /bin/sh -c 'echo -e "\a komunikat od %f:" cat %s;rm %s >> /var/log/samba/winpopup
## Zarządzanie hasłami
        passwd chat debug = no
        passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
        passwd program = /usr/bin/smbpasswd -L -a %u
;character set = ISO8859-2
;client code page = 852
;display charset = iso8859-2
	fstype = NTFS
    	debug level = 0
   	debug timestamp = yes
   	default case = lower
    	dns proxy = yes
# jesli samba jest klientem domeny, nie serwerem, podajemy nazwe kontrolera 
;domain controller = serwersamba
## Opcje kontrolera domeny - PDC
   	domain logons = yes
    	domain master = yes
  	preferred master = yes
	local master = yes
# jaki poziom ma nasz serwer przy elekcji - 255 najwyższy
        os level = 255
## Samba jest clientem serwera WINS
;wins proxy = yes
;wins server = 192.168.0.1

## Samba jest serwerem WINS
    	wins support = yes
;remote announce = 192.168.1.255 192.168.2.44
;remote browse sync = 192.168.3.25 192.168.5.255
	security = user
	share modes = yes
   	dos charset = 852
   	dos filetime resolution = yes
        follow symlinks = no
# nie pokazuj w udziałach plików zaczynających się od kropki (ukrytych)
    	hide dot files = yes
## opcje sieci
# interfejsy i adresy na których samba nasłuchuje
	interfaces =127.0.0.1/8 192.168.0.1/24 eth1
# czy ma nasłuchiwać tylko na tych podanych interfejsach 
	bind interfaces only = yes
# komputery które mogą sie łączyć do samby
	hosts allow = 127.0.0.1 127.0.1.1 192.168.0.
# komputery którym nie pozwalamy sie łaczyć (tutaj wszystkie niewymienione w "hosts allow") 
	hosts deny = 0.0.0.0/0 
# w zależnoci od maszyny która się łączy mozemy zmieniac konfig
;	include = /etc/samba/smb.conf.%m
# kto nie może sie logować do samby
	invalid users = root ftp bin daemon sync shutdown halt mail postfix mysql administrator
# który uzytkownik ma prawa root do samby
	admin users = admin
;lm announce = AUTO
;lm interval =
## Ustawienia logowania zdarzeń
# logowanie do pliku (tutaj nazwa w zależności od użytkownika)
;	log file = /var/log/samba/%u
# plik logów - tutaj osobny dla kazdej maszyny łączącej sie z SAMBĄ
	log file = /var/log/samba/%m
# maksymalna wielkość (w KB) po której zostanie utworzony nowy plik (stary zostanie zapisany jako nazwa.old)
    	max log size = 50
# poziom szczegółowości logowania zdarzeń
	log level = 3
# czy samba ma korzystać z syslog-a
	syslog=1
# i czy tylko z sysloga, patrz "log file = "
        syslog only = no
	eventlog list = Application System Security SyslogLinux
# ścieżka dla udziału [homes]
	logon home = \\%L\%U\home
# ścieżka dla udziału [profiles] (musi być różna od tej dla [homes])
	logon path = \\%L\%U\profile
;logon drive = I:
# skrypt .bat wywoływany z udziału "netlogon" po zalogowaniu się użytkownika na stacji
	logon script = logonall.bat
# przykład wywołania skryptu w zależności od maszyny bądź użytkownika
;logon script = %m.bat
;logon script = %U.bat
    	max connections = 15
    	max ttl = 14400
    	max wins ttl = 259200
    	max xmit = 65535
	min wins ttl = 1800
    	name resolve order = wins bcast host
## ACL - fs na którym samba ma udziały musi obsługiwać acl
;idmap uid = 10000-65000
;idmap gid = 10000-65000
;winbind enum users = yes
;winbind enum groups = yes 
	acl compatibility = Auto
	acl check permissions = Yes
;acl group control = No
;acl map full control = Yes
# Możliwosc ustawiania i kontrolowania list ACL przez klienty Windows NT/2000/XP/2003.
    	nt acl support = yes
# Maska uprawnien plikow (w odniesieniu do modelu Unix 3 na 3), jakie moga byc modyfikowane
# lub nie przez klienty Windows NT/2000/XP/2003. Gdy ustawisz 0000 wtedy nie będzie mozliwa żadna modyfikacja list ACL.
	security mask = 0777
# Bit uprawnień plików (w odniesieniu do modelu Unix 3 na 3) jaki będzie zawsze ustawiany gdy będą modyfikowane
# listy ACL  przez klienty Windows NT/2000/XP/2003. Ustawienie 000 pozwala użytkownikom zmieniać i usuwać 
# jakiekolwiek uprawnienia plików.
	force security mode = 0000
# Globalne ustawienie maski dla katalogów tworzonych przez SAMBE
	directory security mask = 0777
	force directory security mode = 0000 
	nt pipe support = yes
# nie zezwalamy (albo pozwalamy) na puste hasła - TO USTAWIENIE POWINNO BYĆ NA no
	null passwords = no
# wyłączamy/włączamy blokady oportunistyczne -to ustawienie wpływa na wydajność, może blokować dostęp do plików
    	oplocks = no
	level2 oplocks = no
# przy włączonym oplocks pliki o podanych maskach nie będą blokowane - np: pliki baz danych
	veto oplock files = /*.DBF/*.dbf/*.mdb/*.MDB/
# logowania bedą zapisywane w utmp i wtmp - $ who  /var/log/wtmp
	utmp = yes
;create mask = 0744
;force create mode = 00
;security mask = 0777
;force security mode = 00
;directory mask = 0755
;force directory mode = 00
;directory security mask = 0777
;force directory security mode = 00
;force unknown acl user = No
;inherit permissions = No
;inherit acls = No
;inherit owner = No
;guest only = No
;guest ok = No
;only user = No 
;status = yes
;fake oplocks = yes
	csc policy = disable
##### FOR LDAP
;ldap delete dn = Yes
;ldap idmap suffix = ou=Idmap
;ldap replication sleep = 1000
;ldap timeout = 15
;ldap page size = 1024
;passdb backend = ldapsam:ldap://your.address.to.ldap.server/
;ldap passwd sync = Yes
;ldap suffix = dc=ldap,dc=net
;ldap admin dn = cn=root,dc=ldap,dc=net
;ldap ssl = start tls
;ldap group suffix = ou=Groups
;ldap user suffix = ou=Users
;ldap machine suffix = ou=Computers
;ldap idmap suffix = ou=Users
;add user script = /usr/local/sbin/smbldap-useradd -m "%u"
;delete user script = /usr/local/sbin/smbldap-userdel "%u"
;add group script = /usr/local/sbin/smbldap-groupadd -p "%g"
;delete group script = /usr/local/sbin/smbldap-groupdel "%g"
;add user to group script = /usr/local/sbin/smbldap-groupmod -m "%u" "%g"
;delete user from group script = /usr/local/sbin/smbldap-groupmod -x "%u" "%g"
;set primary group script = /usr/local/sbin/smbldap-usermod -g "%g" "%u"
;add machine script = /usr/local/sbin/smbldap-useradd -w "%u" 
;add user script = /usr/sbin/smbldap-useradd -m "%u"
####### END LDAP
;ssl CA certFile = /usr/share/ssl/certs/ca-bundle.crt
;password level = 8
;password server = <NT-Server-Name>
;preserve case = no
## Samba jako serwer wydruku (tutaj pośrednik do CUPS)
	load printers= yes
	printcap name = cups
	printing = cups
	cups options = "raw"
	cups server = localhost
# czestotliwosc odpytywania kolejki druku
	lpq cache time = 10
;short preserve case = no
# tuning samby
	socket options = TCP_NODELAY SO_SNDBUF=16384 SO_RCVBUF=16384 IPTOS_LOWDELAY
	read raw = yes
	write raw = yes
#	buforowanie katalogów
	getwd cache = yes
# buforowanie zapisu plików zdecydowanie poprawia prędkość ale stwarza niebezpieczeństwo
# że Samba "nie zdązy" zrzucić buforów na dysk przy np. padzie zasilania (bez UPS'a) plik taki bedzie uszkodzony
;write cache size = 0 # opcja porzucona aktualnie
    	time server = yes
   	unix charset = ISO8859-2
	unix password sync = no
;username level = 8
   	username map = /etc/samba/smbusers
;cross subnet browsing = yes
;passdb backend = pgsqlsam:foo,smbpasswd
;foo:mysql user = samba
;foo:mysql password = abmas
;foo:mysql database = samba
# domain name is static and can't be changed
;foo:domain column = 'MYWORKGROUP':
# The fullname column comes from several other columns
;foo:fullname column = CONCAT(firstname,' ',surname):
# Samba should never write to the password columns
;foo:lanman pass column = lm_pass:
;foo:nt pass column = nt_pass:
# The unknown 3 column is not stored
;foo:unknown 3 column = NULL

;vfs object = vscan-clamav
;vfs options:config file = /etc/samba/vscan-clamav.conf

;update encrypted = No
	client schannel = Auto
	server schannel = Auto
;allow trusted domains = Yes 
;obey pam restrictions = No
;password server = *
;private dir = /usr/local/etc/samba
;algorithmic rid base = 1000 
;enable privileges = Yes 
;pam password change = No 
;passwd chat timeout = 2 
;passwd chat timeout = 2
;check password script =
;password level = 0
;username level = 0 
;restrict anonymous = 0
;lanman auth = Yes
;ntlm auth = Yes
;client NTLMv2 auth = No
;client lanman auth = Yes
;client plaintext auth = Yes
;use kerberos keytab = No 
;debug timestamp = Yes
;debug prefix timestamp = No
;debug hires timestamp = No
;debug pid = No
;debug uid = No
;enable core files = Yes
;smb ports = 445 139
;large readwrite = Yes
;max protocol = NT1
;min protocol = CORE
;read bmpx = No
;read raw = Yes
;write raw = Yes
;disable netbios = No
;reset on zero vc = No
;defer sharing violations = Yes 
;max mux = 50
;max xmit = 16644 
;unix extensions = Yes
;use spnego = Yes
;client signing = auto
;server signing = No
;client use spnego = Yes
;enable asu support = No
;deadtime = 0
;getwd cache = Yes
;lpq cache time = 30
;max smbd processes = 0
;paranoid server security = Yes
;max disk size = 0
;max open files = 500
;open files database hash size = 10007 
;use mmap = Yes
	hostname lookups = Yes
;hosts equiv = /etc/hosts # !!! PORZUCONA OPCJA 
# Co należy zrobić w razie wywalenia się serwera SAMBA - tutaj list do administratora
	panic action = mail -s "SERVER SAMBA ERROR - crashed" root 
;include = registry
;registry shares = yes
;printcap cache time = 750
;disable spoolss = No
;show add printer wizard = Yes
;mangling method = hash2
;mangle prefix = 1
;max stat cache size = 1024
;stat cache = Yes
;machine password timeout = 604800 
;enhanced browsing = Yes 
;kernel oplocks = Yes
;lock spin time = 200
;oplock break wait time = 0 
;lock directory = /var/db/samba
;pid directory = /var/run
;afs token lifetime = 604800
;time offset = 0
;NIS homedir = No
;usershare allow guests = No
;usershare max shares = 0
;usershare owner only = Yes
;usershare path = /var/db/samba/usershares
;host msdfs = Yes
;passdb expand explicit = No
;idmap cache time = 900
;idmap negative cache time = 120
;template homedir = /home/%D/%U
;template shell = /bin/false
;winbind separator = \
;winbind cache time = 300
;winbind enum users = No
;winbind enum groups = No
;winbind use default domain = No
;winbind trusted domains only = No
;winbind nested groups = Yes
;winbind nss info = template
;winbind refresh tickets = No
;winbind offline logon = No
;winbind normalize names = No
;map acl inherit = No
;afs share = No
;block size = 1024
;change notify = Yes
;kernel change notify = Yes  
;max connections = 0
;min print space = 0
;strict allocate = No
;strict sync = No
;sync always = No
;use sendfile = No
;max reported print jobs = 0
;max print jobs = 1000 
;mangling char = ~
;hide special files = No
;hide unreadable = No
;hide unwriteable files = No
;delete veto files = No
;map archive = Yes
;map hidden = No
;map system = No
;map readonly = yes
;mangled names = Yes
;store dos attributes = No
;dmapi support = No 
;preexec close = No
;root preexec close = No 
;available = Yes
;set directory = No
;wide links = Yes
;follow symlinks = Yes
;delete readonly = No
;dos filemode = No
;fake directory create times = No
;msdfs root = No 
#
# udzialy Specjalne i Administracyjne
#
[IPC$]
	path = /tmp

[printers]
	comment = All Printers
	path = /var/spool/samba
	browseable = no
	public = yes
	guest ok = yes
	writeable = no
	printable = Yes
	create mode = 644
        directory mode = 755
        force create mode = 644
        force directory mode = 755
	use client driver = Yes
	admin users = @ntadmin,@ntdomadmin,admin
;printer admin = admin # deprecated
;default devmode = Yes
    
[print$]
	comment = printer drivers
	path = /home/services/samba/printers
	guest ok = no
	read only = yes
	browseable = yes
	write list = @ntadmin,@ntdomadmin,admin
	create mode = 644
	directory mode = 755
	force create mode = 644
	force directory mode = 755

### udział dla drukarki PDF-ów z własnym skryptem, obecnie zapewnia tę funkcjonalność pakiet cups-pdf
;[pdf]
;comment = drukarka PDF.driver: HP LaserJet 5P/5MP lub inna PostScriptowa
;printing = bsd
;path = /tmp
;printable = yes
;public = yes
;browseable = yes
;guest ok = yes
;print command = /usr/local/bin/printpdf %s %S
;lpq command =
;lprm command =
;admin users = @ntadmin,@ntdomadmin,admin

[netlogon]
	comment = Net Logon Service - Usługa logowania domenowego
	path = /home/services/samba/netlogon
# blokowanie plikow wyłaczamy, poniewaz zasob tylko do odczytu
	locking = no
	writable = no
	share modes = no
	case sensitive = no
	create mode = 0664
	directory mode = 0775
	public = yes
	guest ok = no
        write list = admin innyuzytkownik
	browseable = no
## Audyt - opcje dla modułu audit 
;vfs objects = full_audit
;full_audit:prefix = %u|%I
;full_audit:success = open opendir
;full_audit:failure = all

## Kosz - opcje dla modułu recycle
;vfs objects = recycle
;recycle:repository = .Kosz
;recycle:keeptree = True
;recycle:versions = True
;recycle:touch = True 

;[mks-swap]
;comment = MkS swap
;path = /tmp
;browseable = no
;writeable = no
	
[homes]
	comment = katalog domowy użytkownika %U na serwerze
	guest ok = no
	browseable = no
	writeable = yes
	valid users = %u
	write ok = yes
        public = no
        printable = no
        create mode = 0600
        directory mode = 0700
        force create mode = 0600
        force directory mode = 0700
        default case = lower
        preserve case = no
        case sensitive = no
	inherit permissions = no
	
#kosz
#vfs objects = recycle
#recycle:repository = .Kosz
#recycle:keeptree = True
#recycle:versions = True
#recycle:touch = True 
#audyt
#vfs objects = full_audit
#full_audit:prefix = %u|%I
#full_audit:success = open opendir
#full_audit:failure = all

[profiles]
# komenda/skrypt która zostanie wykonana jako użytkownik root PRZED wejsciem/podłączeniem do zasobu
	root preexec ="/etc/samba/pre_exec_profile %S &"
;       root postexec =  
;       preexec =
# komenda/skrypt która zostanie wykonana jako zalogowany użytkownik PO wyjsciu z zasobu
	postexec =/etc/samba/post_exec_profile
# scieżka do katalogu zasobu - przykładowa
	path =/home/services/samba/uzyszkodnicy/%u/profile
	read only = no
	browseable = no
	create mask = 0600
	directory mask = 0700
        create mode = 0600
        directory mode = 0700
        force create mode = 0600
        force directory mode = 0700
	csc policy = disabled
	comment = pliki profilu użytkownika %U
        valid users = %U
        public = no
        writeable = yes
        printable = no
	hide files = /desktop.ini/ntuser.ini/NTUSER.*/
;write list = "@Domain Users" "@Domain Admins"
	default case = lower
	preserve case = no
	case sensitive = no
;profile acls = Yes
#audyt
;vfs objects = full_audit
;full_audit:prefix = %u|%I
;full_audit:success = open opendir
;full_audit:failure = all

;[shadow_share]
# shadow copy from windows
# required LVM+XFS
# http://www.wlug.org.nz/SambaShadowCopyHowto
# http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/VFS.html#id410220
#
;comment = Shadow Copy Enabled Share
;path = /array/storage
;read only = no
;browseable = yes
;force create mode = 0664
;force directory mode = 0775
;force group = "MYDOMAIN+Domain Users"
;writeable = yes
;vfs objects = shadow_copy

## inne udzialy
[wpkg]
	comment = Windows Packager WPKG.org
	path = /etc/wpkg
	read only = yes
	browseable = no
;	valid users = guest,nobody,unatendend
	guest ok = yes
	public = yes
	printable = no
	write list = admin
	create mode = 644
	directory mode = 755
        force create mode = 644
        force directory mode = 755
#audyt
#vfs objects = full_audit
#full_audit:prefix = %u|%I
#full_audit:success = open opendir
#full_audit:failure = all

[cdrom]
	comment = cd-rom w serwerze
    	path = /misc/cdrom
	public = yes
	locking = no
	share modes = no
    	writeable = no
	printable = no
    	browseable = yes
	guest ok = yes
pl/konfigi/smb.conf.txt · Last modified: 2008/02/05 20:56 by wolvverine
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0 Powered by Lighttpd - fly light