Slackware serwer samba – uruchomienie i konfiguracja

Ten jak i inne wpisy z serii pracy z systemem Slackware opisują działania na systemie który został zainstalowany w pełnej opcji instalacyjnej.

Przyjmujemy zatem, iż wszystkie potrzebne paczki są zainstalowane i gotowe do pracy.

Zaczynamy od pliku konfiguracyjnego /etc/samba/smb.conf:

Na moim blogu jest już wpis o konfiguracji samby pracującej na systemie Ubuntu i po drobnych modyfikacjach nadaje się do użycia, ale proponuję jednak używać oryginalnego i przykładowego pliku znajdującego się w paczce.


# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options (perhaps too
# many!) most of which are not shown in this example
# For a step to step guide on installing, configuring and using samba,
# read the Samba-HOWTO-Collection. This may be obtained from:
# Many working examples of smb.conf files can be found in the
# Samba-Guide which is generated daily and can be downloaded from:
# Any line which starts with a ; (semi-colon) or a # (hash)
# is a comment and is ignored. In this example we will use a #
# for commentry and a ; for parts of the config file that you
# may wish to enable
# NOTE: Whenever you modify this file you should run the command "testparm"
# to check that you have not made any basic syntactic errors.
#======================= Global Settings =====================================

# workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2
workgroup = DOM

# server string is the equivalent of the NT Description field
server string = Samba Server

# Server role. Defines in which mode Samba will operate. Possible
# values are „standalone server”, „member server”, „classic primary
# domain controller”, „classic backup domain controller”, „active
# directory domain controller”.
# Most people will want „standalone sever” or „member server”.
# Running as „active directory domain controller” will require first
# running „samba-tool domain provision” to wipe databases and create a
# new domain.
server role = standalone server

# This option is important for security. It allows you to restrict
# connections to machines which are on your local network. The
# following example restricts access to two C class networks and
# the „loopback” interface. For more examples of the syntax see
# the smb.conf man page
; hosts allow = 192.168.1. 192.168.2. 127.
hosts allow = 192.168.1. 127.

# Uncomment this if you want a guest account, you must add this to /etc/passwd
# otherwise the user „nobody” is used
; guest account = pcguest

# this tells Samba to use a separate log file for each machine
# that connects
log file = /var/log/samba.%m

# Put a capping on the size of the log files (in Kb).
max log size = 50

# Specifies the Kerberos or Active Directory realm the host is part of
; realm = MY_REALM

# Backend to store user information in. New installations should
# use either tdbsam or ldapsam. smbpasswd is available for backwards
# compatibility. tdbsam requires no further configuration.
; passdb backend = tdbsam

# Using the following line enables you to customise your configuration
# on a per machine basis. The %m gets replaced with the netbios name
# of the machine that is connecting.
# Note: Consider carefully the location in the configuration file of
# this line. The included file is read at that point.
; include = /usr/local/samba/lib/smb.conf.%m

# Configure Samba to use multiple interfaces
# If you have multiple network interfaces then you must list them
# here. See the man page for details.
; interfaces =

# Where to store roving profiles (only for Win95 and WinNT)
# %L substitutes for this servers netbios name, %U is username
# You must uncomment the [Profiles] share below
; logon path = \\%L\Profiles\%U

# Windows Internet Name Serving Support Section:
# WINS Support – Tells the NMBD component of Samba to enable it’s WINS Server
; wins support = yes
wins support = yes
netbios name = lspserver

# WINS Server – Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
; wins server = w.x.y.z

# WINS Proxy – Tells Samba to answer name resolution queries on
# behalf of a non WINS capable client, for this to work there must be
# at least one WINS Server on the network. The default is NO.
; wins proxy = yes

# DNS Proxy – tells Samba whether or not to try to resolve NetBIOS names
# via DNS nslookups. The default is NO.
dns proxy = no

# These scripts are used on a domain controller or stand-alone
# machine to add or delete corresponding unix accounts
; add user script = /usr/sbin/useradd %u
; add group script = /usr/sbin/groupadd %g
; add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/fa$
; delete user script = /usr/sbin/userdel %u
; delete user from group script = /usr/sbin/deluser %u %g
; delete group script = /usr/sbin/groupdel %g

#============================ Share Definitions ==============================
comment = Home Directories
browseable = no
writable = yes

# Un-comment the following and create the netlogon directory for Domain Logons
; [netlogon]
; comment = Network Logon Service
; path = /usr/local/samba/lib/netlogon
; guest ok = yes
; writable = no
; share modes = no

# Un-comment the following to provide a specific roving profile share
# the default is to use the user’s home directory
; path = /usr/local/samba/profiles
; browseable = no
; guest ok = yes

