Giunsa ang Pag-install sa Samba sa Ubuntu alang sa Pagpakigbahin sa File sa Windows


Ang Samba usa ka libre/bukas nga tinubdan ug popular nga gigamit nga software alang sa pagpaambit sa mga file ug serbisyo sa pag-imprinta tali sa mga sistema nga sama sa Unix lakip ang Linux ug Windows nga mga host sa samang network.

Sa kini nga giya, ipakita namon kung giunsa ang pag-setup sa Samba4 alang sa sukaranan nga pagpaambit sa file tali sa mga sistema sa Ubuntu ug mga makina sa Windows. Among tabonan ang duha ka posibleng senaryo: anonymous (unsecure) ingon man luwas nga file sharing.

Timan-i nga sugod sa bersyon 4.0, ang Samba mahimong gamiton isip Active Directory (AD) domain controller (DC). Nag-organisar kami og usa ka espesyal nga serye alang sa pag-set up sa Samba4 Active Directory Domain Controller, nga naglangkob sa mga mahinungdanong mga hilisgutan ubos sa Ubuntu, CentOS, ug Windows.

  1. Pagpahimutang sa Samba4 Active Directory Domain Controller

I-install ug I-configure ang Samba sa Ubuntu

Ang Samba server magamit aron ma-install gikan sa default nga mga repositoryo sa Ubuntu gamit ang apt package manager tool sama sa gipakita.

$ sudo apt install samba samba-common python-dnspython

Sa higayon nga ma-install ang samba server, karon na ang panahon sa pag-configure sa samba server isip: dili luwas nga wala mailhi ug luwas nga pagpaambit sa file.

Alang niini, kinahanglan natong usbon ang nag-unang Samba configuration file /etc/samba/smb.conf (nga nagpatin-aw sa lain-laing mga direktiba sa configuration).

Una nga i-backup ang orihinal nga samba configuration file sama sa mosunod.

$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.orig

Pagkahuman, magpadayon kami sa pag-configure sa samba alang sa wala mailhi ug luwas nga mga serbisyo sa pagpaambit sa file sama sa gipatin-aw sa ubos.

Importante: Sa dili pa mobalhin og dugang, siguroha nga ang Windows machine anaa sa samang workgroup nga ma-configure sa Ubuntu server.

Pag-login sa imong Windows machine, pag-right click sa \This PC o \My Computer → Properties → Advanced System Settings → Computer Name aron masusi ang workgroup.

Sa laing paagi, ablihi ang command prompt ug tan-awa kini pinaagi sa pagpadagan sa sugo sa ubos ug pangitaa ang \workstation domain.

>net config workstation

Kung nahibal-an nimo ang imong Windows workgroup panahon na sa pagpadayon ug pag-configure sa samba server alang sa pagpaambit sa file.

Anonymous nga Samba File Sharing

Una magsugod pinaagi sa paghimo sa usa ka shared samba nga direktoryo diin ang mga file itago.

$ sudo mkdir -p /srv/samba/anonymous_shares

Dayon ibutang ang angay nga mga permiso sa direktoryo.

$ sudo chmod -R 0775 /srv/samba/anonymous_shares
$ sudo chown -R nobody:nogroup /srv/samba/anonymous_shares

Karon ablihi ang configuration file.

$ sudo vi /etc/samba/smb.conf
OR
$ sudo nano /etc/samba/smb.conf

Sunod nga usba o usba ang mga setting sa direktiba sama sa gihulagway sa ubos.

global]
	workgroup = WORKGROUP
	netbios name = ubuntu
	security = user
[Anonymous]
	comment = Anonymous File Server Share
	path = /srv/samba/anonymous_shares
	browsable =yes
	writable = yes
	guest ok = yes
	read only = no
	force user = nobody

Karon pamatud-i ang kasamtangan nga mga setting sa samba pinaagi sa pagpadagan sa sugo sa ubos.

$ testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
	netbios name = UBUNTU
	server string = %h server (Samba, Ubuntu)
	server role = standalone server
	map to guest = Bad User
	obey pam restrictions = Yes
	pam password change = Yes
	passwd program = /usr/bin/passwd %u
	passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
	unix password sync = Yes
	syslog = 0
	log file = /var/log/samba/log.%m
	max log size = 1000
	dns proxy = No
	usershare allow guests = Yes
	panic action = /usr/share/samba/panic-action %d
	idmap config * : backend = tdb

[printers]
	comment = All Printers
	path = /var/spool/samba
	create mask = 0700
	printable = Yes
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/printers
	browseable = No
[Anonymous]
	comment = Anonymous File Server Share
	path = /srv/samba/anonymous_shares
	force user = nobody
	read only = No
	guest ok = Yes

Dayon i-restart ang mga serbisyo sa Samba aron mahimo ang mga pagbag-o sa ibabaw.

$ sudo systemctl restart smbd   [Systemd]
$ sudo service smbd restart     [Sys V]

Adto sa makina sa Windows, ug ablihi ang \Network gikan sa bintana sa Windows Explorer. I-klik ang host sa Ubuntu (TECMINT para sa among kaso), o kaha sulayi nga ma-access ang samba server gamit ang IP address niini.

\2.168.43.168

Mubo nga sulat: Gamita ang ifconfig command aron makuha ang imong Ubuntu server IP address.

Dayon ablihi ang Anonymous nga direktoryo ug sulayi nga idugang ang mga file didto aron ipaambit sa ubang mga tiggamit.

Luwas nga Samba File Sharing

