Linux – Conoscere l’username da id
Per risalire al nome di un utente conoscendo l’id numerico è possibile utilizzare il comando getent, questa è la sintassi:
getent passwd id
Per risalire al nome di un utente conoscendo l’id numerico è possibile utilizzare il comando getent, questa è la sintassi:
getent passwd id
Se il vostro server web e’ apache allora potrete proteggere il vostro sito o una parte di esso utilizzando un file .htaccess
In questo modo visitando quella determinata URL potrete visualizzarne il contenuto solamente se siete a conoscenza delle relative credenziali di autenticazione.
Ecco come fare!
1) La password verra’ salvata in forma criptata in un file nel vostro sito.
Per generare la password criptata clicca qui
Inserisci la stringa ottenuta compilando il form online in un file chiamato .htpasswd posto nella cartella che vuoi proteggere.
N.B. Se avete accesso al server via ssh, potrete generare il file .htpasswd con questo comando:
htpasswd -c -d -b .htpasswd username password
Se dovete aggiungere piu’ utenti, omettete l’opzione ‘-c’
2) Sempre in quella directory adesso crea un file chiamato .htaccess e memorizza questo al suo interno:
AuthUserFile .htpasswd
AuthName “Area Protetta”
AuthType Basic
require valid-user
N.B. Se ricevere il messaggio di errore “Internal Server Error” inserite come prima riga anche la direttiva “AuthBasicProvider file”. Alcune volte inoltre (in base alla configurazione del server), e’ necessario specificare il percorso completo del file “.htpasswd” (ad es. /home/sito/htdocs/cartella_protetta/.htpasswd)
Sudo (Superuser Do) e’ uno strumento che consente all’amministratore di sistema di attribuire ad utenti o gruppi specifici la facolta’ di eseguire determinati comandi con i privilegi di superuser (root) o un utente diverso pur non essendo a conoscenza della relativa password. Su alcuni sistemi (come ad esempio Slackware) solamente l’utente root puo’ riavviare/spegnere la macchina ed in questo caso potremo utilizzare sudo per permettere ad un utente ‘generico’ di far cio’. Oppure in Ubuntu per esempio, non si puo’ accedere direttamente al sistema con l’utente root ma e’ necessario loggarsi con un utente non privilegiato ed utilizzare il comando sudo per eseguire manzioni amministrative. L’applicazione e’ in grado di registrare sia i comandi che gli argomenti digitati dagli utenti. E’ disponibile il pacchetto per tutte le distribuzioni e non sara’ quindi un problema installarlo. Con debian bastera’ digitare (come utente root):
apt-get install sudo
Per configurarlo e’ necessario editare il file ’sudoers’ tramite un apposito comando: visudo
In questo modo viene aperto il file ’sudoers’ nell’editor ‘vi’.
E’ utile usare ‘visudo’ perche’ l’applicazione impedisce che il file venga modificato da piu’ persone simultaneamente e controlla gli errori di sintassi.
Per consentire all’utente ‘lucaercoli’ di poter eseguire il comando ‘kill’ con i privilegi di utente root dovrete eseguire questa procedura:
visudo
Si aprira’ cosi’ l’editor con il contenuto del file ’sudoers’.
Cercate la linea con scritto “User privilege specification” e dopo aver posizionato il cursore sulla riga con scritto “root ALL=(ALL) ALL” digitate il carattere ‘o’. In questo modo l’editor ‘vi’ andra’ a capo consentendovi di scrivere. E’ quindi necessario scrivere questo:
lucaercoli ALL = /bin/kill
Potrete inserire altri comandi separandoli con la ‘,’
Per salvare il file digitate
ESC seguito da :wq
Adesso l’utente ‘lucaercoli’ potra’ eseguire ‘kill’ come utente root in questo modo:
sudo /bin/kill
N.B. Quando viene richiesta la password, si dovra’ digitare quella dell’utente lucaercoli e non root
Per disabilitare la richiesta di password bastera’ scrivere questa entry nel file sudoers:
lucaercoli ALL = NOPASSWD: /bin/kill
In questo modo e’ possibile permettere all’utente ‘lucaercoli’ di eseguire il comando ‘kill’ come utente ‘piercarlo’:
lucaercoli ALL = (piercarlo) /bin/kill
Con questo comando
sudo -L
viene visualizzata la lista dei comandi concessi all’utente.
Avete dimenticato la password impostata per l’utente “root” di MySQL?… Nessun problema!
Basta accedere via ssh sul server dove e’ in esecuzione mysqld ed eseguire questa procedura:
1) Fermare il servizio in esecuzione
/etc/init.d/mysql stop
2) Avviare il mysql server con l’opzione –skip-grant-tables
mysqld_safe –skip-grant-tables &
3) Connettersi al database in questo modo
mysql -u root
4) Digitare questi comandi
mysql> use mysql;
mysql> update user set password=PASSWORD(’LaTuaNuovaPassword’) where User=’root’;
mysql> flush privileges;
mysql> quit
Adesso non vi rimane che riavviare il servizio (/etc/init.d/mysql restart)