niedziela, 23 lutego 2014

Linux jako klient Active Directory z profilami wędrującymi cz. II


W pierwszej części poradnika pokazałem jak zainstalować i skonfigurować system Xubuntu w celu dodania komputera do Active Directory i uruchomienia logowania użytkowników domenowych. W tej części przedstawię kilka wskazówek, które ułatwią korzystanie z systemu Linux w Active Directory. Punktem kulminacyjnym tego artykułu będzie włączenie montowania zasobów użytkowników z serwera. Dzięki temu profile wędrujące przestaną dotyczyć wyłącznie systemów Windows.

Punkt trzeci poniższego tutoriala nie dotyczy bezpośrednio Linuxa. Pokazuję w nim jak tworzyć grupę w domenie i nadawać jej uprawnienia do folderów. To do jakiej grupy należą użytkownicy jest ważne w systemie Linux i przekłada się na uprawnienia folderów lokalnych. Dla administratora domeny, w której użytkownicy korzystają z różnych systemów operacyjnych, zarządzanie grupami będzie miało znaczenie.


1. Ustawienie hasła administratora


Jeśli w systemie jest zalogowany użytkownik domeny a w konsoli chcemy się dostać do konta root, musimy wykonać dosyć skomplikowaną operację: zalogować się na konto użytkownika stworzone podczas instalacji systemu poprzez wpisanie polecenie su manager (lub inna nazwa) i podanie hasła, wpisanie polecenia sudo su i ponowne podanie hasła. Aby uprości sprawę możemy będąc zalogowani na konto root wydać komendę

# passwd

i podać nowe hasło. Po tej operacji będzie można się zalogować na konto root z poziomu dowolnego usera poprzez wydanie polecenie su i podanie nowo utworzonego hasła.


2. Ustawienie domyślnej domeny logowania i praw do folderu użytkownika


W poprzedniej części pokazałem, że aby zalogować się do systemu Xubuntu kontem domenowym, nazwę użytkownika trzeba poprzedzić krótką nazwą domeny (hogwart\mpgomulka). Można sobie ułatwić sprawę wydając polecenie:

# lwconfig AssumeDefaultDomain true

Przy logowaniu można wpisywać samą nazwę użytkownika. Ta zmiana będzie miała też znaczenie później przy montowaniu folderów użytkowników.

Po za logowaniu do Xubuntu kontem użytkownika AD jest tworzony katalog profilu w lokalizacji /home/likewise-open/NAZWA_DOMENY/nazwa_proflu. Według domyślnych ustawień użytkownik ma pełne prawa do folderu, ale inni użytkownicy w danej grupie mogą przeglądać jego zawartość. Aby udzielić wyłącznych praw do folderu użytkownikowi, trzeba wywołać komendę:

# lwconfig homedirumask 077

Narzędzie lwconfig jest instalowane wraz z pakietem likewise-open.


3. Profile wędrujące i folder wspólny


Poniższe operacje będziemy wykonywać dla użytkowników konkretnej grupy. Dlatego w tym zagadnieniu zacznę od utworzenia grupy i jej członków.

Na komputerze z systemem Windows z zainstalowanymi przystawkami administracji serwerem trzeba otworzyć Użytkownicy i komputery usługi Active Directory, otworzyć folder Users, kliknąć prawym przyciskiem myszy, wybrać Nowy => Grupa:


Jeśli tworzymy konta dla uczniów, możemy nazwać grupę "Students". Pozostałe opcje pozostawiamy domyślne.
W kolejnym kroku należy utworzyć konta, np. student1, student2, student3... wybierając Nowy => Użytkownik. Wystarczy wypełnić pole Imię lub Nazwisko oraz Nazwa logowania użytkownika. Każdego użytkownika należy dodać do grupy Students poprzez kliknięcie prawym przyciskiem myszy, wybranie Właściwości, karta Członek grupy. Do listy dodajemy grupę Students, ustawiamy ją jako domyślną i usuwamy grupę Domain users:


Następnie należy utworzyć foldery na kontrolerze domeny. Jeden wspólny - Common i drugi do przechowywania prywatnych plików użytkowników mobilnych. Trzeba zalogować się kontem root i wykonać polecenie:

# mkdir /usr/local/samba/var/Common
# mkdir /usr/local/samba/var/StudentsData

Aby udostępnić zasoby sieciowe w Sambie, trzeba wyedytować plik /usr/local/samba/etc/smb.conf dodając informację o nowo utworzonych folderach:


Trzeba przeładować ustawienia Samby poleceniem:

# /usr/local/samba/bin/smbcontrol all reload-config

Aby sprawdzić czy zmiany odniosły skutek wydajemy komendę:

# /usr/local/samba/bin/smbclient -L localhost -U%

Nowe foldery powinny się pojawić na liście:


W kolejnym kroku musimy przydzielić grupie Students uprawnienia do nowych folderów. W tym celu wracamy na komputer z Windows, wciskamy klawisze Windows+R i wpisujemy \\nazwa_serwera. Powinno pojawić się okno:


Klikamy prawym przyciskiem myszy na folder Common, wybieramy Właściwości, kartę Zabezpieczenia i klikamy Edytuj. Z listy możemy usunąć wszystkie wpisy poza Administratorem. Musimy dodać grupę Students i nadać jej Pełną kontrolę:


W przypadku folderu StudentsData klikamy prawym przyciskiem myszy, wybieramy Właściwości, kartę Zabezpieczenia. Klikamy przycisk Zaawansowane i Zmień uprawnienia. Z listy usuwamy wszystko poza Administratorem, dodajemy grupę Students i w okienku, które się pojawi wybieramy "Tylko ten folder" i zezwalamy na Pełną kontrolę:


Klikamy OK. W okienku odznaczamy pole "Dołącz uprawnienia dziedziczne z tego obiektu nadrzędnego":


Zamykamy okna klikając OK.

Aby użytkownicy mieli dostęp do folderu Common i swoich folderów prywatnych zaraz po zalogowaniu w systemie Windows, należy wprowadzić  następujące ustawienia. Trzeba zaznaczyć wszystkich użytkowników z grupy Students, kliknąć prawym przyciskiem myszy, wybrać Właściwości, kartę Profil i wprowadzić ustawienia według schematu:


Klikamy Zastosuj, potwierdzamy wyskakujący komunikat i klikamy OK.

W ten sposób utworzyliśmy profile wędrujące w grupie Students. Po zalogowaniu w systemie Windows, w oknie Mój komputer jest widoczny dysk sieciowy zmapowanego folderu Common:



4. Montowanie zasobów w Xubuntu


Wiemy już jak stworzyć profil wędrujący i korzystać z niego w systemach Windows. Umiemy też utworzyć wspólny folder i mapować dysk sieciowy. W tym punkcie pokażę jak te same operacje przeprowadzić w systemie Linux na przykładzie Xubuntu.

Aby móc montować zasoby Samby w Linuxie musimy zainstalować odpowiednie pakiety. W Xubuntu (i innych systemach opartych na Debianie) otwieramy konsolę, logujemy się na konto root i wykonujemy polecenie:

# apt-get install cifs-utils



Folder Common


Zaczniemy od montowania folderu wspólnego. Będą mieli do niego dostęp wszyscy użytkownicy grupy Students. Najpierw utworzymy folder, do którego będą montowane zasoby:

# mkdir /mnt/Common

W ten sposób utworzony folder jest własnością użytkownika root w grupie root. Musimy zatem zmienić właściciela folderu:

# chown :NAZWA_DOMENY\\Students /mnt/Common

Nadamy też pełne uprawnienia grupie Students do folderu:

# chmod 070 /mnt/Common

Wydając polecenie:

# ls -l /mnt