# NOTE: If you have a BSD-style print system there is no need to
# specifically define each individual printer
; comment = All Printers
; path = /var/spool/samba
; browseable = no
# Set public = yes to allow user ‚guest account’ to print
; guest ok = no
; writable = no
; printable = yes

# This one is useful for people to share files
; comment = Temporary file space
; path = /tmp
; read only = no
; public = yes

# A publicly accessible directory, but read only, except for people in
# the „staff” group
; comment = Public Stuff
; path = /home/samba
; public = yes
; writable = no
; printable = no
; write list = @staff

# Other examples.
# A private printer, usable only by fred. Spool data will be placed in fred’s
# home directory. Note that fred must have write access to the spool directory,
# wherever it is.
; comment = Fred’s Printer
; valid users = fred
; path = /homes/fred
; printer = freds_printer
; public = no
; writable = no
; printable = yes

# A private directory, usable only by fred. Note that fred requires write
# access to the directory.
; comment = Fred’s Service
; path = /usr/somewhere/private
; valid users = fred
; public = no
; writable = yes
; printable = no

# a service which has a different directory for each machine that connects
# this allows you to tailor configurations to incoming machines more information. You could
# also use the %U option to tailor it by user name.
# The %m gets replaced with the machine name that is connecting.
; comment = PC Directories
; path = /usr/pc/%m
; public = no
; writable = yes

# A publicly accessible directory, read/write to all users. Note that all files
# created in the directory by users will be owned by the default user, so
# any user with access can delete any other user’s files. Obviously this
# directory must be writable by the default user. Another user could of course
# be specified, in which case all files would be owned by that user instead.
; path = /usr/somewhere/else/public
; public = yes
; only guest = yes
; writable = yes
; printable = no

# The following two entries demonstrate how to share a directory so that two
# users can place files there that will be owned by the specific users. In this
# setup, the directory should be writable by both users and should have the
# sticky bit set on it to prevent abuse. Obviously this could be extended to
# as many users as required.
; comment = Mary’s and Fred’s stuff
; path = /usr/somewhere/shared
; valid users = mary fred
; public = no
; writable = yes
; printable = no
; create mask = 0765

[Przykładowy udział]
comment = opis udziału
path = /ścieżka/do/udziału
valid users = użytkownicy którzy mają dostęp do udziału utworzeni wg. tego opisu
public = no
writable = yes
printable = no
create mask = 0765

W sekcji:
==== Global Settings ====

znajdują się wszystkie ustawienia dotyczące samego działania serwera samba, generalnie zostawiamy wszystko jak było pierwotnie, co możemy zmienić wg. swoich upodobań to…

# workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2
workgroup = DOM

Gdzie w tym przypadku nadałem nową nazwę grupie domowej

# server string is the equivalent of the NT Description field
server string = Samba Server

Tu pozostawiłem bez zmian – nazwa serwera.

# This option is important for security. It allows you to restrict
# connections to machines which are on your local network. The
# following example restricts access to two C class networks and
# the „loopback” interface. For more examples of the syntax see
# the smb.conf man page
; hosts allow = 192.168.1. 192.168.2. 127.
hosts allow = 192.168.1. 127.

w tej sekcji podajemy strukturę naszej sieci w jakiej mają działać udziały samba
127. oznacza localhost

# Windows Internet Name Serving Support Section:
# WINS Support – Tells the NMBD component of Samba to enable it’s WINS Server
; wins support = yes
wins support = yes
netbios name = lspserver

tu zgadzamy się na rozpoznawanie serwera przez wins , dodałem również przyjazną nazwę dla wins

resztę pozostawiłem według przykładowego pliku.

W sekcji:
======= Share Definitions ======
Konfigurujemy już konkretne udziały jakie i w jaki sposób samba ma udostępniać.
Udział [homes] domyślnie udostępnia katalog domowy danego użytkownika, który w danym moemncie jest zalogowany i korzysta z udziałów – można też to zakomentować aby nie był udostępniany.

Natomiast przykładowa konfiguracja naszego udziału u mnie wygląda następująco

[Przykładowy udział]
comment = opis udziału
path = /ścieżka/do/udziału
valid users = użytkownicy którzy mają dostęp do udziału utworzeni wg. tego opisu
public = no
writable = yes
printable = no
create mask = 0765

– w nawiasie kwadratowym wpisujemy jak dany udział ma się nazywać – jego nazwa będzie widoczna w sieci.
– comment = to nic innego jak opis co ewentualnie znajduje się w udostępnianym katalogu
– path = dokładna ścieżka do katalogu który chcemy udostępniać
– valid users = tu wpisujemy wcześniej dodanych użytkowników samby, każdy kolejny po spacji – dodajemy tylko tych którzy mają mieć dostęp do danego udziału
– public = yes albo no w zależności czy chcemy aby udział był widoczny publicznie
– writable = yes albo no w zależności czy pozwalamy na zapis w katalogu
– printable = yes albo no w zależności czy pozwalamy na dostęp drukarek
create mask = tu parametr przywilejów chmod jakie chcemy nadać katalogom.


