Konfiguracja podstawowa Samby

Konfiguracja serwerów, usług, itp.
Saturn89
Posty: 29
Rejestracja: 16 listopada 2014, 10:03

Konfiguracja podstawowa Samby

Post autor: Saturn89 » 22 stycznia 2015, 19:20

Cześć,
Mam problem z konfiguracją Samby. Jestem zupełnie zielony. Z tego powodu wyrywam sobie coraz więcej włosów. Odpalam sobie Debiana na VBox i instaluje Sambę. Do wykonania mam prostą konfigurację, proszę abyście mi pomogli, ew. podpowiedzieli i nakierowali co muszę zrobić żeby uporać się z problemem. Wiem, że dla was to będzie 5 minut. Mianowicie: Muszę udostępnić katalog HOME tak żeby był dostępny tylko dla użytkownika, który się uwierzytelni (wpisze hasło). Muszę również udostępnić katalog o nazwie ba_pa tylko do odczytu przez wszystkich i katalog pa_ba do zapisu przez wszystkich. Czytałem już sporo i nadal nie rozumiem, jakoś linux mi nie podchodzi... Gdzyście mi pomogli to mógłbym uzyskac podstawowe pojęcie i spróbować ruszyć do nowych zadań.
Wrzucam obraz mojego pliku konfiguracyjnego samby smb.conf:

Kod: Zaznacz cały

[global]

workgroup = siec
netbios name = serwer-sieci
server string = Samba server %v
guest account = nobody
security = user
local master = yes

[dane]
path = /home
guest ok = no
valid users = ybzsyek


#### Networking ####
;   interfaces = 127.0.0.0/8 eth0
;   bind interfaces only = yes

#### Debugging/Accounting ####
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
#### Networking ####
;   interfaces = 127.0.0.0/8 eth0
;   bind interfaces only = yes

#### Debugging/Accounting ####
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d

####### Authentication #######

   security = user
   encrypt passwords = true
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = bad user

########## Domains ###########

;   domain logons = yes
;   logon path = \\%N\profiles\%U
;   logon script = logon.cmd
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
; add machine script  = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
; add group script = /usr/sbin/addgroup --force-badname %g

########## Printing ##########

#   load printers = yes
;   printing = bsd

;   printing = cups
;   printcap name = cups

############ Misc ############

;   include = /home/samba/etc/smb.conf.%m
#   socket options = TCP_NODELAY
;   message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &
#   domain master = auto
;   idmap uid = 10000-20000
;   idmap gid = 10000-20000
;   template shell = /bin/bash

#======================= Share Definitions =======================

[homes]
   comment = Home Directories
   browseable = no
   read only = yes
   create mask = 0700
   directory mask = 0700
   valid users = %S
;   comment = Network Logon Service
;   path = /home/samba/netlogon
;   guest ok = yes
;   read only = yes


;[profiles]
;   comment = Users profiles
;   path = /home/samba/profiles
;   guest ok = no
;   browseable = no
;   create mask = 0600
;   directory mask = 0700

[printers]
   comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700

[print$]
   comment = Printer Drivers
 path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no
;   write list = root, @lpadmin

;[cdrom]
;   comment = Samba server's CD-ROM
;   read only = yes
;   locking = no
;   path = /cdrom
;   guest ok = yes
;   preexec = /bin/mount /cdrom

  browseable = yes
   read only = yes
   guest ok = no
;   write list = root, @lpadmin

;[cdrom]
;   comment = Samba server's CD-ROM
;   read only = yes
;   locking = no
;   path = /cdrom
;   guest ok = yes
;   preexec = /bin/mount /cdrom
;   postexec = /bin/umount /cdrom

Awatar użytkownika
pawkrol
Moderator
Posty: 936
Rejestracja: 03 kwietnia 2011, 10:25

Post autor: pawkrol » 22 stycznia 2015, 19:45

Chyba najprostszy

Kod: Zaznacz cały

[global]
netbios name = samba
server string = Serwer samba
workgroup = LAN
load printers = no
show add printer wizard = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes 
log file = /var/log/samba/log.%m
max log size = 500
security = user
passdb backend = tdbsam
map to guest = Bad User
username map = /etc/samba/smbusers

#============================ Udzialy ==============================

[homes]
path = /home/%U
comment = HOME Directories
browseable = no
writeable = yes
valid users = %S
read only = no
guest ok = no



[ba_pa]
path = /mnt/dane/ud1
comment = Dostep dla gosci odczyt
browseable = yes
read only = yes
guest ok = yes

[pa_ba]
path = /mnt/dane/ud2
comment = Dostep dla gosci zapis
browseable = yes
read only = no
guest ok = yes

Jak już masz użytkownika w systemie to musisz mu dodatkowo ustawić hasło do samby

Kod: Zaznacz cały

smbpasswd -a użytkwonik
Polecam zapoznanie się z tym poleceniem

Kod: Zaznacz cały

smbpasswd --help 

Saturn89
Posty: 29
Rejestracja: 16 listopada 2014, 10:03

Post autor: Saturn89 » 22 stycznia 2015, 21:05

Dzięki wielkie. Wkleiłem i przeanalizowałem sobie konfig (trochę na jego podstawie zrozumiałem więcej). Chciałbym przetestować teraz czy wszystko działa. Rozumiem, że muszę utworzyć nowe konto poleceniem
adduser
, później poleceniem
smbpasswd

ustawić hasło do serwera Samba, którym będzie się logował do katalogu HOME. W jaki sposób to wszystko przetestować?

