Instalacja i konfiguracja usługi katalogowej LDAP

Źródło : http://www.openldap.org/doc/admin24/quickstart.html

1. Ściągamy paczkę:
2. Rozpakowujemy
    gunzip -c openldap-VERSION.tgz | tar xvfB -
3. W rozpakowanym katalogu :
./configure
make depend
make
make install

4. Domyślnie OpenLDAP instaluje się w:
/usr/local/etc - pliki konfiguracyjne slapd.conf
/usr/local/bin - pliki wykonywalne
/usr/local/var/openldap-data - baza danych
5. Poprawiamy plik /usr/local/etc/slapd.conf:
database bdb
suffix "dc=example,dc=com"
rootdn "cn=Manager,dc=example,dc=com"
rootpw secret
directory /usr/local/var/openldap-data
6. Uruchamiamy proces
# /usr/local/libexec/slapd
7. Sprawdzamy czy serwer LDAP działa komendą ldapsearch:
ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
8. Otrzymujemy odpowiedź:
# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: namingContexts
#

#
dn:
namingContexts: dc=example,dc=com


# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1
9. Tworzymy przykładowy plik example.ldif:

dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: Example Company
dc: example

dn: cn=Manager,dc=example,dc=com
objectclass: organizationalRole
cn: Manager
Przy czym należy zostawić pustą linię (jak wyżej) pomiędzy dc:example/dn:cn=Manager !!!

10. Dodajemy rekord do bazy jako hasło podajemy "secret" (tak jak w pliku slapd.conf):
ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f example.ldif
11.Ponownie sprawdzamy działanie bazy z jej zawartością:

ldapsearch -x -b 'dc=example,dc=com' '(objectclass=*)'
12. W odpowiedzi powinniśmy otrzymać:
# extended LDIF
#
# LDAPv3
# base <dc=example,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# example.com
dn: dc=example,dc=com
objectClass: dcObject
objectClass: organization
o: Example Company
dc: example

# Manager, example.com
dn: cn=Manager,dc=example,dc=com
objectClass: organizationalRole
cn: Manager

# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2
 
13.

Samba (PDC) dodawanie użytkowników

Zakładam, że samba działa, więc zaczynamy robotę zwykłego admina:

Dodawanie użytkownika w systemie Linux.

Tworzymy grupę dodawanych komputerów:
#groupadd machines

Tworzymy grupę użytkowników Linux - Samba:
#groupadd smbuser

Dodajemy użytkownika do Linux bez dostępu do shell'a. Ten katalog będzie automatycznie podłączany przy uruchamianiu systemu windows:
#useradd -c "Użytkownik Samby mariop" -s /bin/false -g smbuser -d /home/samba/mariop mariop
Dodajemy użytkownika (o tej samej nazwie) do  samby, przy czym ustalamy hasło:
#smbuser -a mariop
Dodajemy również admina, który będzie dodawał kompy do domeny i tworzymy dla niego hasło (inne niż w linux):
#smbuser -a root
 Tworzymy niezbędne katalogi:
1. Katalog domowy użytkownika Linux z odpowiednimi prawami:
# mkdir /home/samba/mariop
#chown -R mariop.smbuser /home/samba/mariop
#chmod 700 /home/samba/mariop
2. Sprawdzamy czy istnieje katalog przechowywania profili z Windows. Jeśli nie to go tworzymy:
#mkdir /home/samba/profile
#chown root.smbuser /home/samba/profile
#chmod 770 /home/samba/profile
================================================================

Konfiguracja Windows XP Pro (w trybie administratora komputera):