(adsbygoogle = window.adsbygoogle || []).push({});

Aby uruchomić serwer samba w Slackware i spowodwać jego automatyczne uruchamianie po restarcie maszyny należy w katalogu /etc/rc.d/
nadać uprawnienia do uruchamiania dla pliku rc.samba, komendą:
chmod +x /etc/rc.d/rc.samba

Aby sprawdzić czy wszystko poprawnie działa możemy wydać komendę:
ps ax | grep smbd


@server:/etc/rc.d# ps ax | grep smbd
19674 ? Ss 0:00 /usr/sbin/smbd -D
19676 ? S 0:00 /usr/sbin/smbd -D
19709 ? S 0:00 /usr/sbin/smbd -D
20738 pts/1 S+ 0:00 grep smbd

Slackware jak dodać użytkownika

Tym wpisem zaczynam serię krótkich wpisów o działaniach na systemie Slackware.

Dzisiaj dodajemy użytkownika i tworzymy dla niego katalog.

Wszystkie komendy uruchamiamy na uprawnieniach root, jeżeli nie mamy root to wszystkie poniższe komendy poprzedzamy „sudo”

useradd -d /home/nazwa-użytkownika -g users -m -s /bin/false nazwa-użytkownika

Komenda tworzy użytkownika bez dostępu do shell’a i od razu zakłada mu katalog domowy w /home/ .

Raspberry Pi i brak sterowników do TP-LINK TL-WN725N

Nano karta WiFi firmy TP-Link TL-WN725N v2 nie działa z wersjami Rasbiana po wyciągnięciu z pudełka.

Należy doinstalować potrzebne sterowniki a ich zestawienie znajduje się za poniższym linkiem:

Aby sprawdzić jaką wersję kernela posiadamy wpisujemy w konsoli

uname -a

Jak już ściągniemy odpowiednią paczkę – w moim przypaku używając komendy


musimy ją rozpakować

tar xzf 8188eu-v7-20150212.tar.gz

a następnie wykonać



sudo ./




sudo reboot

Xbian lekki, szybki, stabilny media center dla Raspberry Pi – XBMC

Po raz kolejny mogę potwierdzić, iż Raspberry Pi to doskonała rzecz a jej funkcjonalność ograniczona jest jedynie wyobraźnią jej użytkowników. Tym razem chcę przedstawić zastosowanie, które jest drugim bardzo ważnym elementem mojego domu, mianowicie Centrum Multimediów. „Malina” doskonale się do tego nadaje, gdyż rewelacyjnie radzi sobie z materiałami o rozdzielczości 1080i.
Xbian, o którym chciałem pisać to kolejny projekt powstający na bazie XBMC (Xbox Media Center) w nawiasie mówiąc mój ulubiony interface do przeglądania i zarządzania multimediami.
Dlaczego ten projekt właśnie?
Przetestowałem już wszystkie dostępne pochodnie XBMC tworzone dla Raspberry Pi począwszy od:
– oficjalnego Raspbmc
– oficjalnego OpenElec
– coś o czym zapomniałem 🙂
– no i Xbian

Ten ostatni właśnie ujął mnie prędkością i lekkością swojego działania, bardzo szybko bootuje i ani razu nie zmroził się nie ma ograniczeń i o dziwo wtyczka YouTube działała poprawnie bez potrzeby użycia Fix’a o którym ostatnio głośno w „malinowych kręgach”.
Jego główne cechy to:

  • Wpasuje się nawet w 2GB kartę
  • Niski pobór RAM i CPU
  • Płynnie działający Interface
  • Automatyczne czytanie peryferiów USB
  • Wsparcie dla AFP, NFS, AirPlay, CEC, Lirc, PVR
  • Wsparcie dla większości kart Wifi
  • Przejrzysta i łatwa konfiguracja xbian-config
  • Open (Source Software)!

Kolejną zaletą tu może być fakt iż projekt posiada łatwy instalator, który nie tylko przygotuje nam kartę pamięci ale dopilnuje aby znajdujące się na niej oprogramowanie był aktualne ( tu można powiedzieć że to standard wykluczając Openelec, ten instaluje się ręcznie ).

Xbian Installer

Wygląd Xbiana to nic innego jak GUI XBMC – po co zmieniać doskonałe 🙂
Nie traktujcie tego wpisu jako recenzję wyżej omawianego systemu a jedynie moją chęć zwrócenie na niego Waszej uwagi ponieważ wszelkie informacje znajdziecie na stronie projektu, YouTub’y też są pełne materiałów temu poświęconych tak też mówię jak jest 🙂 – jest lekko, szybko i stabilnie – jak nie w Polsce 🙂