powinniśmy zobaczyć następujący zapis:


Zwykłe montowanie dla jednego użytkownika możemy wykonać wydając polecenie:

# mount.cifs //serwer.domena.local/Common /mnt/Common -o username=student1,password=P@ssword,uid=NAZWA_DOMENY\\student1

Odmontowujemy poleceniem:

# umount /mnt/Common

Aby folder Common był montowany przy każdym uruchomieniu komputera, musimy dodać odpowiedni zapis w pliku /etc/fstab:


Zapis credentials=/usr/src/.smbcred oznacza, że nazwa użytkownika i hasło znajduje się w ukrytym pliku, który musimy stworzyć. Wydajemy komendę:

# mcedit /usr/src/.smbcred

i wpisujemy nazwę użytkownika posiadającego prawa do zasobów sieciowych oraz hasło:


Nadajemy jeszcze odpowiednie prawa do pliku, aby login i hasło nie dostały się w niepowołane ręce:

# chmod 600 /usr/src/.smbcred

Foldery prywatne użytkownika


Nieco inaczej wygląda kwestia montowania folderu z danymi użytkownika. W Linuxie istnieje możliwość zamontowania wybranych zasobów podczas logowania usera. W tym celu musimy zainstalować pakiet

# apt-get install libpam-mount

Po instalacji dopisujemy jedną linijkę do polik /etc/security/pam_mount.conf.xml:


Wpis oznacza m. in., że zasoby będą montowane do folderu Windows w lokalizacji użytkownika w systemie. Nie trzeba tworzyć folderu Windows. Będzie on się pojawiał automatycznie podczas logowania i znikał po wylogowaniu. Jeśli użytkownicy będą równolegle korzystali z systemu Windows 7 należy zmenić wpis
path="StudentsData/%(DOMAIN_USER).V2"
Możemy wpisać kilka linijek <volume... /> dla użytkowników różnych grup.

Po wykonaniu powyższych operacji, możemy zalogować się do Xubuntu profilem domenowym. Po zalogowaniu wchodzimy w Katalog użytkownika i sprawdzamy czy jest w nim folder Windows. Jeśli wcześniej nie logowaliśmy się w systemie Windows, folder nie zostanie utworzony. Następnie z pulpitu wchodzimy w System plików, otwieramy folder mnt a następnie Common. Wewnątrz tworzymy dowolny plik lub katalog:


Następnie z innego komputera wchodzimy do lokalizacji \\serwer\Common. Powinien wyświetlić się utworzony testowy plik:


Oznacza to, że folder Common montuje się poprawnie.

Na końcu dla testów w Xubuntu w prawym górnym rogu klikamy nazwę usera i wybieramy Przełącz użytkownika. Logujemy się innym kontem domenowym.


Na ekranie widać, że drugi użytkownik z grupy Students posiada uprawnienia do folderu Common i nie ma uprawnień do folderu pierwszego zalogowanego profilu.

Skróty do folderu Windows i Common możemy wyciągnąć na pulpit. Klikamy na folder prawym przyciskiem myszy, wybieramy Wyślij do => Pulpit (utwórz dowiązanie).


5. Dodanie grupie uprawnień administracyjnych w Xubuntu


Grupom w Active Directory można nadawać prawa administracyjne w Linuxie, aby użytkownicy mogli wykonywać polecenia administratora poprzedzone słówkiem sudo. Aby to zrobić, należy z poziomu root wyedytować plik /etc/sudoers i dodać linijkę jak na ekranie:


Po zapisaniu pliku wydajemy komendę testową z poziomu użytkownika domeny:

$ sudo apt-get update

Po wpisaniu hasła użytkownika powinniśmy dostać taki wynik:



Zakończenie


Desktop z systemem Linux został dodany do domeny Active Directory. Profile wędrujące zostały uruchomione a użytkownicy mogą zapisywać swoje dane w jednym folderze zarówno w systemie Linux i Windows.

