ວິທີການຕິດຕັ້ງ Samba ໃນ Ubuntu ສຳ ລັບການແບ່ງປັນເອກະສານໃນ Windows


Samba ແມ່ນໂປແກຼມຟຣີ/ເປີດແລະເປັນທີ່ນິຍົມໃຊ້ ສຳ ລັບການແລກປ່ຽນເອກະສານແລະການບໍລິການການພິມລະຫວ່າງລະບົບທີ່ຄ້າຍຄືກັບ Unix ລວມທັງ Linux ແລະ Windows ທີ່ຢູ່ໃນເຄືອຂ່າຍດຽວກັນ.

ໃນຄູ່ມືນີ້, ພວກເຮົາຈະສະແດງວິທີການຈັດຕັ້ງ Samba4 ສຳ ລັບການແບ່ງປັນເອກະສານຂັ້ນພື້ນຖານລະຫວ່າງລະບົບ Ubuntu ແລະ Windows Windows. ພວກເຮົາຈະກວມເອົາສອງສະຖານະການທີ່ເປັນໄປໄດ້: ບໍ່ລະບຸຊື່ (ບໍ່ປອດໄພ) ພ້ອມທັງການແລກປ່ຽນເອກະສານທີ່ປອດໄພ.

ໃຫ້ສັງເກດວ່າເລີ່ມຈາກເວີຊັນ 4.0, Samba ສາມາດໃຊ້ເປັນຕົວຄວບຄຸມໂດເມນ Active Directory (AD) ຄວບຄຸມໂດເມນ (DC). ພວກເຮົາໄດ້ຈັດຊຸດພິເສດ ສຳ ລັບສ້າງຕັ້ງ Samba4 Active Directory Domain Controller, ເຊິ່ງປະກອບດ້ວຍຫົວຂໍ້ ສຳ ຄັນພາຍໃຕ້ Ubuntu, CentOS, ແລະ Windows.