1. Start -> Panel sterowania -> Połączenia sieciowe -> Karta sieciowa -> Właściwości -> Protokół Internetowy TCP/IP -> Zaawansowane -> Karta Wins -> Dodaj -> 192.168.1.10 (adres serwera samby).
Sprawdź czy w /etc/dhcpd.conf jest wpis o serwerze wins:
option netbios-name-servers 192.168.1.10; wtedy może nie być potrzebne wpisywanie do klientów adresu wins.2. Start -> Uruchom -> gpedit.msc -> Konfiguracja komputera -> Szablony administracyjne -> System -> Profile użytkownika -> Włącz opcje :
- nie sprawdzaj czy użytkownik jest właścicielem folderu profilów,
3. Restart komputera
4. Mój komputer -> właściwości -> nazwa komputera -> Zmień -> Domena -> samba (nazwa domeny - w pliku /etc/samba/smb.conf -> WORKGROUP = samba)
5. W przypadku problemów (problem z połączeniem, znalezieniem domeny domeny wyłączyć tymczasowo wszelkie firewall'e), i powtórzyć operacje z pkt. 4.
6. Podać użytkownika roo't i hasło (samby).
7. Restart komputera
8. Logujemy się do domeny samba jako użytkownik mariop.
9. tworzymy docelowy profil (jeśli nie chcemy potem go zmieniać). Uruchamiamy wszystkie programy (żeby się doinstalowały), robimy porządek w dokumentach, kopiujemy na pulpit, do moich dokumentów itp pliki użytkownika mariop.
10. Wylogowujemy się.
11. System Windows powinien skopiować cały profil na serwer samby do katalogu /etc/home/samba/profile/mariop (podgladamy przez putty cza tak się stało).
12. Logujemy się na administratora komputera Windows XP i uruchamiamy:
Start -> Uruchom -> gpedit.msc -> Konfiguracja komputera -> Szablony administracyjne -> System -> Profile użytkownika -> Włącz opcje :
- nie sprawdzaj czy użytkownik jest właścicielem folderu profilów,
- usuwaj buforowane kopie profilów mobilnych, (jeśli nie chcemy lustra profilu na lokalnym hdd)
- zapobiegaj propagowaniu zmian w profilnym do serwera (jeśli chcemy zabronić użytkownikowi zapisywania danych na dysku lokalnym hdd). Po restarcie komputera będzie przywracany zdefiniowany profil z pkt. 9. Użytkownik powinien zapisywać swoje dane na dysku sieciowym montowanym automatycznie np Z: (katalog użytkownika w systemie Linux).

Samba jako PDC

Źródła

http://www.banita.pl/konf/smbporady5.html

http://www.banita.pl/konf/smbpdc.html

http://www.banita.pl/konf/smbhasla.html

Dziś zajmiemy się konfiguracją  Samby jako podstawowego kontrolera domeny w skrócie PDC.
Dodajemy do systemu Linux grupę "machines". Grupa ta będzie odzwierciedlać komputery jakie dodamy do domeny.
#groupadd machines

Stworzyć skrypt logon.bat (pod winxp) i wgrać do katalogu /etc/samba/logon.

net time \\marionet /set /yes
net use m: \\marionet\poligon
Zasób będący katalogiem domowym z systemu linux mapuje się sam, bez naszej ingerencji to tzw. homes czyli np. /home/samba/mariop gdzie najczęściej przechowywane są pliki prywatne użytkownika. Poligon to zasób dla wszystkich. Jest jeszcze zasób /home/samba/profile, w którym kopiowane będą wszystkie tzw. mobilne profile poszczególnych użytkowników. Ze względów bezpieczeństwa nie chcemy aby był widoczny dla zwykłego użytkownika.


Utwórz plik konfiguracyjny samby /etc/samba/smb.conf:
 ############################################################
#plik konfiguracyjny smb.conf:

[global]

workgroup = marionet
netbios name = samba
server string = Serwer linuksowy samby ver: %v %N
encrypt passwords = yes
# smb passwd file = /etc/samba/private/smbpasswd
update encrypted = no
unix password sync = no
add machine script = /usr/sbin/useradd -d /dev/null -g machines -c 'Konto Maszyny %I' -s /bin/false %u

#logowanie domenowe
domain logons = yes
logon script = logon.bat
log file = /var/log/samba/log.%I
max log size = 50
log level = 2
os level = 200
domain master = yes
local master = yes
preferred master = yes
wins support = yes
map to guest = Bad User
printing = cups
printcap name = cups
unix charset = ISO8859-2
dos charset = CP852

##profile mobilne z windows
logon path = \\samba\profile_wins\%U
logon drive =

#zasoby

[printers]
path = /var/spool/samba
browsable = no
guest ok = yes
printable = yes
writable = no
printer admin = root

[netlogon]
path = /etc/samba/logon
comment = Usługa logowania domenowego
browseable = no
write ok = no

[poligon]
comment = dysk dla wszystkich
path=/dla_wszystkich
create mask = 0777
directory mask = 0777
browsable = yes
writable = yes
guest ok = yes

[homes]
comment = katalog domowy użytkownika
create mask = 0650
directory mask = 0700
guest ok = no
browseable = yes
write ok = yes

[profile_wins]
path = /home/samba/profile
read only = no
browsable = no
guest ok = no
writable = yes
directory mask = 0700
create mask = 0600

###################################################################
Objaśnienia :
Po wpisaniu takiego pliku ważne jest aby utworzyć katalogi (zasoby).
sekcja global zawiera : workgroup - nazwa domeny,  netbios name - najlepiej nazwa taka sama jak domeny, określa nazwę netbios serwera samby, admin users - określa jaki użytkownik będzie pełnił rolę administratora, który będzie mógł dołączyć maszynę po raz pierwszy do domeny,  server string - opis serwera, security = user - uwierzytelnianie na poziomie użytkownika wcześniej mieliśmy share (na poziomie zasobów - jedno hasło, jeden użytkownik), encrypt passwords = yes - włączenie szyfrowania haseł, smb passwd file = /etc/samba/private/smbpasswd - lokalizacja pliku haseł i użytkowników, update encrypted = no
unix password sync = no - brak synchronizacji hasła użytkownika linux a samby, czyli nie musi być to samo. 
# polskie znaczki Samba 3.0 ta sekcja umożliwia dodanie polskich czcionek. Np w komentarzu użytkownika w pliku /etc/passwd możemy używać polskich czcionek i one pojawią się na pasku menu start (niebieskie tło - "użytkownik samby". add machine script... - automatyczny skrypt dodaje maszynę (komputer) do domeny (do pliku /etc/passwd) jako komputer$

Ręcznie też możemy wprowadzić maszynę do systemu, ale po co?
#useradd -c "Konto Maszyny" -s /bin/false -g machines komputer$

domain logons = yes -logowanie domenowe, logon script = logon.bat, skrypt napisany pod windowsem, domain master = yes, local master = yes, prefered master = yes, time server = yes, serwer domeny, czasu, podstawowa przeglądarka, #wins server = 192.168.1.2 serwer wins, wins support = yes,
map to guest = Bad User logowanie gości, nt acl support = no, log file = /var/log/samba/log.%I, logi dla każdego IP, max log size = 50, log level = 2, os level = 200 max ilosc polaczen.
logon drive = - nie mapuj dysku z profilami uzytkownika, logon path = \\marionet\profile_wins\%U miejsce gdzie beda się zgrywały logi zamiast "marionet" można użyć \\%L co znaczy nazwę netbios maszyny, profile_wins - poniżej jest określona ścieżka czyli /samba/home/profile dla logów.

Należy pamiętać aby ścieżki użytkowników Linux nie pogrywały się ze ścieżkami profilów.
Więc w systemie Linux, Samba dodajemy użytkownika i tworzymy ścieżki. Zakładam, że już jest utworzona grupa "smbuser": 
#useradd -c "Użytkownik Samby" -s /bin/false -g smbuser -d /home/samba/mariop mariop
#passwd mariop
#mkdir /home/samba/mariop
#chown mariop.smbuser /home/samba/mariop
#chmod 700 /home/samba/mariop
#smbpasswd -a mariop



W systemie Windows XP Prof.
Powyższa konfiguracja nie powinna stwarzać problemów. Jednak jeśli winXP będzie uparty można zastosować jego konfigurację (z pozycji klienta).
Panel sterowania -> Połączenia sieciowe ->  Karta sieciowa -> Protokół TCP/IP-> Zaawansowane->Karta WINS-> dodaj:
192.168.1.10 (Serwer samby):


Odznaczyć opcję LMHOSTS.
Dokonać restartu WinXP.

 Niestety windows XP jest toporny we współpracy z Sambą, toteż trzeba dokonać małych zmian w regułach grup użytkowników:

uruchom -> gpedit.msc i ustaw jak na rysunku :


Gdybyśmy chcieli aby użytkownik nie mógł zapisywać nic na pulpicie i w moich dokumentach lokalnie wówczas ustawiamy "Zapobiegaj propagowaniu zmian ..." jednak dopiero po skopiowaniu ostatecznego profilu na serwer. Najważniejsza jest jednak 1 opcja która wyłącza durne info o braku uprawnień.



rsync

Założenie:
Kopiujemy pliki z Linux do WinXP do Linux
W Windowsie XP należy zainstalować pakiety:
1. OpenSSH (server) czytaj : http://marioms.blogspot.com/2011/02/serwer-ssh.html
2. Cigwin http://chomikuj.pl/podhorm/free+soft/Windows_server/archiwizacja+rsync/cygwin-1.7.7-1.tar.bz2
opis instalacji : http://marioms.blogspot.com/2011/02/cigwin.html
3. Kopiujemy katalog z Linux (kaczka) do Win_XP 

 Program rsync, po stworzeniu lustra katalogu w komputerze docelowym (XP), kopiuje jedynie zmienione pliki, czyli synchronizacja plików. Kopiowanie przez SSH (kopiowanie przez szyfrowany tunel z uwierzytelnianiem na komp 150):








rsync -av -e ssh kaczka Mariusz@192.168.1.150:test
Domyślnie program składuje w miejscu instalacji OpenSSH. Dokładniejsze miejsce składowania plików to :
rsync -av -e ssh --delete kaczka Mariusz@192.168.1.150:/cygdrive/d/home/Mariusz/test
gdzie:
-av zachowanie istniejących praw,
-e ssh wymuszenie szyfrowania
--delete wymusza kasowanie jeśli pliki zostały usunięte w źródle
-kaczka katalog do skopiowania 
-Mariusz@IP:test użytkownik@nr_ip_komp_docelowego wraz z katalogiem (katalog musi być ustawiony na serwerze rsyncd.conf)
-/cygdrive/d -określenie dysku D poprzez program cygwin.


Jeśli przesyłamy przez Internet (globalnie) to:
rsync -av -e ssh temp root@mario@alias.pl:~/test
W obu przypadkach katalog temp test jeśli go nie będzie zostanie utworzony.
Następne wywołania powyższych poleceń kopiują tylko zmienione pliki.






Drugi sposób to używanie programu jako demona, bez pośrednictwa SSH.
Jeśli zamierzamy korzystać z SSH, musimy mieć konta na każdym komputerze, do którego chcemy mieć dostęp. Jeśli jednak zdecydujemy się na korzystanie z programu jako demona, możemy wykorzystać wbudowane w niego metody uwierzytelniania. 


Reasumując, prg nadaje się do synchoronizacji plików pomiędzy komputerami, albo dyskami na tym samym komputerze (/home będzie aktualizowane w /mnt/sdb1):
Na tym samym PC: rsync -av --delete /home /mnt/sdb1
Z Linux do WinXP: rsync -av -e ssh --delete kaczka Mariusz@192.168.1.150:/cygdrive/d/home/Mariusz/test 
Z WinXP do Linux: rsync -av --delete "/cygdrive/C/Documents and Settings/Mariusz" root@192.168.1.10:/backups

Uruchamianie Cron'a
Najpierw demon
# rsync --daemon
lub tworzymy plik /etc/rc.d/rc.rsyncd
#!/bin/bash
# skrypt do uruchamiania Rsync w trybie demona

case "$1" in
start)
echo "Uruchamianie serwera Rsync...."
rsync --daemon
;;