Aron mapanalipdan sa password ang usa ka bahin sa samba, kinahanglan nimo nga maghimo usa ka grupo nga smbgrp ug magbutang usa ka password alang sa matag tiggamit. Sa niini nga pananglitan akong gigamit ang aaronkilik isip user ug password isip tecmint.

$ sudo addgroup smbgrp
$ sudo usermod aaronkilik -aG smbgrp
$ sudo smbpasswd -a aaronkilik

Mubo nga sulat: Ang samba security mode: security = user nagkinahanglan sa mga kliyente sa pagsulod sa usa ka username ug password sa pagkonektar sa mga bahin.

Ang mga account sa gumagamit sa Samba lahi sa mga account sa sistema, bisan pa, mahimo nimo nga opsyonal nga i-install ang libpam-winbind nga pakete nga gigamit sa pag-sync sa mga tiggamit sa sistema ug mga password sa database sa tiggamit sa samba.

$ sudo apt install libpam-winbind

Unya paghimo sa luwas nga direktoryo diin ang gipaambit nga mga file itago.

$ sudo mkdir -p /srv/samba/secure_shares

Sunod, ibutang ang angay nga mga pagtugot sa direktoryo.

$ sudo chmod -R 0770 /srv/samba/secure_shares
$ sudo chown -R root:smbgrp /srv/samba/secure_shares

Karon ablihi ang configuration file.

$ sudo vi /etc/samba/smb.conf
OR
$ sudo nano /etc/samba/smb.conf

Sunod nga usba o usba ang mga setting sa direktiba sama sa gihulagway sa ubos.

[Secure]
	comment = Secure File Server Share
	path =  /srv/samba/secure_shares
	valid users = @smbgrp
	guest ok = no
	writable = yes
	browsable = yes

Sama kaniadto, padagana kini nga sugo aron makita ang imong kasamtangan nga mga setting sa samba.

$ testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
	netbios name = UBUNTU
	server string = %h server (Samba, Ubuntu)
	server role = standalone server
	map to guest = Bad User
	obey pam restrictions = Yes
	pam password change = Yes
	passwd program = /usr/bin/passwd %u
	passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
	unix password sync = Yes
	syslog = 0
	log file = /var/log/samba/log.%m
	max log size = 1000
	dns proxy = No
	usershare allow guests = Yes
	panic action = /usr/share/samba/panic-action %d
	idmap config * : backend = tdb
[printers]
	comment = All Printers
	path = /var/spool/samba
	create mask = 0700
	printable = Yes
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/printers
	browseable = No
[Anonymous]
	comment = Anonymous File Server Share
	path = /srv/samba/anonymous_shares
	force user = nobody
	read only = No
	guest ok = Yes
[Secure]
	comment = Secure File Server Share
	path = /srv/samba/secure_shares
	valid users = @smbgrp
	read only = No

Kung nahuman na nimo ang mga pag-configure sa ibabaw, i-restart ang mga serbisyo sa Samba aron magamit ang mga pagbag-o.

$ sudo systemctl restart smbd   [Systemd]
$ sudo service smbd restart     [Sys V]

Sama kaniadto, sa makina sa Windows, ug ablihi ang \Network gikan sa bintana sa Windows Explorer. Pag-klik sa host sa Ubuntu (TECMINT alang sa among kaso). Mahimo nimong makuha ang sayup sa ubos, kung dili mopadayon sa sunod nga lakang.

Sulayi nga ma-access ang server gamit ang IP address niini, e.g. \\192.168.43.168 sama niini. Dayon isulod ang mga kredensyal (username ug password) para sa user aaronkilik ug i-klik ang OK.

Imong makita karon ang tanan nga gipaambit nga mga direktoryo, i-klik ang Secure aron maablihan kini.

Mahimo nimong luwas nga ipaambit ang pipila ka mga file sa ubang gitugotan nga mga tiggamit sa network pinaagi sa paghulog niini sa kini nga direktoryo.

I-enable ang Samba sa UFW Firewall sa Ubuntu

Kung ikaw adunay UFW firewall nga gipagana/aktibo sa imong sistema, kinahanglan nimong idugang ang mga lagda aron tugutan ang Samba nga makaagi sa imong firewall.

Aron sulayan kini, among gigamit ang 192.168.43.0 network scheme. Pagdalagan ang mga sugo sa ubos nga nagpiho sa imong adres sa network.

$ sudo ufw allow proto udp to any port 137 from 192.168.43.0/24
$ sudo ufw allow proto udp to any port 138 from 192.168.43.0/24
$ sudo ufw allow proto tcp to any port 139 from 192.168.43.0/24
$ sudo ufw allow proto tcp to any port 445 from 192.168.43.0/24

Mahimo usab nimo tan-awon kining mapuslanon nga mga artikulo bahin sa pagpaambit sa Samba file sa usa ka network.

  1. Pagpahimutang sa Samba4 Active Directory Domain Controller- Bahin 1 hangtod 14
  2. Unsaon Pag-mount/Pagtangtang sa Lokal ug Network (Samba & NFS) Filesystems sa Linux
  3. Paggamit sa mga ACL (Access Control Lists) ug Pag-mount sa Samba/NFS Shares
  4. Unsaon Pag-ayo ang SambaCry Vulnerability (CVE-2017-7494) sa Linux Systems

Kana lang! Sa kini nga giya, gipakita namon kanimo kung giunsa ang pag-setup sa Samba4 alang sa dili mailhan ug luwas nga pagpaambit sa file tali sa mga makina sa Ubuntu ug Windows. Gamita ang porma sa feedback sa ubos aron ipaambit ang bisan unsang mga hunahuna kanamo.