<

  • ການຕັ້ງຄ່າໂດເມນຄວບຄຸມ Active Directory Domain ຂອງ Samba4
  • ຕິດຕັ້ງແລະຕັ້ງຄ່າ Samba ໃນ Ubuntu

    ເຄື່ອງແມ່ຂ່າຍຂອງ Samba ສາມາດຕິດຕັ້ງຈາກຫໍສະ ໝຸດ Ubuntu ຕັ້ງແຕ່ຕອນຕົ້ນໂດຍໃຊ້ເຄື່ອງມືຈັດການຊຸດ apt ດັ່ງທີ່ສະແດງໄວ້.

    $ sudo apt install samba samba-common python-dnspython
    

    ເມື່ອການຕິດຕັ້ງເຊີບເວີ samba, ດຽວນີ້ເຖິງເວລາແລ້ວທີ່ຈະ ກຳ ນົດຄ່າ server samba ຄື: ບໍ່ປອດໄພໃນການແບ່ງປັນເອກະສານທີ່ບໍ່ລະບຸຊື່ແລະປອດໄພ.

    ສຳ ລັບສິ່ງນີ້, ພວກເຮົາ ຈຳ ເປັນຕ້ອງແກ້ໄຂເອກະສານການຕັ້ງຄ່າ Samba ຕົ້ນຕໍ /etc/samba/smb.conf (ເຊິ່ງອະທິບາຍແນວທາງການຕັ້ງຄ່າຕ່າງໆ).

    ທຳ ອິດ ສຳ ຮອງເອກະສານການຕັ້ງຄ່າ samba ຕົ້ນສະບັບດັ່ງຕໍ່ໄປນີ້.

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

    ຫລັງຈາກນັ້ນ, ພວກເຮົາຈະ ດຳ ເນີນການຕັ້ງຄ່າ samba ສຳ ລັບບໍລິການແບ່ງປັນເອກະສານທີ່ບໍ່ລະບຸຊື່ແລະປອດໄພດັ່ງທີ່ໄດ້ອະທິບາຍຂ້າງລຸ່ມນີ້.

    ສິ່ງ ສຳ ຄັນ: ກ່ອນຈະຍ້າຍໄປຕໍ່ໄປ, ຮັບປະກັນວ່າເຄື່ອງ Windows ຢູ່ໃນກຸ່ມເຮັດວຽກດຽວກັນເຊິ່ງຈະຖືກຕັ້ງຄ່າຢູ່ໃນ server ຂອງ Ubuntu.

    ເຂົ້າສູ່ລະບົບເຄື່ອງ Windows ຂອງທ່ານ, ກົດປຸ່ມຂວາໃສ່“ ຄອມພິວເຕີ້ຄອມພິວເຕີ້ນີ້” ຫຼື“ ຄອມພິວເຕີຂອງຂ້ອຍ” →ຄຸນສົມບັດ→ການຕັ້ງຄ່າລະບົບຂັ້ນສູງ Name ຊື່ຄອມພິວເຕີ້ເພື່ອກວດສອບກຸ່ມເຮັດວຽກ.

    ອີກທາງເລືອກ ໜຶ່ງ, ໃຫ້ເປີດ ຄຳ ສັ່ງແລະເບິ່ງມັນໂດຍການແລ່ນ ຄຳ ສັ່ງຢູ່ທາງລຸ່ມແລະຊອກຫາ "ໂດເມນບ່ອນເຮັດວຽກ".

    >net config workstation
    

    ເມື່ອທ່ານຮູ້ສະພາບການເຮັດວຽກຂອງ Windows ຂອງທ່ານໃນເວລາທີ່ຈະກ້າວ ໜ້າ ແລະ ກຳ ຫນົດຄ່າ server samba ສຳ ລັບການແບ່ງປັນເອກະສານ.

    ການແບ່ງປັນເອກະສານ Samba ແບບບໍ່ລະບຸຊື່

    ເລີ່ມຕົ້ນໂດຍການສ້າງໄດເລກະທໍລີທີ່ໃຊ້ຮ່ວມກັນເຊິ່ງໄຟລ໌ຈະຖືກເກັບໄວ້.

    $ sudo mkdir -p /srv/samba/anonymous_shares
    

    ຈາກນັ້ນ ກຳ ນົດສິດທີ່ ເໝາະ ສົມໃນໄດເລກະທໍລີ.

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

    ຕອນນີ້ເປີດເອກະສານການຕັ້ງຄ່າ.

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

    ຕໍ່ໄປດັດແກ້ຫລືແກ້ໄຂການຕັ້ງຄ່າ ຄຳ ສັ່ງທີ່ໄດ້ອະທິບາຍໄວ້ຂ້າງລຸ່ມນີ້.

    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
    

    ຕອນນີ້ພິສູດການຕັ້ງຄ່າ 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
    

    ຫຼັງຈາກນັ້ນ, ໃຫ້ບໍລິການ Samba ຄືນ ໃໝ່ ເພື່ອສົ່ງຜົນຕໍ່ການປ່ຽນແປງຂ້າງເທິງ.

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

    ໄປທີ່ເຄື່ອງ Windows, ແລະເປີດ "Network" ຈາກ ໜ້າ ຕ່າງ Windows Explorer. ກົດເຂົ້າທີ່ໂຮດອູບັນຕູ (TECMINT ສຳ ລັບກໍລະນີຂອງພວກເຮົາ), ຫຼືອື່ນໆພະຍາຍາມເຂົ້າໃຊ້ເຊີບເວີ samba ໂດຍໃຊ້ທີ່ຢູ່ IP ຂອງມັນ.

    \2.168.43.168
    

    ໝາຍ ເຫດ: ໃຊ້ ຄຳ ສັ່ງ ifconfig ເພື່ອເອົາທີ່ຢູ່ IP server ຂອງທ່ານ.

    ຫຼັງຈາກນັ້ນເປີດໄດເລກະທໍລີ Anonymous ແລະພະຍາຍາມເພີ່ມເອກະສານໃນນັ້ນເພື່ອແບ່ງປັນກັບຜູ້ໃຊ້ອື່ນໆ.

    ຮັບປະກັນການແບ່ງປັນເອກະສານ Samba

    ເພື່ອປົກປ້ອງລະຫັດສ່ວນແບ່ງ samba, ທ່ານ ຈຳ ເປັນຕ້ອງສ້າງກຸ່ມ“ smbgrp” ແລະຕັ້ງລະຫັດລັບ ສຳ ລັບຜູ້ໃຊ້ແຕ່ລະຄົນ. ໃນຕົວຢ່າງນີ້ຂ້ອຍໃຊ້ aaronkilik ເປັນຜູ້ໃຊ້ແລະລະຫັດຜ່ານເປັນ“ tecmint“.

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

    ໝາຍ ເຫດ: ຮູບແບບຄວາມປອດໄພ samba: ຄວາມປອດໄພ = ຜູ້ໃຊ້ຮຽກຮ້ອງໃຫ້ລູກຄ້າໃສ່ຊື່ຜູ້ໃຊ້ແລະລະຫັດຜ່ານເພື່ອເຊື່ອມຕໍ່ກັບຮຸ້ນ.

    ບັນຊີຜູ້ໃຊ້ Samba ແຍກອອກຈາກບັນຊີລະບົບ, ເຖິງຢ່າງໃດກໍ່ຕາມ, ທ່ານສາມາດຕິດຕັ້ງ libpam-winbind package ທີ່ເປັນທາງເລືອກທີ່ໃຊ້ເພື່ອຊິ້ງຂໍ້ມູນຜູ້ໃຊ້ລະບົບແລະລະຫັດຜ່ານກັບຖານຂໍ້ມູນຜູ້ໃຊ້ samba.

    $ sudo apt install libpam-winbind
    

    ຫຼັງຈາກນັ້ນສ້າງໄດເລກະທໍລີທີ່ປອດໄພບ່ອນທີ່ເອກະສານທີ່ໃຊ້ຮ່ວມກັນຈະຖືກເກັບໄວ້.

    $ sudo mkdir -p /srv/samba/secure_shares
    

    ຕໍ່ໄປ, ກຳ ນົດການອະນຸຍາດທີ່ ເໝາະ ສົມໃນໄດເລກະທໍລີ.

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

    ຕອນນີ້ເປີດເອກະສານການຕັ້ງຄ່າ.

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

    ຕໍ່ໄປດັດແກ້ຫລືແກ້ໄຂການຕັ້ງຄ່າ ຄຳ ສັ່ງທີ່ໄດ້ອະທິບາຍໄວ້ຂ້າງລຸ່ມນີ້.

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

    ເຊັ່ນດຽວກັນກັບກ່ອນ, ດໍາເນີນການຄໍາສັ່ງນີ້ເພື່ອເບິ່ງການຕັ້ງຄ່າ 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
    

    ເມື່ອທ່ານເຮັດກັບການຕັ້ງຄ່າຂ້າງເທິງ, ເລີ່ມຕົ້ນການບໍລິການຂອງ Samba ເພື່ອ ນຳ ໃຊ້ການປ່ຽນແປງ.

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

    ຄືກັບທີ່ຜ່ານມາ, ໃນເຄື່ອງ Windows, ແລະເປີດ“ Network” ຈາກ ໜ້າ ຕ່າງ Windows Explorer. ກົດທີ່ Ubuntu host (TECMINT ສຳ ລັບກໍລະນີຂອງພວກເຮົາ). ທ່ານອາດຈະໄດ້ຮັບຂໍ້ຜິດພາດຂ້າງລຸ່ມນີ້, ຖ້າບໍ່ ດຳ ເນີນຂັ້ນຕອນຕໍ່ໄປ.

    ພະຍາຍາມເຂົ້າເຖິງເຊີບເວີໂດຍໃຊ້ທີ່ຢູ່ IP ຂອງມັນ, ເຊັ່ນ: \\ 192.168.43.168 ແບບນີ້. ຫຼັງຈາກນັ້ນປ້ອນຂໍ້ມູນປະ ຈຳ ຕົວ (ຊື່ຜູ້ໃຊ້ແລະລະຫັດຜ່ານ) ສຳ ລັບຜູ້ໃຊ້ aaronkilik ແລະກົດ OK.

    ດຽວນີ້ທ່ານຈະສາມາດເບິ່ງໄດເລກະທໍລີທີ່ແບ່ງປັນທັງ ໝົດ, ກົດທີ່ປອດໄພເພື່ອເປີດມັນ.

    ທ່ານສາມາດແບ່ງປັນເອກະສານບາງຢ່າງຢ່າງປອດໄພກັບຜູ້ໃຊ້ອື່ນໆທີ່ໄດ້ຮັບອະນຸຍາດຢູ່ໃນເຄືອຂ່າຍໂດຍການລຸດລົງຢູ່ໃນລະບົບນີ້.

    ເປີດໃຊ້ Samba ໃນ UFW Firewall ໃນ Ubuntu

    ຖ້າທ່ານມີ UFW firewall ເປີດໃຊ້ງານ/ເຄື່ອນໄຫວໃນລະບົບຂອງທ່ານ, ທ່ານຕ້ອງເພີ່ມກົດເພື່ອໃຫ້ Samba ສາມາດຜ່ານ Firewall ຂອງທ່ານ.

    ເພື່ອທົດສອບສິ່ງນີ້, ພວກເຮົາໄດ້ ນຳ ໃຊ້ລະບົບເຄືອຂ່າຍ 192.168.43.0. ດໍາເນີນການຄໍາສັ່ງຂ້າງລຸ່ມນີ້ໂດຍລະບຸທີ່ຢູ່ເຄືອຂ່າຍຂອງທ່ານ.

    $ 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
    

    ທ່ານຍັງສາມາດກວດເບິ່ງບົດຄວາມທີ່ເປັນປະໂຫຍດເຫຼົ່ານີ້ກ່ຽວກັບການແບ່ງປັນເອກະສານ Samba ໃນເຄືອຂ່າຍ.

    <

  • ການຕັ້ງຄ່າໂດເມນຄວບຄຸມ Active Directory Domain ຂອງ Samba4 - ພາກທີ 1 ເຖິງ 14
  • ວິທີການ Mount/Unmount Local ແລະ Network (Samba & NFS) ລະບົບແຟ້ມເອກະສານໃນ Linux
  • ການ ນຳ ໃຊ້ ACLs (ລາຍການຄວບຄຸມການເຂົ້າເຖິງ) ແລະການແບ່ງປັນຮຸ້ນ Samba/NFS
  • ວິທີການແກ້ໄຂຄວາມປອດໄພຂອງ SambaCry (CVE-2017-7494) ໃນ Linux Systems
  • ຫມົດເທົ່ານີ້! ໃນຄູ່ມືນີ້, ພວກເຮົາໄດ້ສະແດງວິທີການຈັດຕັ້ງ Samba4 ສຳ ລັບການແບ່ງປັນເອກະສານທີ່ບໍ່ລະບຸຊື່ແລະປອດໄພລະຫວ່າງເຄື່ອງອູປະກອນອູແກຣນແລະ Windows. ໃຊ້ແບບຟອມ ຄຳ ຄິດເຫັນດ້ານລຸ່ມເພື່ອແບ່ງປັນຄວາມຄິດໃດໆກັບພວກເຮົາ.