sudo bez hasła dla wybranych aplikacji

Dzisiaj uruchamiając ponownie serwer apache na swoim komputerze, musiałem po raz n-ty podać hasło użytkownika. Z racji, że robię to dość często, chciałem, aby ten proces odbywał się bez mojej dodatkowej autoryzacji. Dobrałem się więc do konfiguracji polecenia sudo.
Możemy ją znaleźć pod tą ścieżką:

/etc/sudoers

Zalecam edytowanie tego pliku za pomocą polecenia:

sudo visudo

Dodałem tam poniższy wpis:

wujku  ALL=NOPASSWD: /usr/sbin/apachectl

Od tego momentu, mogę korzystać z polecenia:

sudo apachectl

Bez podawania za każdym razem mojego hasła.

Zmienna PATH – dodawanie własnego katalogu

Chcąc uruchomić skrypt lub program, musisz przejść do katalogu w którym się znajduje:

cd ~/Documents/Skrypty

a później go uruchomić:

./clearTmp

Lepszym rozwiązaniem jest przeniesienie wszystkich często używanych przez ciebie skryptów do jednego katalogu, który dodasz do zmiennej środowiskowej PATH, przez co będziesz miał dostęp do swoich narzędzi w każdym miejscu.

Pierwsze stwórz katalog bin w głównym katalogu twojego użytkownika:

mkdir ~/bin

Będziesz tam przechowywał wszystkie swoje skrypty lub dowiązania do programów, w celu szybkiego dostępu do nich.
Jeżeli jeszcze nie posiadasz pliku ~/.bash_profile, utwórz go:

touch ~/.bash_profile

Plik ten jest wczytywany podczas każdego uruchomienia terminala. Zachowasz w nim instrukcję przypisana twojego katalogu ~/bin do zmiennej środowiskowej PATH. Skorzystaj z poniższego polecenia:

echo "PATH=$PATH:~/bin" >> ~/.bash_profile

Teraz uruchom ponownie terminal. Przenieś do ~/bin najczęściej wykorzystywane przez siebie skrypty, dla przykładu utworzę dowiązanie symboliczne do skryptu czyszczącego zawartość /tmp:

cd ~/bin
ln -s ~/Documents/Skrypty/clearTmp ./clearTmp

Wynik polecenia ls -l dla mojego katalogu ~/bin:

...
lrwxr-xr-x  1 wujku  staff       39 16 sie 14:49 clearTmp -> /Users/wujku/Documents/Skrypty/clearTmp
...

Po wykonaniu polecenia:

clearTmp

Zostanie uruchomiony skrypt ~/Documents/Skrypty/clearTmp.

Bootowalny pendrive pod OS X

Nie raz spotykamy się z problemem utworzenia na naszej małej przenośnej pamięci, bootowalnego instalatora, przykładowo z systemem operacyjnym z rodziny Linuxa.

Pierwszym działaniem będzie konwersja pobranego obrazu systemu z .iso na .img posługując się wbudowanym w system narzędziem (po konwersji należy zmienić rozszerzenie pliku z .img.dmg na .img drugim poleceniem):

hdiutil convert obraz.iso -format UDRW -o obraz.img
mv obraz.img.dmg obraz.img

Po wykonaniu powyższych dwóch komend, możemy podłączyć pendrive do Mac`a (pamiętając, że zawartość przenośnej pamięci zostanie zastąpiona obrazem po wykonaniu wszystkich czynności).
Posługując się poleceniem:

diskutil list

Lokalizujemy nasz pendrive na liście i zapamiętujemy jego nazwę, pod którą widziany jest w systemie operacyjnym (np. /dev/diskX, gdzie X to numer).
Przed kopiowaniem obrazu, musimy odmontować naszą pamięć przenośną poleceniem (zamień X własnym numerem):

diskutil unmountDisk /dev/diskX

Wykonując poniższe polecenie, obraz.img zostanie skopiowany do Waszej pamięci przenośnej (zamień X własnym numerem):

sudo dd if=obraz.img of=/dev/rdiskX bs=1m

Kopiowanie może zająć kilka minut w zależności od prędkości pendrive`a.
Po zakończeniu, możemy odmontować naszą pamięć przenośną.

Nie odpowiadam za nieumiejętne korzystanie z konsoli oraz za utracone w ten sposób dane. W razie pytań, zostaw komentarz.