Awatar użytkownika
pawkrol
Moderator
Posty: 936
Rejestracja: 03 kwietnia 2011, 10:25

Post autor: pawkrol » 22 stycznia 2015, 21:32

Tak:
adduser -> tworzy konto w systemie
smpasswd -a user -> tworzy konto w sambie na podstawie tego systemowego

Jeszcze jedna sprawa :
Jak usuniesz tę linie:

Kod: Zaznacz cały

map to guest = Bad User
To samba o hasło będzie pytać się od razu po połączeniu, a nie gdy będziesz chciał wejść do jakiegoś folderu nie dostępnego dla gościa. Dlatego usuń ją. Pojawi ci się wtedy zasób home ( Oczywiście po pomyślnym zalogowaniu)

Poniższe linie wyłączają obsługę drukarek (cups), jak nie korzystasz to przynajmniej błędów w logach nie masz.

Kod: Zaznacz cały

load printers = no show 
add printer wizard = no 
printing = bsd 
printcap name = /dev/null
disable spoolss = yes 

Saturn89
Posty: 29
Rejestracja: 16 listopada 2014, 10:03

Post autor: Saturn89 » 24 stycznia 2015, 09:42

Hej,
Dzięki za pomoc, zrobiłem wszystko tak jak napisałeś. Usunąłem cały swój konfig samby i wkleiłem Twój. Miałem wcześniej użytkownika systemowego "krzysiek" i swojego domyślnego "zygmunt", utworzyłem hasła do Samby poleceniem
smbpasswd -a użytkwonik
dla użytkownika "krzysiek". Później wpisuje w konsole
su - krzysiek
, loguje się i wpisuje
cd /home
i rozumiem, że teraz powinien wyświetlić się monit o hasło, którego nie ma :) . Wiem, że robię coś źle, ale nie wiem jeszcze co :) .
Druga sprawa to utworzyłem dwa katalogi poleceniami
mkdir ba_pa
i
mkdir pa_ba
i jak sprawdzić z konta "krzysiek" jakie mam prawa do tych katalogów?

Awatar użytkownika
marcin1982
Moderator
Posty: 1721
Rejestracja: 05 maja 2011, 12:59
Lokalizacja: Zagłębie Dąbrowskie

Post autor: marcin1982 » 24 stycznia 2015, 10:05

Jak sprawdzić uprawnienia? Poleceniem:

Kod: Zaznacz cały

ls -al
Jedna kropka oznacza katalog bieżący, dwie kropki nadrzędny.
wyświetlić się monit o hasło, którego nie ma
Usługę zrestartuj:
I SysVinit:

Kod: Zaznacz cały

service samba restart
II Systemd:

Kod: Zaznacz cały

systemctl restart samba
jakoś linux mi nie podchodzi...
Najpierw naucz się obsługi, a potem psiocz. Zresztą SMB to de facto wynalazek MS :D

Awatar użytkownika
pawkrol
Moderator
Posty: 936
Rejestracja: 03 kwietnia 2011, 10:25

Post autor: pawkrol » 24 stycznia 2015, 13:44

Wpisuje w konsole
su - krzysiek
, loguje się i wpisuje
cd /home
i rozumiem, że teraz powinien wyświetlić się monit o hasło, którego nie ma
Czy ty aby nie pomyliłeś Samby ze zwykłem shellem ?

Saturn89
Posty: 29
Rejestracja: 16 listopada 2014, 10:03

Post autor: Saturn89 » 25 stycznia 2015, 10:11

Sprawdziłem uprawnienia poleceniem
ls -al
i wygląda to tak:
drwxr-xr-x 7 root root 4096 sty 19 22:11 .
drwxr-xr-x 23 root root 4096 lis 28 23:39 ..
drwxr-xr-x 22 bartek bartek 4096 sty 22 20:59 bartek
drwxr-xr-x 2 1001 1001 4096 sty 3 10:23 janek
drwxr-xr-x 19 krzysiek krzysiek 4096 sty 22 20:57 krzysiek
drwxr-xr-x 2 1002 1002 4096 sty 3 10:42 zosia
Zresetowałem Sambę poleceniem od Marcina.
Pawkrol- wiem, że na pewno muszę zadanie zrobić w Sambie :D . Chyba nie rozumiem po prostu konfiga, który mi wysłałeś. Chciałbym wejść na użytkownika krzysiek i sprawdzić czy może on wejść do katalogu HOME (który wcześniej powinien zostać zabezpieczony hasłem i znajdują się w nim dane każdego użytkownika systemu) po wpisaniu hasła. I czy mogę z poziomu użytkownika krzysiek zapisać coś w katalogu /ba_pa (nie powinienen móc zapisać) i czy mogę coś zapisać w katalogu /pa_ba (powinienem móc zapisać).

Saturn89
Posty: 29
Rejestracja: 16 listopada 2014, 10:03

Post autor: Saturn89 » 26 stycznia 2015, 17:12

Hej, pomoże ktoś? :)

GolemSan
Posty: 59
Rejestracja: 03 czerwca 2014, 22:31

Post autor: GolemSan » 26 stycznia 2015, 17:49

Saturn89 pisze:Hej, pomoże ktoś? :)
Chyba nie bardzo się rozumiemy. Samba służy do udostępniania katalogów w sieci (między dwoma komputerami), a z tego co piszesz wynika, że pracujesz na jednym komputerze.

ODPOWIEDZ