stop)
echo "Zatrzymywanie serwera Rsync...."
killall rsync
;;

restart)
$0 stop
sleep 1
$0 start
;;

*)
echo "Składnia: $0 {start/stop/restart}"
exit 1
;;
esac

Wpis w rc.local będzie uruchamiał demona

logowanie bez hasła
http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/

http://dug.net.pl/tekst/65/ssh___klucze_rsa_%28mozliwosc_logowania_bez_hasla%29/

df

Sprawdzenie wykorzystania dysku w GB,MB itp
#df -hv

kopia zapasowa - archiwizacja: dd , partimage

Kopia MBR:
dd if=/dev/sda of=/mnt/backup/mbr.img bs=512 count=1

Kopia partycji:
dd if=/dev/sda of=/mnt/backup/dysk.img

 Przywracanie kopii:
dd if=/mnt/backup/dysk.img of=/dev/sda

 ----------------------------------------------------------------------
partimage z płyty RescueCD
---------------------------------------------------------------------
1. Uruchamiamy system z płytki RescueCD
2. W uruchomionym systemie sprawdzamy dyski do zapisu obrazów poleceniem
# fdisk -l
Wybrany dysk np. usb (np. /dev/sdb1) dobrze jest przed przystąpieniem wgrywania do niego plików sprawdzić pod kątem czy nie zawiera błędów. Wszystkich poniższych operacji dokonujemy na odmontowanym systemie plików!
e2fsck -v -f -y /dev/dev/sdb1
W przypadku, gdy nie można sprawdzić dysku najlepiej jest go sformatować i nadpisać zerami poleceniem :
# dd if=/dev/zero of=/dev/sdb1
ta operacja trochę trwa do kilku minut... po zakończeniu tworzymy na wyzerowanym dysku system plików:
# mkfs -V -c -t ext3 /dev/sdb1
Po zakończeniu tworzenia systemu plików, ponawiamy próbę sprawdzenia dysku poleceniem jak wyżej tj.:
# e2fsck -v -f -y /dev/dev/sdb1

