Używanie skryptów wymagających hasła, bez faktycznego ich podawania

Tytuł troszkę zawiły, ale już tłumaczę na konkretnym przykładzie, który podał jeden z czytelników Jaack.

Jacek, będąc pod wrażeniem genialnego sposobu na wyłączenie touchpada opisanego tutaj klik, postanowił napisać skrypt, który podpiąłby pod skróty klawiszowe, aby łatwo włączać i wyłączać touchpada. Niestety w tej operacji wymagane jest hasło ( sudo rmmod oraz sudo modprobe) – i tutaj pojawił się problem, a raczej niedogodność w podawaniu hasła za każdym razem. Ale nasz dzielny Czytelnik poświęcił trochę czasu i udało mu się rozwiązać problem, a rezultaty jego poszukiwań przedstawiam poniżej :)

Załóżmy sytuację, że mamy skrypt o nazwie skrypt, który znajduje się gdzieś w katalogu domowym. Oczywiście w skrypcie wymagane jest podanie hasła, aby wykonał się on poprawnie. Dla przykładu – ma on taką zawartość:

#!/bin/bash

if `lsmod | grep -q psmouse`
then sudo rmmod psmouse
else sudo modprobe psmouse
fi

Jak widać – bez sudo ani rusz.

Firefox 3.6.6 – teraz również dla użytkowników systemów 64-bitowych

Niedawno opisywałem jak zainstalować najnowszego Firefoxa w Ubuntu, niestety tamten sposób działał tylko w systemach 32-bitowych. Dziś pokażę sposób, który pozwala zaktualizować liska niezależnie od architektury.

Na początek musimy dodać repozytorium, otwieramy terminal i wpisujemy:

sudo add-apt-repository ppa:ubuntu-mozilla-security/ppa

Teraz wystarczy zaktualizować indeks pakietów

sudo apt-get update

I na koniec zainstalować nowego Firefoxa:

sudo apt-get install firefox firefox-branding firefox-gnome-support

Instalacja Firefoxa 3.6.6 w Ubuntu

Jak pewnie zauważyliście niedawno ukazała się nowa wersja popularnej przeglądarki Firefox, która oprócz poprawek bezpieczeństwa oferuje separację procesów wtyczek. W praktyce oznacza to, że jeżeli na przykład Adobe Flash Player się wywali to wystarczy tylko odświeżyć stronę aby kontynuować przeglądanie. Niestety w domyślnym repozytorium wciąż widnieje starsza wersja.

Przejdźmy do rzeczy, najpierw musimy dodać repozytorium. W tym celu otwieramy terminal i wpisujemy:

echo -e "\ndeb http://downloads.sourceforge.net/project/ubuntuzilla/mozilla/apt all main" | sudo tee -a /etc/apt/sources.list > /dev/null

Następnie należy zaimportować klucz GPG aby potwierdzić autentyczność właściciela repozytorium:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com C1289A29

Przywracanie GRUBa 2 z LiveCD

Zgodnie z wcześniejszą obietnicą, zamieszczam sposób na przywrócenie GRUBa 2 przy użyciu płyty LiveCD.

Do dzieła! Uruchom system z LiveCD, a następnie otwórz terminal i wydaj polecenie:

sudo fdisk -l 

Z listy dysków odszukaj ten, na którym jest zainstalowany system – dla ułatwienia – prawdopodobnie będzie to jedyny dysk z rozszerzeniem ext4 (o ile w czasie instalacji pozwoliłeś instalatorowi na automatyczny dobór partycji). Jeśli ręcznie dobierałeś partycje, to tym bardziej nie powinieneś mieć problemu z określeniem, gdzie znajduje się Ubuntu.

Oznaczenie zapamiętane, idziemy dalej – tworzymy tymczasowy katalog, do którego zamontujemy partycję z systemem:

sudo mkdir /mnt/temp

I montujemy:

sudo mount -t ext4 /dev/dysk_na_ktorym_jest_Ubuntu /mnt/temp

E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

Chwałą Ci Początkujący Użytkowniku, jeśli trafiłeś tutaj sam, a nie odesłany przez kogoś innego!
Gdy podczas pracy w terminalu spotkasz się z takim komunikatem:

E: Nie udało się otworzyć pliku blokady /var/lib/dpkg/lock - open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

Oznacza to, że polecenie, które chcesz wykonać potrzebuje praw roota, stąd pytanie „are you root?”.

Rozwiązania są dwa:

sudo polecenie_które_wcześniej_wpisałeś

(należy podać hasło)