Administratorom życzę powodzenia we wdrożeniach. Wszelkie pytania i sugestie piszcie w komentarzach. Zawsze chętnie pomogę.

środa, 19 lutego 2014

Linux jako klient Active Directory z profilami wędrującymi cz. I



Wstęp


Uruchomienie kontrolera domeny Active Directory w systemie Unix/Linux niemal domaga się, aby komputery klienckie nie było obsługiwane wyłącznie przez systemy Windows, ale także przez środowiska z rodziny darmowego oprogramowania. Bez względu na to jaki system zarządza kontrolerem domeny, można podpiąć Linuxa do Active Directory. Jak to zrobić, pokażę w tym tutorialu.

Pierwszym wyborem, przed jakim staje administrator, jest to, którą dystrybucję wybrać do instalacji na desktopach. Przed napisaniem tego poradnika dopadł mnie taki sam dylemat, więc przetestowałem kilka środowisk. Nieco inaczej podłącza się do domeny systemy z rodziny Red Hat (Fedora, CentOS) a inaczej Debian/Ubuntu czy Suse. Ostatecznie wybrałem drugi zestaw a konkretnie system Xubuntu. Dlaczego akurat ten? Po pierwsze oprogramowanie z rodziny Ubuntu jest obecnie bardzo popularne, cały czas rozwijane i wspierane. Po drugie, po intuicyjnej  instalacji dostajemy gotowy i działający system, którego nie trzeba specjalnie konfigurować żeby działał. No i po trzecie (i chyba najważniejsze), czytelnikami moich poprzednich poradników są nie raz administratorzy szkolnych pracowni, którzy szukają alternatywy dla umierającego programu "Pracowni komputerowych dla szkół" z SBS-em. Od przyjaciela wiem, że komputery w takich pracowniach to leciwe maszyny, którym ciężko obsłużyć coś ponad Windows XP, który lada dzień straci wsparcie. Potrzeba więc lekkiego systemu z mało wymagającym środowiskiem graficznym. Takim jest Xfce dostępny m. in. w Xubuntu (Ubuntu+Xfce). Z tej samej rodziny mogę również polecić system Linux Mint. Wywodzi się również z Ubuntu i jest możliwość zainstalowania środowiska Xfce.

Instalacja systemu


Obraz płyty instalacyjnej można pobrać ze strony http://xubuntu.org/getxubuntu/. Jak wspomniałem we wstępie instalacja Xubuntu przebiega bezproblemowo i intuicyjnie. W pierwszym kroku należy wybrać język systemu:


Kolejne opcje można pozostawić domyślnie. Okienku "Tożsamość użytkownika" należy wypełnić wg wzoru:


"Imię i nazwisko użytkownika" można zostawić puste. Po kliknięciu "Naprzód" można zrobić sobie kawę i poczekać aż pojawi się ekran:


Klikamy "Uruchom ponownie komputer". Po chwili pojawi się komunikat:


Wyjmujemy płytę instalacyjną i wciskamy Enter.

Następnie należy się zalogować kontem utworzonym podczas instalacji:


Konfiguracja przed podłączeniem do domeny


Kolejne kroki będziemy wykonywać głównie w konsoli. W tym celu na górze po lewej rozwijam menu ukryte pod logiem Xfce, wybieramy Akcesoria i Emulator terminala:


Do wprowadzania ustawień potrzebujemy konta roota więc w konsoli wpisujemy:

$ sudo su

i podajemy hasło naszego użytkownika.

Najpierw należy sprawdzić czy mamy połączenie z siecią, w której znajduje się domena Active Directory. Wywołujemy komendę

# ifconfig

i sprawdzamy adres IP komputera:


Poprzez ping dowolnego adresu internetowego możemy sprawdzić połączenie ze światem.