Wybrany dysk docelowy podmontowujemy do katalogu /mnt np.:
# mount /dev/sdb1 /mnt
3. Uruchamiamy program :
# partimage
4. Ustawiamy kolejno partycje do tworzenia ich obrazów. W nazwie pliku img najlepiej zastosować nazwę urządzenia_wielkośćpartycji.img :







2. Tabulatorem lub F5 przechodzimy dalej. Kolejny ekran ustawiamy jak poniżej:


3. Następny ekran to już tylko wprowadzenie komentarza odnośnie partycji:


4. Następnie odbywa się sprawdzenie partycji docelowej zapisu, pod kątem ewentualnych błędów, może to potrwać ok. minuty.

konfiguracja

Dokonujemy w istniejącym pliku uzupełnienia wpisu dot. partycji gdzie mamy system plików do założenia quot'y. Edytujemy plik /etc/fstab

/dev/hda3        /home                ext3        defaults 1   1
#/dev/cdrom      /mnt/cdrom       auto        noauto,owner,ro  0   0
/dev/fd0         /mnt/floppy      auto        noauto,owner     0   0
devpts           /dev/pts         devpts      gid=5,mode=620   0   0
proc             /proc            proc        defaults         0   0
tmpfs            /dev/shm         tmpfs       defaults         0   0

