{"id":1480,"date":"2017-07-24T15:46:03","date_gmt":"2017-07-24T13:46:03","guid":{"rendered":"http:\/\/miroslaw.borodziuk.eu\/?p=1480"},"modified":"2017-07-28T15:18:02","modified_gmt":"2017-07-28T13:18:02","slug":"serwer-plikow-samba","status":"publish","type":"post","link":"http:\/\/miro.borodziuk.eu\/index.php\/2017\/07\/24\/serwer-plikow-samba\/","title":{"rendered":"Serwer plik\u00f3w Samba"},"content":{"rendered":"<p>Samba to protok\u00f3\u0142 sieciowy, kt\u00f3ry pozwala systemom Linux i Unix na wsp\u00f3\u0142dzielenie zasob\u00f3w dyskowych i drukarek z systemami Windows i innymi systemami Linux (Unix). Server Message Block (SMB) znany r\u00f3wnie\u017c jako Common Internet File System (CIFS) to protok\u00f3\u0142 sieciowy stworzony przez Microsoft, IBM i Intel w latach 80-tych. Protok\u00f3\u0142 u\u017cywany jest przez systemy Windows jako podstawowy, natywny protok\u00f3\u0142 wymiany plik\u00f3w i udost\u0119pniania drukarek.<\/p>\n<p><!--more--><\/p>\n<p>Korzy\u015bci z u\u017cywania Samby:<\/p>\n<ul>\n<li>zasoby samba dost\u0119pne s\u0105 zar\u00f3wno dla system\u00f3w Windows jak i system\u00f3w Linux oraz Unix;<\/li>\n<li>zasoby windows mog\u0119 by\u0107 dost\u0119pne i montowane pod systemem Linux;<\/li>\n<li>domeny Linuksowe i Windowsowe mog\u0105 by\u0107 stosowane zamiennie do identyfikacji i autoryzacji;<\/li>\n<\/ul>\n<p>Serwer Samba mo\u017ce:<\/p>\n<ul>\n<li>dzia\u0142a\u0107 jako serwer wydruku dla system\u00f3w Windows;<\/li>\n<li>by\u0107 skonfigurowany jako podstawowy kontroler domeny (Primary Domain Controller) i jako zapasowy kontroler domeny (Backup Domain Controller);<\/li>\n<li>by\u0107 ustawiony jako cz\u0142onek Active Directory w sieci Windowsowej;<\/li>\n<li>dostarcza\u0107 nazewnictwo WINS (Windows Internet Name Service).<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Komendy zwi\u0105zane z zarz\u0105dzaniem serwerem Samba przedstawia tabela poni\u017cej.<\/p>\n<table style=\"width: 722.833px;\">\n<tbody>\n<tr>\n<td style=\"width: 90px;\"><span style=\"color: #808080;\">Komenda<\/span><\/td>\n<td style=\"width: 613.833px;\"><span style=\"color: #808080;\">Opis<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 90px;\"><span style=\"color: #008000;\"><code>smbclient<\/code><\/span><\/td>\n<td style=\"width: 613.833px;\">Klient zasob\u00f3w dyskowych samby.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 90px;\"><span style=\"color: #008000;\"><code>smbpasswd<\/code><\/span><\/td>\n<td style=\"width: 613.833px;\">Dodaje u\u017cytkownik\u00f3w (parametr <em>-a<\/em>) i zmienia has\u0142o do Samby.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 90px;\"><span style=\"color: #008000;\"><code>testparm<\/code><\/span><\/td>\n<td style=\"width: 613.833px;\">Sprawdza sk\u0142adni\u0119 pliku <em>smb.conf<\/em>.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 90px;\"><span style=\"color: #008000;\"><code>pbedit<\/code><\/span><\/td>\n<td style=\"width: 613.833px;\">Zarz\u0105dza baz\u0105 lokalnych u\u017cytkownik\u00f3w w pliku <em>\/var\/lib\/samba\/private\/smbpasswd<\/em>.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 90px;\"><span style=\"color: #008000;\"><code>mount<\/code><\/span><\/td>\n<td style=\"width: 613.833px;\">Pod\u0142\u0105cza zasoby Samby wskazane z linii polece\u0144 lub w pliku<em> \/etc\/fstab<\/em>.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 90px;\"><span style=\"color: #008000;\"><code>umount<\/code><\/span><\/td>\n<td style=\"width: 613.833px;\">\u00a0Od\u0142\u0105cza zasoby Samby.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 90px;\"><span style=\"color: #008000;\"><code>mount.cifs<\/code><\/span><\/td>\n<td style=\"width: 613.833px;\">\u00a0Pod\u0142\u0105cza zasoby Samby.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>Pliki zwi\u0105zane z pakietem Samba przedstawia tabela poni\u017cej.<\/p>\n<table style=\"width: 721px;\">\n<tbody>\n<tr>\n<td style=\"width: 172.233px;\"><span style=\"color: #808080;\">Plik<\/span><\/td>\n<td style=\"width: 532.967px;\"><span style=\"color: #808080;\">Opis<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 172.233px;\"><span style=\"color: #008000;\"><code>\/etc\/samba\/smb.conf<\/code><\/span><\/td>\n<td style=\"width: 532.967px;\">Plik konfiguracyjny Samby.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 172.233px;\"><span style=\"color: #008000;\"><code> \/etc\/samba\/smbusers<\/code><\/span><\/td>\n<td style=\"width: 532.967px;\">Utrzymuje mapowanie pomi\u0119dzy u\u017cytkownikami Samby a u\u017cytkownikami systemu.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 172.233px;\"><span style=\"color: #008000;\"><code> \/etc\/sysconfig\/samba<\/code><\/span><\/td>\n<td style=\"width: 532.967px;\">Zawiera dyrektywy u\u017cywane podczas startu Samby.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 172.233px;\"><span style=\"color: #008000;\"><code> \/var\/lib\/samba\/private\/smbpasswd <\/code><\/span><\/td>\n<td style=\"width: 532.967px;\">Zawiera has\u0142a u\u017cytkownik\u00f3w Samby. Has\u0142a mog\u0105 by\u0107 inne od hase\u0142\u00a0 u\u017cytkownik\u00f3w systemu.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 172.233px;\"><span style=\"color: #008000;\"><code> \/var\/log\/samba<\/code><\/span><\/td>\n<td style=\"width: 532.967px;\">Logi Samby.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>Dyrektywy zwi\u0105zane z plikiem konfiguracyjnym<em> smb.conf<\/em> przedstawia tabela jak ni\u017cej.<\/p>\n<table style=\"width: 722px;\">\n<tbody>\n<tr>\n<td style=\"width: 138.6px;\"><span style=\"color: #808080;\">Dyrektywa<\/span><\/td>\n<td style=\"width: 565.4px;\"><span style=\"color: #808080;\">Ustawienia globalne<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 704px; text-align: center;\" colspan=\"2\"><span style=\"color: #808080;\">opcje sieciowe<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><code><span style=\"color: #008000;\">workgroup<\/span><\/code><\/td>\n<td style=\"width: 565.4px;\">Nazwa grupy roboczej, do kt\u00f3rej nale\u017cy serwer.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><code><span style=\"color: #008000;\">server string<\/span><\/code><\/td>\n<td style=\"width: 565.4px;\">Opis identyfikuj\u0105cy serwer Samba.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><code><span style=\"color: #008000;\">netbios name<\/span><\/code><\/td>\n<td style=\"width: 565.4px;\">Nazwa serwera Samba.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><code><span style=\"color: #008000;\">interfaces<\/span><\/code><\/td>\n<td style=\"width: 565.4px;\">Okre\u015bla nazw\u0119 interfejsu sieciowego, na kt\u00f3rym ma nas\u0142uchiwa\u0107 serwer.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><code><span style=\"color: #008000;\">host allow\/deny<\/span><\/code><\/td>\n<td style=\"width: 565.4px;\">Zezwala\/zabrania na dost\u0119p do us\u0142ug z okre\u015blonych podsieci lub domen.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 704px; text-align: center;\" colspan=\"2\"><span style=\"color: #808080;\">opcje logowania<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><code><span style=\"color: #008000;\">log file<\/span><\/code><\/td>\n<td style=\"width: 565.4px;\">Okre\u015bla osobny plik z logiem w katalogu \/var\/log\/samba dla ka\u017cdego klienta, kt\u00f3ry korzysta z Samby.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><code><span style=\"color: #008000;\">max log size<\/span><\/code><\/td>\n<td style=\"width: 565.4px;\">\u00a0Maksymalny rozmiar pliku log w KB, po kt\u00f3rym plik b\u0119dzie rotowany. Domy\u015blny rozmiar to 50KB. 0 wy\u0142\u0105cza rotowanie log\u00f3w.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 704px; text-align: center;\" colspan=\"2\"><span style=\"color: #808080;\">opcje serwera<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><code><span style=\"color: #008000;\">security<\/span><\/code><\/td>\n<td style=\"width: 565.4px;\">Mo\u017cliwe opcje:<\/p>\n<ul>\n<li>user &#8211; domy\u015blna identyfikacja w oparciu o nazw\u0119 u\u017cytkownika i has\u0142o<\/li>\n<li>ads &#8211; przeprowadza identyfikacj\u0119 w oparciu o serwer Active Directory<\/li>\n<li>domain &#8211; identyfikacja w oparciu o kontroler domeny<\/li>\n<li>server &#8211; identyfikacja w oparciu o serwer<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><code><span style=\"color: #008000;\">passdb backend<\/span><\/code><\/td>\n<td style=\"width: 565.4px;\">Okre\u015bla backend s\u0142u\u017c\u0105cy do sk\u0142adowania informacji o u\u017cytkownikach i grupach:<\/p>\n<ul>\n<li>tdbsam (Trivial Database Security Accounts Manager) &#8211; domy\u015blne, prosta lokalna baza w katalogu \/var\/lib\/samba.<\/li>\n<li>smbpasswd &#8211; u\u017cywa pliku<code>  \/var\/lib\/samba\/private\/smbpasswd<\/code><\/li>\n<li>ldapsam (LDAP Security Accounts Manager) &#8211; zdalna baza LDAP<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 704px; text-align: center;\" colspan=\"2\"><span style=\"color: #808080;\">\u00a0 definicje zasob\u00f3w<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><span style=\"color: #008000;\"><code>comment<\/code><\/span><\/td>\n<td style=\"width: 565.4px;\">Kr\u00f3tki opis zasobu.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><span style=\"color: #008000;\"><code>browseable<\/code><\/span><\/td>\n<td style=\"width: 565.4px;\">Zezwala\/zabrania klientom na przegl\u0105danie listy zasob\u00f3w.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><span style=\"color: #008000;\"><code>writable<\/code><\/span><\/td>\n<td style=\"width: 565.4px;\">Okre\u015bla czy dany zas\u00f3b mo\u017ce by\u0107 zapisywalny. Dyrektywa przeciwna &#8220;read only&#8221;.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><span style=\"color: #008000;\"><code>valid users<\/code><\/span><\/td>\n<td style=\"width: 565.4px;\">Lista u\u017cytkownik\u00f3w lub grup (nazwa grupy poprzedzona jest znakiem @), kt\u00f3rzy maj\u0105 prawo dost\u0119pu do zasobu. Je\u017celi dyrektywy nie b\u0119dzie lub b\u0119dzie pusta, wszyscy u\u017cytkownicy b\u0119d\u0105 mieli dost\u0119p do danego zasobu.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><span style=\"color: #008000;\"><code>path<\/code><\/span><\/td>\n<td style=\"width: 565.4px;\">\u015acie\u017cka do udost\u0119pnianego zasobu.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><span style=\"color: #008000;\"><code>guest ok<\/code><\/span><\/td>\n<td style=\"width: 565.4px;\">Zezwala na dost\u0119p do zasobu bez podawania has\u0142a.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><span style=\"color: #008000;\"><code>public<\/code><\/span><\/td>\n<td style=\"width: 565.4px;\">Dyrektywa to\u017csama z &#8220;guest ok&#8221;. Zezwala na dost\u0119p (odczyt) do zasobu wszystkim u\u017cytkownikom.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><span style=\"color: #008000;\"><code>write list<\/code><\/span><\/td>\n<td style=\"width: 565.4px;\">Lista u\u017cytkownik\u00f3w i grup, kt\u00f3rzy maj\u0105 prawo zapisywania do zasobu. Dyrektywa dzia\u0142a nawet gdy w\u0142\u0105czona jest dyrektywa &#8220;read only&#8221;.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><span style=\"color: #008000;\"><code>guest only<\/code><\/span><\/td>\n<td style=\"width: 565.4px;\">Tylko go\u015bcie maj\u0105 dost\u0119p do zasobu.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><span style=\"color: #008000;\"><code>force group<\/code><\/span><\/td>\n<td style=\"width: 565.4px;\">Okre\u015bla grup\u0119 systemow\u0105, kt\u00f3ra ustawiana jest jako domy\u015blna grupa na nowo tworzonych plikach i katalogach w zasobie.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 138.6px;\"><span style=\"color: #008000;\"><code>create mask<\/code><\/span><\/td>\n<td style=\"width: 565.4px;\">Okre\u015bla jaki umask ma by\u0107 ustawiony dla plik\u00f3w tworzonych w zasobie.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Wi\u0119cej dyrektyw w <span style=\"color: #ff0000;\">man smb.conf<\/span>.<\/p>\n<p>&nbsp;<\/p>\n<p>Pakiety <em>yum<\/em> zwi\u0105zane z serwerem Samba opisuje tabela jak ni\u017cej.<\/p>\n<table style=\"width: 722px;\">\n<tbody>\n<tr>\n<td style=\"width: 132.933px;\"><span style=\"color: #808080;\">Pakiet<\/span><\/td>\n<td style=\"width: 572.067px;\"><span style=\"color: #808080;\">Opis<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 132.933px;\"><em>samba<\/em><\/td>\n<td style=\"width: 572.067px;\">Pakiet z serwerem Samba.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 132.933px;\"><em>samba-client<\/em><\/td>\n<td style=\"width: 572.067px;\">Zawiera narz\u0119dzia do przeprowadzania r\u00f3\u017cnych operacji zwi\u0105zanych z serwerem i klientem.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 132.933px;\"><em>samba-common<\/em><\/td>\n<td style=\"width: 572.067px;\">Dostarcza dokumentacj\u0119 man, komendy i pliki konfiguracyjne.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 132.933px;\"><em>samba-libs<\/em><\/td>\n<td style=\"width: 572.067px;\">Biblioteki u\u017cywane przez serwer i klienta.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 132.933px;\"><em>cifs-utils<\/em><\/td>\n<td style=\"width: 572.067px;\">Narz\u0119dzia klienckie do montowania i zarz\u0105dzania zasobami CIFS.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #3366ff;\">Wymagania SELinux zwi\u0105zane z serwerem plik\u00f3w Samba.<\/span><\/p>\n<p>Katalog, kt\u00f3ry ma by\u0107 udost\u0119pniony przez Samb\u0119 musi mie\u0107 ustawiony kontekst<em> samba_share_t. <\/em>Je\u017celi dany katalog ma by\u0107 udost\u0119pniony r\u00f3wnie\u017c przez inne serwery us\u0142ug (NFS lub FTP) to powinien mie\u0107 on dodatkowo ustawiony kontekst <em>public_content_ro_t<\/em> (tylko odczyt) lub <em>public_content_rw_t<\/em> (odczyt\/zapis).<\/p>\n<p>Polityka SELinux zawiera ponadto wiele zmiennych boolean zwi\u0105zanych z Samb\u0105:<\/p>\n<pre class=\"lang:sh decode:true\"># getsebool \u2013a | egrep \u2018samba|smb|cifs\u2019\r\ncobbler_use_cifs --&gt; off\r\nftpd_use_cifs --&gt; off\r\ngit_cgi_use_cifs --&gt; off\r\ngit_system_use_cifs --&gt; off\r\nhttpd_use_cifs --&gt; off\r\nksmtuned_use_cifs --&gt; off\r\nmpd_use_cifs --&gt; off\r\npolipo_use_cifs --&gt; off\r\nsamba_create_home_dirs --&gt; off\r\nsamba_domain_controller --&gt; off\r\nsamba_enable_home_dirs --&gt; off\r\nsamba_export_all_ro --&gt; off\r\nsamba_export_all_rw --&gt; off\r\nsamba_portmapper --&gt; off\r\nsamba_run_unconfined --&gt; off\r\nsamba_share_fusefs --&gt; off\r\nsamba_share_nfs --&gt; off\r\nsanlock_use_samba --&gt; off\r\nsmbd_anon_write --&gt; off\r\nuse_samba_home_dirs --&gt; off\r\nvirt_sandbox_use_samba --&gt; off\r\nvirt_use_samba --&gt; off<\/pre>\n<table style=\"width: 719px;\">\n<tbody>\n<tr>\n<td style=\"width: 181.75px;\"><span style=\"color: #808080;\">Zmmienna boolean<\/span><\/td>\n<td style=\"width: 520.25px;\"><span style=\"color: #808080;\">Przeznaczenie<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 181.75px;\"><span style=\"color: #008000;\"><code> ftpd_use_cifs<\/code><\/span><\/td>\n<td style=\"width: 520.25px;\">Zezwala\/zabrania podmontowanemu zasobowi Samby by\u0107 u\u017cywanym jako publiczny zas\u00f3b FTP.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 181.75px;\"><span style=\"color: #008000;\"><code> httpd_use_cifs<\/code><\/span><\/td>\n<td style=\"width: 520.25px;\">Zezwala\/zabrania podmontowanemu zasobowi Samby by\u0107 u\u017cywanym przez Apache.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 181.75px;\"><span style=\"color: #008000;\"><code> samba_create_home_dirs<\/code><\/span><\/td>\n<td style=\"width: 520.25px;\">Zezwala\/zabrania Sambie na tworzenie katalog\u00f3w domowych.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 181.75px;\"><span style=\"color: #008000;\"><code> samba_enable_home_dirs<\/code><\/span><\/td>\n<td style=\"width: 520.25px;\">Zezwala\/zabrania Sambie na udost\u0119pnianie katalog\u00f3w domowych.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 181.75px;\"><span style=\"color: #008000;\"><code> samba_export_all_ro<\/code><\/span><\/td>\n<td style=\"width: 520.25px;\">Zezwala\/zabrania Sambie na udost\u0119pnianie zasob\u00f3w tylko w trybie read only.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 181.75px;\"><span style=\"color: #008000;\"><code> samba_export_all_rw<\/code><\/span><\/td>\n<td style=\"width: 520.25px;\">Zezwala\/zabrania Sambie na udost\u0119pnianie zasob\u00f3w w trybie read i write.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 181.75px;\"><span style=\"color: #008000;\"><code> smbd_anon_write<\/code><\/span><\/td>\n<td style=\"width: 520.25px;\">Zezwala\/zabrania Sambie na zapisywanie w katalogach z kontekstem public_content_rw.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 181.75px;\"><span style=\"color: #008000;\"><code> use_samba_home_dirs<\/code><\/span><\/td>\n<td style=\"width: 520.25px;\">\u00a0Zezwala\/zabrania klientom Samby na montowanie katalog\u00f3w domowych.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #3366ff;\">Montowanie zasob\u00f3w w trybie multiuser.<\/span><\/p>\n<p>Dobrym zwyczajem jest montowanie zasob\u00f3w samby z minimalnymi uprawnieniami dla wszystkich u\u017cytkownik\u00f3w. Dost\u0119p\u00a0 do zapisu powinien by\u0107 mo\u017cliwy tylko dla wybranych u\u017cytkownik\u00f3w po wpisaniu dodatkowego has\u0142a. Takie rozwi\u0105zanie umo\u017cliwia tryb <em>multiuser<\/em>.\u00a0 Wprowadzenie has\u0142a dla konkretnego u\u017cytkownika umo\u017cliwia komenda <em>cifscreds<\/em>:<\/p>\n<pre class=\"lang:sh decode:true\"># su user \r\n$ cifscreds add server1<\/pre>\n<p>lub<\/p>\n<pre class=\"lang:sh decode:true \"># cifscreds -u user add server1<\/pre>\n<p>gdzie server1 to serwer plik\u00f3w Samba.<\/p>\n<p>Opcje komendy <em>cifscreds<\/em> przedstawia tabela jak ni\u017cej.<\/p>\n<table style=\"width: 722px;\">\n<tbody>\n<tr>\n<td style=\"width: 86.9333px;\"><span style=\"color: #808080;\">Opcja<\/span><\/td>\n<td style=\"width: 618.067px;\"><span style=\"color: #808080;\">Opis<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 86.9333px;\"><span style=\"color: #008000;\">add<\/span><\/td>\n<td style=\"width: 618.067px;\">Dodanie danych logowania do zasob\u00f3w Samby dla sesji aktualnie zalogowanego u\u017cytkownika.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 86.9333px;\"><span style=\"color: #008000;\">update<\/span><\/td>\n<td style=\"width: 618.067px;\">Aktualizacja danych logowania.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 86.9333px;\"><span style=\"color: #008000;\">clear<\/span><\/td>\n<td style=\"width: 618.067px;\">Usuwa dane logowania zwi\u0105zane z sesj\u0105 aktualnie zalogowanego u\u017cytkownika.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 86.9333px;\"><span style=\"color: #008000;\">clearall<\/span><\/td>\n<td style=\"width: 618.067px;\">Usuwa wszystkie dane logowania.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>\u0106wiczenie 1. Udost\u0119pnianie zasob\u00f3w Samby.<\/p>\n<p>1. Instalacja serwera i klienta Samby.<\/p>\n<pre class=\"lang:sh decode:true \"># yum \u2013y install samba samba-client\r\nPackage samba-4.1.1-31.el7.x86_64 already installed and latest version\r\nPackage samba-client-4.1.1-31.el7.x86_64 already installed and latest version\r\nNothing to do<\/pre>\n<p>2. Utworzenie katalogu \/smbrhcsa:<\/p>\n<pre class=\"lang:sh decode:true \"># mkdir \/smbrhcsa<\/pre>\n<p>3. Aktywacja zmiennych SELinux boolean aby udost\u0119pni\u0107 zasoby w trybie odczyt oraz odczyt\/zapis a tak\u017ce aby pozwoli\u0107 Sambie i NFS na udost\u0119pnienie katalogu \/common.<\/p>\n<pre class=\"lang:sh decode:true \"># setsebool \u2013P samba_export_all_ro=1 samba_export_all_rw=1 samba_share_nfs=1\r\n# getsebool \u2013a | egrep \u2018samba_export|samba_share_nfs\u2019\r\nsamba_export_all_ro --&gt; on\r\nsamba_export_all_rw --&gt; on\r\nsamba_share_nfs --&gt; on<\/pre>\n<p>4. Dodanie kontekstu SELinux public_content_rw_t dla katalogu \/common i kontekstu samba_share_t\u00a0 dla katalogu \/smbrhcsa:<\/p>\n<pre class=\"lang:sh decode:true\"># semanage fcontext \u2013at public_content_rw_t \u201c\/common(\/.*)?\u201d\r\n# semanage fcontext \u2013at samba_share_t \u201c\/smbrhcsa(\/.*)?\u201d\r\n# restorecon \/common \/smbrhcsa\r\n# ll \u2013Zd \/common \/smbrhcsa\r\ndrwxr-xr-x. root root unconfined_u:object_r:public_content_rw_t:s0 \/common\r\ndrwxr-xr-x. root root unconfined_u:object_r:samba_share_t:s0 \/smbrhcsa<\/pre>\n<p>5. Dodanie Samby do firewalla:<\/p>\n<pre class=\"lang:sh decode:true \"># firewall-cmd --permanent --add-service=samba; firewall-cmd --reload\r\nsuccess\r\nsuccess<\/pre>\n<p>6. Utworzenie pliku smb.conf:<\/p>\n<pre class=\"lang:sh decode:true\"># vim \/etc\/samba\/smb.conf\r\n\r\n[global]\r\nworkgroup = EXAMPLE\r\nserver string = server1 is the Samba Server Sharing \/common and \/smbrhcsa\r\ninterfaces = lo, eth0, 192.168.0.\r\npassdb backend = smbpasswd\r\nlog file = \/var\/log\/samba\/%m.log\r\nidmap config * : backend = tdb\r\nhosts allow = 127., 192.168.0., .example.com\r\n\r\n[common]\r\ncomment = \/common directory available to user10\r\npath = \/common\r\nvalid users = user10\r\nwrite list = user10\r\nread only = No\r\nguest ok = Yes\r\nhosts deny = 192.168.2.0\/24\r\n\r\n[smbrhcsa]\r\ncomment = \/smbrhcsa directory available to user1\r\npath = \/smbrhcsa\r\nvalid users = user1\r\nwrite list = user1\r\nread only = Yes\r\nguest ok = Yes<\/pre>\n<p>7. Sprawdzenie poprawno\u015bci pliku konfiguracyjnego :<\/p>\n<pre class=\"lang:sh decode:true\"># testparm\r\nLoad smb config files from \/etc\/samba\/smb.conf\r\nrlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)\r\nProcessing section \"[common]\"\r\nProcessing section \"[smbrhcsa]\"\r\nLoaded services file OK.\r\nServer role: ROLE_STANDALONE\r\nPress enter to see a dump of your service definitions<\/pre>\n<p>8. Utworzenie konta u\u017cytkownika user10 z has\u0142em user123:<\/p>\n<pre class=\"lang:sh decode:true \"># useradd user10\r\n# echo user123 | passwd --stdin user10<\/pre>\n<p>9. Dodanie u\u017cytkownika (\u2013a) user10 do bazy u\u017cytkownik\u00f3w Samby \/var\/lib\/samba\/private\/smbpasswd:<\/p>\n<pre class=\"lang:sh decode:true\"># smbpasswd \u2013a user10\r\nNew SMB password:\r\nRetype new SMB password:\r\nstartsmbfilepwent_internal: file \/var\/lib\/samba\/private\/smbpasswd did not exist. File successfully created.\r\nAdded user user10.\r\n\r\n# cat \/var\/lib\/samba\/private\/smbpasswd\r\nuser10:2003:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:EACB2C6A3AAA4ED476ED2741BE8C7A4E:[U ]:LCT-\r\n54CAD791:<\/pre>\n<p>10. Wy\u015bwietlenie (\u2013L) informacji o u\u017cytkownikach samby:<\/p>\n<pre class=\"lang:sh decode:true \"># pdbedit -Lv<\/pre>\n<p>11. Dodanie Samby do autostartu, uruchomienie i sprawdzenie statusu:<\/p>\n<pre class=\"lang:sh decode:true \"># systemctl enable smb\r\n# systemctl start smb\r\n# systemctl status smb<\/pre>\n<p>12. Wylistowanie zasob\u00f3w (\u2013L) Samby dost\u0119pnych na serwerze jako user10 (\u2013U):<\/p>\n<pre class=\"lang:sh decode:true \"># smbclient -L \/\/localhost -U user10<\/pre>\n<p>&nbsp;<\/p>\n<p>\u0106wiczenie 2. Montowanie zasob\u00f3w serwera plik\u00f3w na kliencie.<\/p>\n<p>1. Instalacja klienta Samby:<\/p>\n<pre class=\"lang:sh decode:true \"># yum \u2013y install samba-client cifs-utils\r\nPackage samba-client-4.1.1-31.el7.x86_64 already installed and latest version\r\nPackage cifs-utils-6.2-6.el7.x86_64 already installed and latest version\r\nNothing to do<\/pre>\n<p>2. Utworzenie u\u017cytkownika user10, zwracamy uwag\u0119 na to aby by\u0142y te same UID\/GID co na serwerze dla tego u\u017cytkownika:<\/p>\n<pre class=\"lang:sh decode:true \"># useradd user10\r\n# echo user123 | passwd --stdin user10<\/pre>\n<p>3. Listujemy (\u2013L) jakie zasoby s\u0105 dost\u0119pne na serwerze server1 dla u\u017cytkownika user10:<\/p>\n<pre class=\"lang:sh decode:true \"># smbclient -L \/server\/common -U user10<\/pre>\n<p>4. Logowanie do zasobu \/common share jako user10:<\/p>\n<pre class=\"lang:sh decode:true \"># smbclient \/\/server1\/common \u2013U user10\r\nEnter user10's password:\r\nDomain=[EXAMPLE] OS=[Unix] Server=[Samba 4.1.1]\r\nsmb: \\&gt;\r\nThe connection is successfully established with the \/common share. You can run the help\r\nsubcommand to list available commands, use ls to list files in the share, use get\/mget and put\/mput to\r\ntransfer one or more files, and so on. Issue exit when done to disconnect.<\/pre>\n<p>5. Utworzenie punktu montowania \/smbrhcemnt:<\/p>\n<pre class=\"lang:sh decode:true \"># mkdir \/smbrhcemnt<\/pre>\n<p>6. Podmontowanie zasobu \/common do katalogu \/smbrhcemnt jako user10:<\/p>\n<pre class=\"lang:sh decode:true \"># mount \/\/server1\/common \/smbrhcemnt \u2013o username=user10\r\nPassword for user10@\/\/server1\/common: *******<\/pre>\n<p>7. Sprawdzamy czy zas\u00f3b zosta\u0142 podmontowany:<\/p>\n<pre class=\"lang:sh decode:true\"># df \u2013h | grep smbrhcemnt\r\n\/\/server1\/common 8.8G 3.4G 5.4G 39% \/smbrhcemnt\r\n\r\n# mount | grep smbrhcemnt\r\n\/\/server1\/common on \/smbrhcemnt type cifs\r\n(rw,relatime,vers=1.0,cache=strict,username=user10,domain=SERVER1,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.0.110,unix,posixpaths,serverino,acl,rsize=1048576,wsize=65536,actimeo=1)<\/pre>\n<p>8. Utworzenie pliku z danymi logowania<em> \/etc\/samba\/smbrhcecred<\/em>:<\/p>\n<pre class=\"lang:sh decode:true \"># vi \/etc\/samba\/smbrhcecred\r\nusername=user10\r\npassword=user123<\/pre>\n<p>9. Ustawienie praw dost\u0119pu do pliku na 0400:<\/p>\n<pre class=\"lang:sh decode:true \"># chown root \/etc\/samba\/smbrhcecred &amp;&amp; chmod 0400 \/etc\/samba\/smbrhcecred<\/pre>\n<p>10. Dodanie stosownego wpisu do<em> \/etc\/fstab<\/em>:<\/p>\n<pre class=\"lang:sh decode:true\">\/\/server1\/common \/smbrhcemnt cifs _netdev,rw,credentials=\/etc\/samba\/smbrhcecred 0 0<\/pre>\n<p>&nbsp;<\/p>\n<p>\u0106wiczenie 3. Udost\u0119pnienie przez Samb\u0119 katalogu do pracy grupowej.<\/p>\n<p>Konfiguracja po stronie serwera.<\/p>\n<p>1. Instalacja Samby i klienta Samby:<\/p>\n<pre class=\"lang:sh decode:true \"># install samba samba-client<\/pre>\n<p>2. Utworzenie u\u017cytkownik\u00f3w user11 and user12 :<\/p>\n<pre class=\"lang:sh decode:true \"># useradd user11 &amp;&amp; passwd user11\r\n# useradd user12 &amp;&amp; passwd user12<\/pre>\n<p>3. Dodanie grupy smbgrp z GID 8888:<\/p>\n<pre class=\"lang:sh decode:true \"># groupadd \u2013g 8888 smbgrp<\/pre>\n<p>4. Dodanie u\u017cytkownik\u00f3w user11 i user12 do grupy smbgrp:<\/p>\n<pre class=\"lang:sh decode:true \"># usermod \u2013G smbgrp user11\r\n# usermod \u2013G smbgrp user12<\/pre>\n<p>5. Utworzenie katalogu \/smbsdata, zmiana grupy i nadanie odpowiednich uprawnie\u0144 do katalogu:<\/p>\n<pre class=\"lang:sh decode:true \"># mkdir \/smbsdata\r\n# chgrp smbgrp \/smbsdata\r\n# chmod 0770 \/smbsdata<\/pre>\n<p>6. Aktywacja zmiennych SELinux booleans tak aby zasoby dost\u0119pne by\u0142y w trybach odczyt oraz odczyt\/zapis:<\/p>\n<pre class=\"lang:sh decode:true \"># setsebool -P samba_export_all_ro=1 samba_export_all_rw=1<\/pre>\n<p>7. Dodanie kontekstu SELinux samba_share_t dla katalogu \/smbsdata:<\/p>\n<pre class=\"lang:sh decode:true \"># semanage fcontext \u2013at samba_share_t \u201c\/smbsdata(\/.*)?\u201d\r\n# restorecon \/smbsdata\r\n# ll \u2013Zd \/smbsdata\r\ndrw-rw----. root smbgrp unconfined_u:object_r:samba_share_t:s0 \/smbsdata<\/pre>\n<p>8. Dodanie Samby do firewalla:<\/p>\n<pre class=\"lang:sh decode:true\"># firewall-cmd --permanent --add-service=samba;  firewall-cmd --reload<\/pre>\n<p>9. Zas\u00f3b smbdata w pliku \/etc\/samba\/smb.conf wygl\u0105da nast\u0119puj\u0105co:<\/p>\n<pre class=\"lang:sh decode:true \">[smbdata]\r\ncomment = \/smbdata for group collaboration\r\npath = \/smbdata\r\npublic = no\r\nbrowseable = yes\r\nvalid users = @smbgroup\r\nwrite list =  @smbgroup\r\nwritable = no\r\nforce group = +smbgrp\r\ncreate mask = 0770<\/pre>\n<p>10. Sprawdzenie poprawno\u015bci pliku <em>smb.conf<\/em>:<\/p>\n<pre class=\"lang:sh decode:true \"># testparm<\/pre>\n<p>11. Dodanie u\u017cytkownik\u00f3w user11 i user12 do bazy u\u017cytkownik\u00f3w Samby \/var\/lib\/samba\/private\/smbpasswd:<\/p>\n<pre class=\"lang:sh decode:true \"># smbpasswd \u2013a user11\r\n# smbpasswd \u2013a user12<\/pre>\n<p>12. Wy\u015bwietlenie informacji o u\u017cytkownikach Samby:<\/p>\n<pre class=\"lang:sh decode:true\"># pdbedit \u2013Lv<\/pre>\n<p>13. Autostart, uruchomienie i sprawdzenie statusu Samby:<\/p>\n<pre class=\"lang:sh decode:true \"># systemctl enable smb\r\n# systemctl start smb\r\n# systemctl status smb<\/pre>\n<p>&nbsp;<\/p>\n<p>Konfiguracja po stronie klienta.<\/p>\n<p>14. Instalacja pakiet\u00f3w potrzebnych po stronie klienta:<\/p>\n<pre class=\"lang:sh decode:true\"># yum -y install samba samba-client cifs-utils<\/pre>\n<p>15. Utworzenie u\u017cytkownik\u00f3w user11 and user12 :<\/p>\n<pre class=\"lang:sh decode:true \"># useradd user11 &amp;&amp; passwd user11\r\n# useradd user12 &amp;&amp; passwd user12<\/pre>\n<p>16. Dodanie grupy smbgrp z GID 8888:<\/p>\n<pre class=\"lang:sh decode:true \"># groupadd \u2013g 8888 smbgrp<\/pre>\n<p>17. Dodanie u\u017cytkownik\u00f3w user11 i user12 do grupy smbgrp:<\/p>\n<pre class=\"lang:sh decode:true \"># usermod \u2013G smbgrp user11\r\n# usermod \u2013G smbgrp user12<\/pre>\n<p>18. Wylistowanie (\u2013L) zasob\u00f3w dost\u0119pnych na serwerze server1:<\/p>\n<pre class=\"lang:sh decode:true \"># smbclient -L \/\/server1 -U user11<\/pre>\n<p>19. Zalogowanie na zas\u00f3b \/smbsdata jako user11 przy u\u017cyciu smbclient:<\/p>\n<pre class=\"lang:sh decode:true \"># smbclient \/\/server1\/smbsdata \u2013U user11\r\nEnter user11's password:\r\nDomain=[EXAMPLE] OS=[Unix] Server=[Samba 4.1.1]\r\nsmb: \\&gt;<\/pre>\n<p>20. Utworzenie pktu montowania \/smbsdatamnt:<\/p>\n<pre class=\"lang:sh decode:true \"># mkdir \/smbsdatamnt<\/pre>\n<p>21. Zamontowanie zasobu \/smbsdata w pkcie montowania \/smbsdatamnt jako user11:<\/p>\n<pre class=\"lang:sh decode:true \"># mount \/\/server1\/smbsdata \/smbsdatamnt \u2013o username=user11\r\nPassword for user11@\/\/server1\/smbsdata: *******<\/pre>\n<p>22. Weryfikacja:<\/p>\n<pre class=\"lang:sh decode:true\"># df \u2013h | grep smbsdata\r\n\/\/server1\/smbsdata 8.8G 3.4G 5.4G 39% \/smbsdatamnt\r\n# mount | grep smbsdata\r\n\/\/server1\/smbsdata on \/smbsdatamnt type cifs\r\n(rw,relatime,vers=1.0,cache=strict,username=user11,domain=SERVER1,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.0.110,unix,posixpaths,serverino,acl,rsize=1048576,wsize=65536,actimeo=1)<\/pre>\n<p>23. Utworzenie pliku \/etc\/samba\/smbsdatacred z danymi logowania i ustawienie odpowiednich praw dost\u0119pu do tego pliku:<\/p>\n<pre class=\"lang:sh decode:true\"># vi \/etc\/samba\/smbsdatacred\r\nusername=user11\r\npassword=user123\r\n\r\n# chown root \/etc\/samba\/smbsdatacred \r\n# chmod 0400 \/etc\/samba\/smbsdatacred<\/pre>\n<p>24. Dodanie wpisu do \/etc\/fstab:<\/p>\n<pre class=\"lang:sh decode:true\">\/\/server1\/smbsdata \/smbsdatamnt cifs _netdev,credentials=\/etc\/samba\/smbsdatacred 0 0<\/pre>\n<p>&nbsp;<\/p>\n<p>\u0106wiczenie 4.\u00a0 Montowanie zasob\u00f3w Samby w trybie <em>multiuser<\/em>.<\/p>\n<p>Punkty od 1 do 23 (za wyj\u0105tkiem 9 i 21) wykonujemy tak jak w \u0107wiczeniu 3. Punkty 9 i 24 wykonujemy jak ni\u017cej.<\/p>\n<p>9. Zas\u00f3b smbdata w pliku \/etc\/samba\/smb.conf wygl\u0105da nast\u0119puj\u0105co:<\/p>\n<pre class=\"lang:sh decode:true \">[smbdata]\r\ncomment = \/smbdata for group collaboration\r\npath = \/smbdata\r\npublic = no\r\nbrowseable = yes\r\nvalid users = @smbgroup  # lub user11, user12\r\nwrite list = user12\r\nwritable = no\r\n<\/pre>\n<p>24. Do pliku <code>\/etc\/fstab<\/code> dodajemy inny wpis:<\/p>\n<pre class=\"lang:sh decode:true\">\/\/server1\/common   \/smbrhcemnt    cifs   _netdev,credentials=\/etc\/samba\/smbrhcecred,sec=ntlmssp,multiuser   0 0<\/pre>\n<p>Ze wzgl\u0119du na to, \u017ce zas\u00f3b [common] ma na serwerze <em>server1<\/em> w pliku <code>smb.conf<\/code> ustawion\u0105 dyrektyw\u0119<em> writable=no<\/em> i u\u017cytkownika <em>user11<\/em> nie ma na li\u015bcie <em>write list <\/em>(jest tylko <em>user12<\/em>) to zas\u00f3b zostanie podmontowany w trybie tylko do odczytu z takimi uprawnieniami jakie posiada u\u017cytkownik <em>user11<\/em>.<\/p>\n<p>To si\u0119 nie powinno uda\u0107:<\/p>\n<pre class=\"lang:sh decode:true\"># su user11\r\n$ echo test &gt; \/smbrhcemnt\/user11-file<\/pre>\n<p>Zapis b\u0119dzie mo\u017cliwy po podaniu komend\u0105 <em>cifscreds<\/em> danych logowania u\u017cytkownika <em>user12<\/em>:<\/p>\n<pre class=\"lang:sh decode:true\"># su user12\r\n$ cifscreds add server1<\/pre>\n<p>Teraz zapis do \/smbrhcemnt powinien si\u0119 powie\u015b\u0107:<\/p>\n<pre class=\"lang:sh decode:true\">$ echo test &gt; \/smbrhcemnt\/user12-file<\/pre>\n<p>&nbsp;<\/p>\n<p>\u0106wiczenie 5. Bezpieczny dost\u0119p do serwera plik\u00f3w przez Kerberos.<\/p>\n<p>Na serwerze KDC (serwer Kerberos):<br \/>\n1. Logowanie jako root principal do bazy KDC i dodanie serwera server1 jako cifs principal:<\/p>\n<pre class=\"lang:sh decode:true \"># kadmin \u2013p root\/admin\r\nAuthenticating as principal root\/admin with password.\r\nPassword for root\/admin@EXAMPLE.COM:\r\nkadmin: addprinc \u2013randkey cifs\/server1.example.com\r\nWARNING: no policy specified for cifs\/server1.example.com@EXAMPLE.COM; defaulting to no policy\r\nPrincipal \"cifs\/server1.example.com@EXAMPLE.COM\" created.<\/pre>\n<p>2. Wygenerowanie pliku keytab:<\/p>\n<pre class=\"lang:sh decode:true \">kadmin: ktadd \u2013k \/etc\/krb5.keytab cifs\/server1.example.com<\/pre>\n<p>Plik powinien nale\u017ce\u0107 do u\u017cytkownika i grupy root i mie\u0107 prawa 0600.<\/p>\n<p>3. Skopiowanie pliku keytab do serwera Samby &#8211; server1:<\/p>\n<pre class=\"lang:sh decode:true \"># scp \/etc\/krb5.keytab server1:\/etc<\/pre>\n<p>&nbsp;<\/p>\n<p>Na Serwerze Samby &#8211; server1:<\/p>\n<p>4. Wykonujemy czynno\u015bci jak ni\u017cej:<\/p>\n<pre class=\"lang:sh decode:true \"># mkdir \/smbkrb5\r\n# useradd user7; passwd user7\r\n# chown user7 \/smbkrb5\r\n# smbpasswd -a user7\r\n# semanage fcontext \u2013at samba_share_t \u201c\/smbkrb5(\/.*)?\u201d\r\n# restorecon -Rv \/smbkrb5<\/pre>\n<pre class=\"lang:sh decode:true\"># vim \/etc\/samba\/smb.conf\r\n\r\n[global]\r\nworkgroup = EXAMPLE\r\nsecurity = ads\r\nrealm = EXAMPLE.COM\r\n\r\n[smbkrb5]\r\ncomment = \/smbkrb5\r\npath = \/smbkrb5\r\nvalid users = user7\r\nwrite list = user7\r\nread only = Yes<\/pre>\n<p>&nbsp;<\/p>\n<p>Na kliencie Samby:<\/p>\n<p>5. Potwierdzamy dost\u0119p do zasobu loguj\u0105c si\u0119 do zasobu z opcj\u0105 (\u2013k) kerberos:<\/p>\n<pre class=\"lang:sh decode:true \"># smbclient \u2013k \/\/server1\/smbkrb5 \u2013U user7<\/pre>\n<p>6. Tworzymy punkt montowania \/smbkrb5mnt:<\/p>\n<pre class=\"lang:sh decode:true \"># mkdir \/smbkrb5mnt<\/pre>\n<p>7. Podmontowanie zasobu \/smbkrb5 w pkcie montowania \/smbkrb5mnt jako user7:<\/p>\n<pre class=\"lang:sh decode:true \"># mount \/\/server1\/smbkrb5 \/smbkrb5mnt \u2013o username=user7,sec=krb5,rw<\/pre>\n<p>8. Weryfikacja<\/p>\n<pre class=\"lang:sh decode:true\"># df\r\n# mount<\/pre>\n<p>9. Dodanie wpisu do pliku \/etc\/fstab:<\/p>\n<pre class=\"lang:sh decode:true\"># vim \/etc\/fstab\r\n\/\/server1\/smbkrb5 \/smbkrb5mnt cifs username=user7,rw,sec=krb5 0 0<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Samba to protok\u00f3\u0142 sieciowy, kt\u00f3ry pozwala systemom Linux i Unix na wsp\u00f3\u0142dzielenie zasob\u00f3w dyskowych i drukarek z systemami Windows i innymi systemami Linux (Unix). Server Message Block (SMB) znany r\u00f3wnie\u017c jako Common Internet File System (CIFS) to protok\u00f3\u0142 sieciowy stworzony przez Microsoft, IBM i Intel w latach 80-tych. Protok\u00f3\u0142 u\u017cywany jest przez systemy Windows jako &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/miro.borodziuk.eu\/index.php\/2017\/07\/24\/serwer-plikow-samba\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Serwer plik\u00f3w Samba&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1481,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[48],"tags":[],"_links":{"self":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/1480"}],"collection":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/comments?post=1480"}],"version-history":[{"count":40,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/1480\/revisions"}],"predecessor-version":[{"id":1600,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/1480\/revisions\/1600"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media\/1481"}],"wp:attachment":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media?parent=1480"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/categories?post=1480"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/tags?post=1480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}