Celem jest skonfigurowanie podstawowego serwera Samby do współużytkowania katalogów domowych użytkowników oraz zapewnienie anonimowego dostępu do wybranego katalogu.
Wersje systemu operacyjnego i oprogramowania
System operacyjny: – Ubuntu 18.04/20.04
Oprogramowanie: – Samba w wersji 4.7.4-Ubuntu lub nowszej
Zainstaluj serwer Samba
Zacznijmy od instalacji serwera Samba.
$ sudo apt-get install tasksel
$ sudo tasksel install samba-server
Konfiguracja
$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
$ sudo bash -c 'grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf'
Udostępnianie plików
W tej sekcji będziemy dodawać katalogi użytkowników domowych do naszego nowego /etc/samba/smb.conf (pliku konfiguracyjnego samby).
Samba ma swój własny system zarządzania użytkownikami. Jednak każdy użytkownik istniejący na liście użytkowników samby musi również istnieć w pliku /etc/passwd. Utwórz nowego użytkownika za pomocą useradd, zanim utworzysz nowego użytkownika Samby. Gdy twój nowy użytkownik np. linuxconfig kończy działanie, użyj smbpasswd, aby utworzyć nowego użytkownika Samby:
$ sudo smbpasswd -a linuxconfig
New SMB password:
Retype new SMB password:
Added user linuxconfig.
Następnie użyj swojego ulubionego edytora tekstowego, aby edytować
/etc/samba/smb.conf
$ sudo nano /etc/samba/smb.conf
i dodaj następujące linie:
[homes]
comment = Home Directories
browseable = yes
read only = no
create mask = 0700
directory mask = 0700
valid users = %S
Utwórz udział
W tej sekcji dodamy nowy publicznie dostępny do odczytu i zapisu udział Samby dostępny dla anonimowych użytkowników / gości. Najpierw utwórz katalog, który chcesz udostępnić, i zmień jego uprawnienia.
Przykład:
$ sudo mkdir /var/samba
$ sudo chmod 777 /var/samba/
Następnie dodaj poniższe wiersze do pliku konfiguracyjnego Samby, używając edytora tekstu
sudo nano /etc/samba/smb.conf
[public]
comment = public anonymous access
path = /var/samba/
browsable =yes
create mask = 0660
directory mask = 0771
writable = yes
guest ok = yes
Twój bieżący plik konfiguracyjny Samby powinien wyglądać podobnie do poniższego:
[global]
workgroup = WORKGROUP
client min protocol = NT1
server min protocol = NT1
server string = %h server (Samba, Ubuntu)
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
server role = standalone server
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
usershare allow guests = yes
[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
[homes]
comment = Home Directories
browseable = yes
read only = no
create mask = 0700
directory mask = 0700
valid users = %S
[public]
comment = public anonymous access
path = /var/samba/
browsable =yes
create mask = 0660
directory mask = 0771
writable = yes
guest ok = yes
Zrestartuj serwer Samby
Nasza podstawowa konfiguracja serwera Samby jest gotowa. Pamiętaj, aby zawsze zrestartować swój serwer samby, po każdej zmianie w
/etc/samba/smb.conf
$ sudo systemctl restart smbd
Po ponownym uruchomieniu serwera Samby sprawdź, czy wszystkie udziały zostały poprawnie skonfigurowane:
$ smbclient -L localhost
WARNING: The "syslog" option is deprecated
Enter WORKGROUP\linuxconfig's password:
Anonymous login successful
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
homes Disk Home Directories
public Disk public anonymous access
IPC$ IPC IPC Service (ubuntu server (Samba, Ubuntu))
Reconnecting with SMB1 for workgroup listing.
Anonymous login successful
Server Comment
--------- -------
Workgroup Master
--------- -------
WORKGROUP UBUNTU
Po pomyślnym zamontowaniu naszych udziałów Samby poniższe pliki powinny być dostępne do naszej dyspozycji:
$ touch /var/samba/public-share
$ touch /home/linuxconfig/home-share
Na koniec sprawdź, czy Twój serwer Samba działa poprawnie:
$ sudo systemctl status smbd
● smbd.service - Samba SMB Daemon
Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2018-01-31 19:50:19 AEDT; 1min 12s ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Main PID: 3561 (smbd)
Status: "smbd: ready to serve connections..."
Tasks: 5 (limit: 4915)
CGroup: /system.slice/smbd.service
├─3561 /usr/sbin/smbd --foreground --no-process-group
├─3578 /usr/sbin/smbd --foreground --no-process-group
├─3579 /usr/sbin/smbd --foreground --no-process-group
├─3590 /usr/sbin/smbd --foreground --no-process-group
└─3611 /usr/sbin/smbd --foreground --no-process-group
Dziękuje bardzo pomocne