Инсталација и конфигурисање Самба сервиса на ЦентОС 7 и управљање корисницима
Кад је потребно да дељеним фајловима на Линукс системима треба да приступе Виндовс корисници обично се користи Самба сервис, који има поприлично добар систем за управљање корисницима али се не препоручује на јавним серверима већ искључиво на интранет локацијама у фирмама. У овом тексту ћемо инсталирати Самбу на ЦентОС 7 Линуксу, и исконфигурисати један дељени фолдер са пар корисника за приступ као и један дељени фолдер са могућношћу коришћења од стране корисника који немају никакав налог (такозвани Guest корисници)
# Инсталација потребних пакета за Самбу yum install samba samba-common mv /etc/samba/smb.conf /etc/samba/smb.conf.ORIGINAL # Правићемо овај фајл од 0 # Глобалне варијабле за Самба Сервер, само се једном постављају touch /etc/samba/smb.conf if [ `grep "[global]" /etc/samba/smb.conf | wc -l ` -eq 0 ] ; then echo "[global]" >> /etc/samba/smb.conf echo "workgroup = WORKGROUP" >> /etc/samba/smb.conf echo "server string = Razmena fajlova %v" >> /etc/samba/smb.conf echo "netbios name = centos" >> /etc/samba/smb.conf echo "security = user" >> /etc/samba/smb.conf echo "map to guest = bad user" >> /etc/samba/smb.conf echo "dns proxy = no" >> /etc/samba/smb.conf fi cat /etc/samba/smb.conf # Старт Самбе и старт приликом бутовања система systemctl restart smb.service systemctl restart nmb.service systemctl enable smb.service systemctl enable nmb.service # Ако користите firewalld омогућите приступ Самби firewall-cmd --permanent --zone=public --add-service=samba firewall-cmd --reload # Замену firewalld са iptablesom имате на овом линку, ако је потребно: # https://kompjuteras.com/kako-zameniti-firewalld-sa-iptables-om-na-centos-7/ # Ако користите iptables радите то на овај начин (само без коментара): # iptables -I INPUT -p tcp –dport 137 -j ACCEPT # iptables -I INPUT -p tcp –dport 138 -j ACCEPT # iptables -I INPUT -p tcp –dport 139 -j ACCEPT # iptables -I INPUT -p tcp –dport 445 -j ACCEPT # service iptables save # service iptables restart # Овим сте завршили core инсталације и остаје вам да подесите дељене фолдере # и приступе њима
Приступ Самби за два корисника али при том да сваки од тих корисника сме да мења и брише само своје фајлове, док ове друге може само да гледа (или прекопира код себе негде па мења) би се поставио на следећи начин. Користимо варијабле па ви поставите ваше…
##### SHARE ГДЕ КОРИСНИК МОЖЕ ДА МЕЊА САМО СВОЈЕ ФАЈЛОВЕ ########## FOLDER_ZA_SAMBA_FAJLOVE="/home/Samba/KorisnickiPodaci" #Пример SAMBA_KORISNIK=draza #Пример SAMBA_GRUPA=pristup_public #Пример NAZIV_SAMBA_SHAREA="Korisnicki Fajlovi" #Пример #################################################################### # Ова група ће имати права приступа том дељеном фолдеру groupadd ${SAMBA_GRUPA} echo "#============== Korisnicki Folderi ==============#" >> /etc/samba/smb.conf echo "#Korisnik moze da obrise/menja samo svoje fajlove" >> /etc/samba/smb.conf echo "[${NAZIV_SAMBA_SHAREA}]" >> /etc/samba/smb.conf echo "path = ${FOLDER_ZA_SAMBA_FAJLOVE}" >> /etc/samba/smb.conf echo "valid users = @${SAMBA_GRUPA}" >> /etc/samba/smb.conf echo "guest ok = no" >> /etc/samba/smb.conf echo "writable = yes" >> /etc/samba/smb.conf echo "browsable = yes" >> /etc/samba/smb.conf cat /etc/samba/smb.conf # Креирање првог корисника useradd -M -s /bin/false ${SAMBA_KORISNIK} usermod -a -G ${SAMBA_GRUPA} ${SAMBA_KORISNIK} smbpasswd -a ${SAMBA_KORISNIK} # Креирање потребних фолдера mkdir -p ${FOLDER_ZA_SAMBA_FAJLOVE} chown -R ${SAMBA_KORISNIK}:${SAMBA_GRUPA} ${FOLDER_ZA_SAMBA_FAJLOVE} chown nobody:${SAMBA_GRUPA} ${FOLDER_ZA_SAMBA_FAJLOVE} chmod 1075 ${FOLDER_ZA_SAMBA_FAJLOVE} chcon -t samba_share_t ${FOLDER_ZA_SAMBA_FAJLOVE} # Selinux - ако користите # Ако сваки корисник треба да има право да брише и фајлове других # корисника онда поставити ове пермисије: # chmod 0075 ${FOLDER_ZA_SAMBA_FAJLOVE} # Додавање другог Самба корисника SAMBA_NOVI_KORISNIK=peja SAMBA_GRUPA=${SAMBA_GRUPA} useradd -M -s /bin/false ${SAMBA_NOVI_KORISNIK} usermod -a -G ${SAMBA_GRUPA} ${SAMBA_NOVI_KORISNIK} smbpasswd -a ${SAMBA_NOVI_KORISNIK} # Самба рестарт systemctl restart smb.service systemctl restart nmb.service # Сад пробајте приступ из Виндовс експлорера са путањом: # \\ip_adresa_samba_servera\Korisnicki Fajlovi # За додавање још корисника поновите овај део (ДОДАВАЊЕ ДРУГОГ САМБА КОРИСНИКА) # са другим варијаблама наравно
Ако приступ Самба фолдеру треба да имају сви, без икакве аутентификације и било чега – што узгред речено није препоручљиво, „config“ би се састојао из следећих команди (поставите само ваше варијабле). У самом config-у имате закоментарисано и ако желите да Guest корисници не могу да бришу фајлове које су направили корисници који већ имају налог на том Самба Серверу и већ су се раније логовали.
##### SHARE ГДЕ СВАКО МОЖЕ ДА ПРИСТУПА БЕЗ ЛОГИН ПОДАТАКА ########## ######### ТАКОЗВАНИ ГУЕСТ ПРИСТУП (није препоручљиво) ############## FOLDER_ZA_JAVNE_SAMBA_FAJLOVE="/home/Samba/JavniFolder" # Пример NAZIV_SAMBA_SHAREA="Javni Folder" # Пример #################################################################### echo "#============== JAVNI FOLDER ==============#" >> /etc/samba/smb.conf echo "#Svi imaju read-write privilegije" >> /etc/samba/smb.conf echo "[${NAZIV_SAMBA_SHAREA}]" >> /etc/samba/smb.conf echo "path = ${FOLDER_ZA_JAVNE_SAMBA_FAJLOVE}" >> /etc/samba/smb.conf echo "browsable = yes" >> /etc/samba/smb.conf echo "writable = yes" >> /etc/samba/smb.conf echo "guest ok = yes" >> /etc/samba/smb.conf echo "read only = no" >> /etc/samba/smb.conf # Креирање потребних фолдера mkdir -p ${FOLDER_ZA_JAVNE_SAMBA_FAJLOVE} chmod -R 0777 ${FOLDER_ZA_JAVNE_SAMBA_FAJLOVE} # Ako bas svako treba da ima r+w chown -R nobody:nobody ${FOLDER_ZA_JAVNE_SAMBA_FAJLOVE} chcon -t samba_share_t ${FOLDER_ZA_JAVNE_SAMBA_FAJLOVE} # Ако Guest корисници могу да бришу и мењају само своје фајлове, не и фајлове # других Самба или Линукс корисника онда звизнути ове пермисије # chmod -R 1777 ${FOLDER_ZA_JAVNE_SAMBA_FAJLOVE} # Самба рестарт systemctl restart smb.service systemctl restart nmb.service # Пробајте из Виндовс експлорера: \\IP_ADRESA_SAMBA_SERVERA\Javni Folder
Манипулисање Самба корисницима би било на нивоу Линукс пермисија (ко сме а ко не да шта ту дира) али што се тиче самих Самба корисника на ЦентОС 7 би брисање корисника или преглед ишао кроз команде…
# Листинг свих Самба корисника на серверу pdbedit -L -v # Брисање Самба корисника, у овом случају корисника draza pdbedit -x draza userdel draza