1 Tworzenie wªasnego zaproszenia dla powªoki bash 2 Zakªadanie

Transkrypt

1 Tworzenie wªasnego zaproszenia dla powªoki bash 2 Zakªadanie
1
Tworzenie wªasnego zaproszenia dla powªoki bash
Posta¢ zaproszenia do wprowadzania polece«, które widoczne jest po otworzeniu terminala
tekstowego ksztaªtuje zawarto±¢ zmiennej systemowej PS1. Jej warto±¢ mo»emy zmieni¢ w
prowadzaj¡c odpowiednie modykacje w pliku konguracyjnym ∼/.bashrc. Zazwyczaj
w domy±lnej zawarto±ci tego pliku (o ile jest on automatycznie tworzony przy zakªadaniu
konta) znajdziemy wpis:
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
Sekwencja \u@\h:\w\$ powoduje, »e w zaproszeniu wy±wietla si¦ najpierw login u»ytkownika, znak @, nazwa hosta oraz po znaku ':' ±cie»ka dost¦pu do aktualnego katalogu.
Caªo±¢ ko«czy si¦ znakiem $ np:
jkowalsk@panamint:~/zamp/z1$
Je±li chcemy mie¢ wy±wietlon¡ tylko nazw¦ bie»¡cego podkatalogu oraz inn¡
zaproszenia, np. '>', to wystarczy ten wpis zamieni¢ na
ko«cówk¦
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\W> '
2
Zakªadanie repozytorium
Opisana poni»ej procedura ma charakter ogólny. Niemniej dla ustalenia uwagi zaªó»my,
»e pracujemy na panamincie.
1. Wybieramy sobie kartotek¦ w strukturze katalogu domowego. Zaªó»my, »e jest to
katalog $HOME/repos .
2. Wykorzystuj¡c program svnadmin tworzymy podstawow¡ struktur¦ repozytorium.
panamint:~> svnadmin create $HOME/repos
3. Tworzymy struktur¦ katalogu dla nowego zadania, np.
panamint:~> mkdir $HOME/zamp
panamint:~> cd $HOME/zamp
panamint:zamp> mkdir z1
panamint:zamp> cd z1
panamint:z1> mkdir trunk branches tags
4. Importujemy do repozytorium nowy projekt
panamint:z1> cd ..
panamint:zamp> svn import z1 -m 'Inicjalizacja z1' file:///$HOME/repos/zamp/z1
Adding
z1/trunk
Adding
z1/branches
Adding
z1/tags
Committed revision 1.
5. Mo»emy sprawdzi¢ jaka jest aktualna zawarto±¢ repozytorium
1
panamint:zamp> svn ls file:///$HOME/repos/
panamint:zamp> svn ls file:///$HOME/repos/zamp
panamint:zamp> svn ls file:///$HOME/repos/zamp/z1
6. Usuwamy dotychczasow¡ struktur¦ z katalogu i pobieramy jej wersj¦ z repozytorium.
panamint:zamp> rm -r z1
panamint:zamp> svn checkout file:///$HOME/repos/zamp/z1
A
z1/trunk
A
z1/branches
A
z1/tags
Checked out revision 1.
3
Dodawanie plików
1. Utwórzmy plik w podkatalogu trunk i dodajmy go do repozytorium.
panamint:zamp> cd z1/trunk
panamint:zamp> touch przyklad.txt
panamint:zamp> svn ls
# Plik nie ma pod kontrol¡ svn
panamint:zamp> svn add przyklad.txt
A
przyklad.txt
panamint:zamp> svn ls
# wci¡» nie widzimy pliku
Polecenie svn ls wy±wietla list¦ plików, które s¡ w katalogu bie»¡cym pod kontrol¡
svn, i których kopie znajduj¡ si¦ ju» w repozytorium.
2. Skªadowanie zmian w repozytorium
panamint:zamp> svn commit -m 'Dodanie pliku "przyklad.txt"'
Adding
przyklad.txt
Transmitting file data .
Committed revision 2.
panamint:zamp> svn ls
panamint:zamp> svn update
Updating '.':
At revision 2.
panamint:zamp> svn ls
przyklad.txt
4
# wci¡» nic
Wª¡czanie wªasno±ci
Zmie«my plik przyklad.txt dodaj¡c wpisy, które svn b¦dzie rozpoznawaª i umieszczaª
tam dodatkowe informacje.
panamint:z1> cat >> przyklad.txt
$HeadURL: $
$Author: $
$Date: $
2
$Revision: $
panamint:z1> svn propset 'svn:keywords' "Rev Date Author HeadURL" przyklad.txt
Teraz zeskªadujmy zmiany do repozytorium i zaktualizujmy zawarto±¢ katalogu. Po tej
zmianie w pliku przyklad.txt zostan¡ wpisane informacje o tym kto wprowadziª zmian¦
w danej wersji, kiedy ona nast¡piªa, jaka to jest wersja oraz gdzie znajduje si¦ repozytorium dla danego pliku.
panamint:z1> svn commit -m 'Wlaczone zostaly wlasnosci dla "przyklad.txt"'
Sending
przyklad.txt
Transmitting file data .
Committed revision 3.
panamint:z1> cat przyklad.txt
$HeadURL: file:///home/jkowalsk/repos/zamp/z1/trunk/przyklad.txt $
$Author: jkowalsk $
$Date: 2013-10-01 06:57:44 +0200 (wto, 01 pa¹ 2013) $
$Revision: 3 $
5
Komunikacja zdalna z archiwum (bezserwerowa)
Mo»liwe jest bezserwerowe korzystanie z archiwum. W tym celu najlepiej u»y¢ tunelowania poprzez ssh, a wi¦c protokoªu svn+ssh. Aby to prze¢wiczy¢, zaªó»my, »e b¦dziemy
pracowa¢ na diablo i ª¡czy¢ b¦dziemy si¦ z repozytorium na panamincie. Serwery diablo
i panamint maj¡ wspólny system plików. Jednak na potrzeby tego ¢wiczenia b¦dziemy je
traktowali jako osobne struktury.
Przed pobraniem projektu z repozytorium utwórzmy sobie odpowiedni katalog.
diablo:~> mkdir test/
diablo:~> cd test
Teraz pobierzmy projekt z repozytorium:
diablo:test> svn checkout svn+ssh://panamint.iiar.pwr.wroc.pl/home/jkowalsk/repos/zamp/z1
[email protected]'s password:
[email protected]'s password:
A
z1/trunk
A
z1/trunk/przyklad.txt
A
z1/branches
A
z1/tags
Checked out revision 2.
Korzystaj¡c z polece« commit, update, ls itp. nie musimy podawa¢ ju» lokalizacji repozytorium.
6
Generowanie kluczy dla ssh
Program ssh umo»liwia wygenerowanie kluczy, które s¡ wykorzystywane przy autoryzacji
zdalnego dost¦pu. Pozwala to na bezpieczn¡ autoryzacj¦ bez podawania hasªa. Dzi¦ki
temu przy posªugiwaniu si¦ programem svn z tunelowaniem poprzez ssh nie b¦dzie konieczne wielokrotne wpisywanie hasªa.
3
Nale»y jednak pami¦ta¢, »e automatyczna autoryzacja poprzez
ssh
rodzi inne poten-
cjalne zagro»enia. Je»eli kto± wªamie si¦ nam na konto, z którego mamy bezpieczny bezhasªowy dost¦p na konta na innych serwerach, to wªamywacz b¦dzie miaª równie» do nich
dost¦p.
Z tego powodu ten typ dost¦pu powinien by¢ mo»liwy tylko z konta, które jest
bardzo dobrze chronione.
Zaªó»my dalej, »e b¦dziemy chcieli mie¢ bezpieczny i bezhasªowy dost¦p do konta na
panmincie z poziomu konta na diablo. Poni»ej opisan¡ operacj¦ wykonujemy wtedy, gdy
nie wygenerowali±my jeszcze »adnych kluczy. Je»eli to ju» zostaªo wcze±niej zrobione, to
operacj¦ generacji nale»y pomin¡¢ i przej±¢ do nast¦pnej.
diablo:.ssh> ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jkowalsk/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/jkowalsk/.ssh/id_rsa.
Your public key has been saved in /home/jkowalsk/.ssh/id_rsa.pub.
The key fingerprint is:
ef:20:45:d2:ba:05:fd:06:ff:1c:27:2c:e5:be:10:06 jkowalsk@diablo
The key's randomart image is:
+--[ RSA 2048]----+
|
|
|
o
|
|
o E
.
|
|
= = +
|
|
. S B = . |
|
+ + * + |
|
o . o +
|
|
. o . . |
|
. .
|
+-----------------+
diablo:~> _
Serwery diablo i panamint maj¡ wspólny system plików. Jednak dalsza procedura jest
pokazana w sposób mo»liwie ogólny. Tak wi¦c nie korzysta si¦ z faktu, »e serwery te
dziaªaj¡ na tym samym systemie plików.
Kolejna operacja maja na celu przekopiowanie pliku id_rsa.pub na panamint i doª¡cznie go do pliku ∼/.ssh/authorized_keys
diablo:~> scp .ssh/id_rsa.pub panamint:.ssh/id_rsa.pub.diablo
Password:
id_rsa.pub
100% 1683
1.6KB/s 00:00
diablo:~> ssh panamint
Password:
Linux panamint 2.6.32-5-686-bigmem #1 SMP Fri Feb 15 16:26:23 UTC 2013 i686
Linux panamint 2.6.32-5-686-bigmem #1 SMP Tue Mar 8 22:14:55 UTC 2011 i686
****************************************************************************
*
*
*
P A N A M I N T^8
*
*
Debian
*
*
*
*
przegladarki www: opera,firefox
*
4
*
klient pocztowy: alpine, mailx
*
*
graficzne edytory tekstu: gedit,gvim,emacs
*
*
edytory tekstu: vi,vim,nano,emacs,pico
*
*
programy inzynierskie: matlab,R
*
*
narzedzia programistyczne: ddd, designer
*
* narzedzie do tworzenia dokumentow tekstowych: latex
*
*
programy graficzne: xfig,qcad
*
*
*
*
W przypadku problemow prosimy pisac na adres:
*
*
[email protected]
*
****************************************************************************
No mail.
Last login: Wed Oct 2 13:40:41 2013 from diablo
panamint:~> cd .ssh
panamint:.ssh> touch authorized_keys
panamint:.ssh> cat id_rsa.pub.diablo >> authorized_kes
panamint:.ssh> rm id_rsa.pub.diablo
Operacja zako«czona. Pozostaje przetestowa¢, »e wszystko dziaªa.
panamint:.ssh> exit
logout
Connection to panamint closed.
diablo:~> ssh panamint
Linux panamint 2.6.32-5-686-bigmem #1 SMP Fri Feb 15 16:26:23 UTC 2013 i686
Linux panamint 2.6.32-5-686-bigmem #1 SMP Tue Mar 8 22:14:55 UTC 2011 i686
****************************************************************************
*
*
*
P A N A M I N T^8
*
*
Debian
*
*
*
*
przegladarki www: opera,firefox
*
*
klient pocztowy: alpine, mailx
*
*
graficzne edytory tekstu: gedit,gvim,emacs
*
*
edytory tekstu: vi,vim,nano,emacs,pico
*
*
programy inzynierskie: matlab,R
*
*
narzedzia programistyczne: ddd, designer
*
* narzedzie do tworzenia dokumentow tekstowych: latex
*
*
programy graficzne: xfig,qcad
*
*
*
*
W przypadku problemow prosimy pisac na adres:
*
*
[email protected]
*
****************************************************************************
No mail.
Last login: Wed Oct 2 13:41:20 2013 from diablo
panamnint:~> _
Dziaªa !!! :-)
5

Podobne dokumenty