w naszym przypadku system plików jest / więc quot'a będzie założona na główny system plików. Jednocześnie zakładamy ograniczenia na użytkowników i grupy, więc modyfikujemy linię pierwszą o wpis:
/dev/hda3        /home                ext3        defaults,usrquota,grpquota 1   1

Tworzymy pliki aquota.user oraz aquota.group (w katalogu gdzie ustanawiamy quot'a):
# touch /home/aquota.user /home/aquota.group
# chmod 600 /home/aquota.user /home/aquota.group
Wydajemy polecenie uaktywniające quota:
# mount -o remount /
# quotacheck -avugm
W pierwszej linii podmontowujemy system plików "/" z aktualizacją /etc/fstab.
W drugiej linii dokonujemy testu i skanowania systemu pliku "/".

Ustanawiamy quot'a dla użytkownika:
# edquota -u user_name
Wyświetli nam się nw. tabela w edytorze "vi":
 
Disk quotas for user login_uzytkownika (uid 1004):
  Filesystem   blocks       soft       hard     inodes     soft    hard
  /dev/hda3     2000          0          0         15        0       0
 
objaśnienia:
Filesystem - nazwa partycji.
blocks - ilość zajmowanego na partycji miejsca przez pliki użytkownika w kilobajtach. Wartość 2000 - pliki użytkownika na /dev/hda3 zajmują obecnie 2MB.
soft - określa maksymalną quote dla użytkownika na danej partycji w kilobajtach. Jeśli skonfigurowano okres łaski ( ang. grace period ) użytkownik może przekroczyć skonfigurowany limit. Jeśli w kolumnie tej jest wartość 0 znaczy to że przydziały są wyłączone.
hard - limit miejsca którego nie można przekroczyć pod żadnym pozorem ( w kilobajtach). Jeśli w kolumnie tej jest wartość 0 znaczy to że przydziały są wyłączone.
inode - inode to struktura danych zawierająca informacje na temat pliku ( kto jest właścicielem, jakie są prawa dostępu do pliku... itd. ). Każdy plik posiada inode identyfikowaną przez inode number ( i-number ). Ustawiając wartości soft i hard dla inode ustawiamy ile plików może posiadać użytkownik. Wartość 15 w przykładzie powyżej znaczy że użytkownik posiada obecnie 15 plików na /dev/hda3.

Jeśli chcemy zmienić ustawienia quota dla większej ilości użytkowników najpierw konfigurujemy quota dla użytkownika, który będzie brany jako wzór. Powiedzmy że ustawiliśmy przydziały dla użytkownika login_uzytkownika z poprzedniego przykładu i teraz chcemy by inni użytkownicy mieli takie same ustawienia.

# edquota -p login_uzytkownika user1 user2 user3 user4
 
Po każdej zmianie w quot'a należy
# quotacheck -favugm

Okres łaski ustawimy:
# edquota -t

W odpowiedzi system wyświetli:
 
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem             Block grace period     Inode grace period
  /dev/hda3                     7days                  7days


Raport przydziałów:
 
#repquota -a




 cdn .... http://www.eioba.pl/a70650/quota


zasób sieciowy w grupie roboczej

W systemie należy sprawdzić obecność dwóch demonów :
#ps -A | grep smbd
#ps -A | grep nmbd


plik konfiguracyjny /etc/samba/smb.conf

[global]
workgroup = Workgroup
netbios name = Pingwin
server string = Serwer linuksowy
security = share
#opcjonalnie:
#encrypt password = yes 
#smb passwd file = /etc/samba/private/smbpasswd
##############################
#global - zawiera parametry do wszystkich funkcji serwera samby
#workgroup - nazwa grupy roboczej
#netbios name - nazwa komputera z jaką pojawi się w otoczeniu sieciowym
#server string - dodatkowa nazwa pojawiająca się  z nazwą komputera
#share - zabezpieczenie na poziomie zasobów
#encrypt passwords = yes - używanie zaszyfrowanych haseł
#smb passwd file - plik z użytkownikami i hasłami
#######################################
[poligon]
comment = dysk dla wszystkich
path=/dla_wszystkich
create mask = 0777
directory mask = 0777
browsable = yes
writable = yes
guest ok = yes
###########################################
#poligon - nazwa udostępnionego zasobu (katalogu)
#comment - komentarz
#path - ścieżka dostępu
#create mode - maska tworzonych plików w udostępnionym katalogu
#directory mask - j.w. dot katalogów
#browsable - określa widoczność zasobu w otoczeniu sieciowym
#writable - określa czy można tworzyć, modyfikować pliki, katalogi (przeciwieństwem jest read only)
#guest ok - dostęp do zasobu bez podawania hasła (synonim public)
#############################################
[homes]
comment = katalog domowy użytkownika
writable = yes
#######################################
#homes - dostęp do katalogu domowego użytkownika mającego konto na serwerze linux i wpis # do smbpasswd

tworzymy w systemie zasób "dla_wszystkich"
#mkdir dla_wszystkich
#chmod 0777 dla_wszystkich

po każdej modyfikacji /etc/smb.conf należy wykonać test:
#testparm
Następnie restart demona samby:
/etc/rc.d/rc.samba restart

W otoczeniu sieciowym Windows XP (po ustawieniu odpowiedniej zgodnej grupy) uzyskamy :


Rys. 1. Serwer linuksowy Pingwin (server string / netbios name) 


Wywołanie zdefiniowanych zasobów sieciowych poprzez uruchom w MS Win \\192.168.1.2 daje efekt:


W przypadku zasobu "homes" należy podać użytkownika i hasło (zamapować używając innej nazwy użytkownika i hasło):


Dodajemy użytkowników do systemu Linux i Samba:
# groupadd smbuser
# useradd -c "Użytkownik Samby" -s /bin/false -g smbuser -d /home/samba/mariop mariop
# smbpasswd -a mariop
Utworzyć katalog domowy:
#mkdir /home/samba/mariop
#chown -R mariop.smbuser mariop
 Warto pamiętać pozostałe opcje związane z użytkownikami samby:
#smbpasswd -d mariop (tymczasowe zablokowanie)
#smbpasswd -e mariop (odblokowanie)
#smbpasswd -x mariop (usunięcie użytkownika)
Chcąc przełączać się w WinXP pomiędzy użytkownikami katalogu homes należy bezwględnie odmapować wszystkie dyski klikając na mój komputer ->odmapuj dyski sieciowe.

Inne:
Aby do określonego zasobu np spool przypisać określonych użytkowników należy w pliku /etc/samba/smb.conf dokonać wpisu:

[spool]
comment = dla_niektorych
path=/home/samba/spool
browsable = yes
writable = yes
valid users =  mariop user1 user3
Oczywiście wcześniej tworzymy użytkowników i katalog spool.

Uwaga, kompy nie muszą być w tej samej grupie, ale należy podać wtedy ścieżkę dostępu przy mapowaniu dysku :

Ograniczeniem jest jednak to, że w danym momencie może być tylko podmontowany jeden użytkownik, który będzie miał dostęp do wszystkich udostępnionych dla siebie folderów. Chcąc podłączyć innego użytkownika trzeba odłączyć aktualnego.








syslog.conf

Bieżący podgląd wpisów z logów systemowych (CTRL ALT F12).
Do pliku /etc/syslog.conf  dopisać na końcu wiersz

*.* /dev/tty12
Restart z linii poleceń :
# killall -HUP syslogd 

Tworzenie serwerów virtualnych w apache, przekierowanie

Załóżmy że chcemy mieć dostęp do serwera virtualnego (na tym samym ip) przez określony port.
W pliku /etc/httpd/httpd.conf:

1. Dokładamy do nasłuchu port np:

Listen 5700

2. Definiujemy wirtualnego hosta:




<VirtualHost *:5700>
DocumentRoot /home/www/blokada
ServerName www.blokada.mariop.alias.pl
ServerAlias blokada.mariop.alias.pl
ServerAdmin mariop@mariop.alias.pl
</VirtualHost>

Udostępnienie katalogu wirtualnego serwera:
 <Directory "/home/www/blokada">
 AllowOverride None
Order allow,deny
 Allow from all
</Directory>

Restart serwera apache z linii poleceń:
#apachectl -k restart
Przekierowanie serwera na inną stronę www za pomocą komendy "redirect":

          NameVirtualHost *:80
<VirtualHost *:80>
    ServerAlias moja_domena.pl
    Redirect permanent / http://www.inna_domena.pl/
</VirtualHost> 
Aby można było stosować wiele serwerów wirtualnych na porcie 80 należy zastosować zapis NameVirtualHost *:80
Ważne aby "moja_domena" była gdzieś zdefiniowana (DNS - /var/named/nazwa.pl lub /etc/hosts). 

 #apachectl -k restart

Sasl+postfix+stunel+ttl

źródło : http://forum.slackware.pl/viewtopic.php?t=4806

cd /usr/local/src
tar -xzf cyrus-sasl-2.1.21.tar.gz
tar -xzf postfix-2.2.4.tar.gz

Usunięcie pozostałości po sandmail'u:

#pkgtool




1. Instalacja cyrus-sasl-2.1.21


./configure --disable-cram --disable-digest \
--disable-krb4 --enable-plain --disable-anon \
--enable-login --with-saslauthd=/var/saslauthd

--disable-cram - wyłącza autoryzację CRAM-MD5
--disable-digest - wyłącza autoryzację DIGEST-MD5
--disable-krb4 - wyłącza autoryzację KERBEROS V4
--enable-plain - pozwala na autoryzację za pomocą czystego tekstu
--disable-anon - wyłącza autoryzację ANONYMOUS
--enable-login - aktywuje możliwość logowania z poziomu Outlooka (wszystko M$ jest niekompatybilne...)
--with-saslauthd=/var/saslauthd - aktywuje używanie saslauth w stałym katalogu


 Następnie: 

make 
U mnie wystąpił błąd należy zakomentować w pliku ./lib/client.c  
/*static sasl_global_callbacks_t global_callbacks;*/
make install
ln -s /usr/local/lib/sasl2 /usr/lib/sasl2
ln -s /usr/local/lib/libsasl2.so.2.0.21 /usr/lib/libsasl2.so.2
mkdir /var/saslauthd 
touch /usr/local/lib/sasl2/smtpd.conf

ClamAV - instalacja

Dodanie użytkownika clamav

# groupadd clamav
# useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav
 
Instalacja 
# ./configure --sysconfdir=/etc/clamav --datadir=/etc/clamav \ 
--with-dbdir=/etc/clamav 
 
# make && make install 
 
  
Przygotowanie katalogów
 

# chown -R clamav:clamav /etc/clamav
# mkdir /var/run/clamav; chown -R clamav:clamav /var/run/clamav
# mkdir /var/log/clamav; chown -R clamav:clamav /var/log/clamav
 
Konfiguracja clamav
 
/etc/clamav/clamd.conf  zakomentowanie słowa Example na początku pliku i ustawiamy parametry:


#Example
LogFile /var/log/clamav/clamd.log 
LogTime yes 
LogSyslog yes 
LogVerbose yes

PidFile /var/run/clamav/clamd.pid 
LocalSocket /var/run/clamav/clamd.socket 
FixStaleSocket yes 
TCPSocket 3310 
TCPAddr 127.0.0.1


ScanPDF yes 

 

 Konfiguracja freshclam.conf



#Example

UpdateLogFile /var/log/clamav/freshclam.log
LogVerbose yes
LogSyslog yes
PidFile /var/run/clamav/freshclam.pid
NotifyClamd /etc/clamav/clamd.conf
 
W przypadku problemów z uruchomieniem:
#ldconfig
#freshclam
#clamd start 

Skrypt daemona

#/etc/rc.d/init.d/clamd
#!/bin/sh
#
# Start clamd:
clamd_start() {
  if [ -x /usr/local/sbin/clamd ]; then
    echo "Starting clamd:  /usr/local/sbin/clamd"
    /usr/local/sbin/clamd
    echo "done."
  fi
  if [ -x /usr/local/bin/freshclam ]; then
    echo "Starting freshclam:  /usr/local/bin/freshclam"
    /usr/local/bin/freshclam -d
    echo "done."
  fi
}
 
# Stop clamd:
clamd_stop() {
  killall freshclam
  rm -rf /var/run/clamav/freshclam.pid
  killall clamd
  rm -rf /var/run/clamav/clamd.pid
  rm -rf /var/run/clamav/clamd.sock
}
 
# Restart clamd:
clamd_restart() {
  clamd_stop
  sleep 1
  clamd_start
}
 
case "$1" in
'start')
  clamd_start
  ;;
'stop')
  clamd_stop
  ;;
'restart')
  clamd_restart
  ;;
*)
  echo "usage $0 start|stop|restart"
esac

Nadajemy prawo wykonywalności:
# chmod a+x /etc/init.d/clamd


Dodajemy do rc.local:
/etc/rc.d/init.d/clamd start