Podobnie jak w poprzednich poradnikach polecam instalację programu Midnight Commander, który da nam wygodny menedżer plików oraz przyjazny edytor tekstów mcedit. W tym celu wywołujemy polecenie:

# apt-get install mc

Jeśli wszystko do tej pory przebiegło poprawnie, musimy sprawdzić połączenie z kontrolerem domeny. Wywołujemy komendę:

# ping nazwa_serwera -c 6

Prawdopodobnie kolejne linijki pingu będą wyświetlać się dosyć niemrawo, gdyż system w poszukiwaniu nazwy przeszukuje DNS. Aby proces przyspieszyć, trzeba wyedytować plik /etc/hosts:

# mcedit /etc/hosts

Dopisujemy linijkę na górze pliku poprzez wpisanie adresu IP, pełnej i krótkiej nazwy naszego kontrolera domeny:


Aby zapisać wciskamy F2, a żeby wyjść - dwa razy Esc. Po tej operacji jeszcze raz sprawdzamy ping. Powinien iść znacznie szybciej.

Kolejne kroki mają za zadanie poprawne ustawienie pliku /etc/resolv.conf. Odpowiada on za przeszukiwanie DNS i rozpoznawanie nazw hostów. W Linuxach desktopowych podczas instalacji systemu zostają zainstalowane pakiety, które dynamicznie aktualizują ten plik. Jednego z nich musimy się pozbyć. Wykonujemy polecenie:

# apt-get purge resolvconf

Następnie edytujemy plik /etc/NetworkManager/NetworkManager.conf i przed linijką dns=dnsmasq stawiamy znak #.
W kolejnym kroku trzeba otworzyć plik /etc/dhcp/dhclient.conf oraz znaleźć i wyedytować dwie linijki wg wzoru:


Oczywiście trzeba wpisać swoją nazwę domeny i adres serwera.

Na koniec tego etapu musimy jeszcze wyedytować plik /etc/nsswitch.conf. Odnajdujemy i zmieniamy linijkę:

hosts:          files dns mdns4_minimal [NOTFOUND=return]

Zainstalujemy jeszcze pakiet likewise-open, który później pozwoli nam się połączyć z domeną:

# apt-get install likewise-open

Po instalacji restartujemy komputer.

Podpięcie komputera do domeny


Po ponownym uruchomieniu komputera otwieramy terminal i logujemy się na konto roota. Poleceniem

# cat /etc/resolv.conf

sprawdzamy zawartość pliku. Powinna być ona zbliżona do tej:


W pliku musi się znaleźć nazwa domeny i adres serwera DNS (kontrolera domeny).

Podłączenie komputera do domeny Active Directory odbywa się przez polecenie:

# domainjoin-cli join pelna.nazwa.domeny konto_administratora_domeny

Podajemy hasło administratora domeny i jeśli wszystko do tej pory przebiegło poprawnie powinny się wyświetlić następujące komunikaty:


Komputer został dodany do Active Directory. Jak mówi ostatni komunikat, należy ponownie uruchomić komputer.

Gdy po restarcie wyświetli się ekran logowania, należy rozwinąć listę i wybrać "Inny użytkownik...":


W polu nazwy użytkownika trzeba wpisać nazwę poprzedzoną krótką nazwą domeny:


Po wpisaniu hasła klikamy "Log In" i uruchamia się system. W prawym górnym rogu ekranu widzimy pełną nazwę użytkownika domeny:


Na koniec można jeszcze otworzyć przystawkę "Użytkownicy i komputery usługi Active Directory" na komputerze z systemem Windows w celu potwierdzenia, że desktop z Xubuntu dodał się do domeny:



Zakończenie


Jeśli chodzi o dodanie komputera z systemem Linux do Active Directory i logowanie kontem domenowym to wszystko. W kolejnym artykule pokażę jeszcze klika przydatnych opcji, m. in. jak montować dane użytkowników przechowywane na serwerze, aby móc w pełni cieszyć się możliwościami profili wędrujących.