Samba dla wszystkich – czyli przywileje roota dla innych …

Muszę to opisać przede wszystkim żeby nie zapomnieć, ale też może się przydać innym.

Jak już wspominałem we wcześniejszych wpisać zdarzyło mi się

walczyć z sambą prawie dwa tygodnie aby spełniła w końcu moje oczekiwania,

bo działać działała ale na pół gwizdka.

To do czego dzisiaj doszedłem jest banalnym zapisem w pliku konfiguracyjny smb.conf

( jeżeli chcemy dać sobie czy komuś prawa roota do wszystkich udostęnianych zasobów poniższy wpis dodajemy w sekcji [global],

jeśli tylko dla konkretnych udziałów to poniższy tekst dodajemy do konkretnego [udziału] ) …


admin users = {mój użytkownik windows}

{mój użytkownik windows} oczywiście w tym miejscu podajemy użytkownika na którym pracujemy na podłączonej maszynie.

Co mi to dało ?

Otóż sambę skonfigurowałem w taki sposób aby udostępnione przez nią zasoby bez zbędnego logowania dostępne były na mojej Windows Vista gdzie głównym userem jest {mój użytkownik windows}.

Nawet po zabiegach typu:

create mask = 0777
security mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
force directory security mode = 777
force security mode = 777

nie mogłem zarządzać ( usuwać, zmieniać nazwę ) plikami należącymi do innych użytkowników.

Dreambox, nagrywanie, Timeshift w sieci lokalnej z serwerem Ubuntu Server 11.10 NFS

Trochę długi temat ale, nie miałem na chwilę obecną pomysłu jakich słów użyć aby opisać kombinację, dzięki której zaistniała możliwość nagrywania ulubionych treści z telewizji za pomocą tunera Dreambox DM800HD oraz serwera plików działającym z systemem Ubuntu Server 11.10.

Po prawie dwu tygodniowej walce z serwerem Samby i milionach kombinacji jego konfiguracji, udało mi się w końcu uruchomić go tak, że zarówno jest widziany w grupie roboczej jak i można swobodnie korzystać z udostępnianych zasobów, ale nie o tym chciałem pisać w tym poście. Chciałem wspomnieć, że po wyżej opisanej walce myślałem, że to wystarczy aby „spiąć”  powyższe urządzenia sambą i będzie wszystko cacy, niestety nie. Gorącą mi się zrobiło na myśl że znowu będę musiał walczyć z jakąś konfiguracją, a tu miłę zaskoczenie system NFS dla tak prostego zastosowania konfiguruje się banalnie i szubko.


Działania wstępne

Na serwerze stowrzyłem sobie katalog który chciałem docelowo udostępnić dla Dreambox’a.
W moim przypadku jest to katalog Dreambox

mkdir /media/Dreambox

oczywiście ścieżkę należy dopasować do swoich upodobań.

Następnie w katalogu Dreambox utowrzyłem dwa katalogi na potrzeby usług Nagrywania i TimeShift:

cd /media/Dreambox
mkdir hdd
mkdir timeshift

teraz spokojnie można przejść do instalacji NFS.

Instalacja serwera NFS na Ubuntu:

Zazwyczaj pracuję ( loguję się przez ssh ) jako root tak więc instalowałem tak:

apt-get update && apt-get install nfs-kernel-server

jeżeli nie pracujesz jako root, wpisz :

sudo apt-get update && sudo apt-get install nfs-kernel-server

No i to wszystko :).


Aby udostępnić to co chcemy, trzeba edytować plik /etc/exports tak też wpisujemy:

sudo nano /etc/exports

Wiemy już, że udostępnić chcę utworzony wcześniej katalog tak więc udostępniam:

/media/Dreambox IP Dreambox'a (rw,async)

rw – read & write ( odczyt, zapis ), można również
ro – Read only ( tylko do odczytu )
async – przyspiesza transfery

i to tyle z konfiguracji, teraz tylko restart usługi:

sudo /etc/init.d/nfs-kernel-server restart

Konfiguracja Dreambox

Aby się nie powtarzać zapraszam do punktu DRUGIEGO innego mojego TUTORIALA
gdzie opisałem dalsze kroki konfiguracji Dreambox’a.


Unrar archiwów o wielu częściach

Instalacja unrar

robimy się root’em:


Następnie instaluejmy unrar

apt-get update && apt-get install unrar


Po instalacji przechodzimy do folderu zawierającego archiwa które chcemy rozpakować… i wypisujemy komendę:

unrar x -e nazwapliku.part1.rar

Jeżeli oczywiście kolejne party są w tym samym folderze i nazwane są kolejno  nazwapliku.part2.rar, nazwapliku.part3.rar … to unrar sam je odnajdzie  i rozpakuje automatycznie.