Una domanda probabilmente banale, ma vorrei essere sicuro: avviare l'esecuzione di un programma da un account amministratore equivale a un avvio con "sudo nome_programma", ossia si danno gli stessi privilegi? Saluti a tutti.

chiesto 19 Nov '15, 01:44

filipsnew's gravatar image

filipsnew
241212833


Ciao @filipsnew: no non è la stessa cosa.
Quando si scrive qualcosa come un programma, o anche un semplice script, perché possa essere usato, chi lo scrive deve renderlo eseguibile da chi vuole farlo usare, super user e root a parte. Infatti questi utenti per cancellare, creare, modificare e dare qualsiasi comando in qualsiasi area del pc, non hanno bisogno di alcun permesso.
Un utente, se ha i permessi di amministrazione, può lavorare nella sua area, o dove altri utenti hanno dato i permessi al gruppo cui appartiene o a tutti; sudo è un comando che consente ad un utente con permessi di amministrazione, di fare sui file di tutto il pc, le stesse cose che farebbe l'utente Super user (su).
Per spiegarmi meglio, dopo aver creato l'utente "gallinetta" con i permessi di amministratore (avevo solo enzo), come enzo ho creato un piccolo file dal nome "pg" (con dentro solo il comando ls -l), rendendolo leggibile, modificabile ed eseguibile, dal proprietario (enzo) e dal suo gruppo, mentre agli altri ho dato i soli permessi per leggerlo ed eseguirlo (assia: chmod 775 ./pg); da ultimo ne ho fatto una copia collocandola, con gli stessi permessi, in una directory "dir.1" riservata al proprietario (permessi 700). Poi sono entrato come utente "gallinetta" ed ho usato i programmi, prima quello nella home di enzo, poi quello nella dir.1, sempre nella home di enzo.
Qui di seguito metto l'immagine della finestra di terminale dalla quale sono stati avviati i programmi, e dalla quale si può notare che "gallinetta" per eseguire il programma sotto dir.1, ha dovuto usare "sudo".

alt text

coll. permanente

ha risposto 19 Nov '15, 08:29

enzoge's gravatar image

enzoge
4.7k314088

modificato 19 Nov '15, 09:08

grazie per l'ottima risposta. Spero di aver capito (altrimenti correggimi). Amministratore equivale a root in termini di libertà d'azione sul sistema. Lui può installare qualsiasi programma (con sudo). Lanciare un programma con sudo serve solo quando il programma è riservato a un Amministratore diverso dall'Amministratore attuale. Questo comando non dà privilegi all'applicazione (non sono sicuro), serve solo per acquisire il diritto per es. di eseguirla. Ma allora, se è giusto quel che ho detto, chiedo questo: I permessi vengono dati in fase d'installazione indiscriminatamente o dipendono (...

(21 Nov '15, 00:51) filipsnew filipsnew's gravatar image

...) dalla sessione/account in cui vengono installati? Questo è a mio parere un aspetto molto importante da chiarire.

(21 Nov '15, 00:53) filipsnew filipsnew's gravatar image

Questo comando non dà privilegi all'applicazione (non sono sicuro), serve solo per acquisire il diritto per es. di eseguirla.

Per farti un esempio, se lanci nautilus con sudo puoi modificare qualsiasi file e cartella del sistema. Se lo lanci senza, no.

I permessi vengono dati in fase d'installazione indiscriminatamente o dipendono dalla sessione/account in cui vengono installati? Questo è a mio parere un aspetto molto importante da chiarire.

I permessi vengono dati in fase di creazione del file, e possono essere modificati successivamente da chi ha privilegi elevati per farlo.

(21 Nov '15, 01:22) dadexix86 ♦♦ dadexix86's gravatar image
2

Ti faccio un esempio, guarda

davide@brenna:~$ sudo touch pippo.txt
[sudo] password di davide: 
davide@brenna:~$ touch pippo2.txt
davide@brenna:~$ ls -l pippo*
-rw-rw-r-- 1 davide davide 0 nov 21 01:22 pippo2.txt
-rw-r--r-- 1 root root 0 nov 21 01:22 pippo.txt

davide@brenna:~$ chmod 777 pippo.txt
chmod: cambio dei permessi di "pippo.txt": Operazione non permessa
davide@brenna:~$ chmod 777 pippo2.txt
davide@brenna:~$ ls -l pippo*
-rwxrwxrwx 1 davide davide 0 nov 21 01:22 pippo2.txt
-rw-r--r-- 1 root   root   0 nov 21 01:22 pippo.txt
(21 Nov '15, 01:24) dadexix86 ♦♦ dadexix86's gravatar image

quindi.. sudo dà i diritti di Amministratore al programma. Molto chiaro l'esempio che mi ha fatto comprendere pienamente anche quello della risposta; tentando una modifica di permessi senza sudo sul file creato con sudo questa non va a buon fine, mentre funzione per l'altro. Risulta chiara, in base all'esempio, anche la tua ultima osservazione. Però su questa, per ricollegarmi al discorso di un programma, voglio chiedere quand'è che un programma X può acquisire permessi massimi? (...

(21 Nov '15, 02:01) filipsnew filipsnew's gravatar image

...) Per es. Nautilus con sudo acquisisce altre prerogative. Usi 'file' in senso generale intendendo anche 'programma'? Ultima cosa, avviando un programma da un account Amministratore, allora ottengo lo stesso effetto di sudo nome_progr.? infatti Nautilus da Amministr. dovrebbe consentire modifiche, alla stessa maniera di quando viene aperto per es. da un account Utente, dopo esser passati da terminale a uno Amministr. e aver quindi utilizzato il sudo (cioè clic su icona progr. in Amministr. = lanciare il progr. con 'sudo' in qualsiasi altra posizione).

(21 Nov '15, 02:10) filipsnew filipsnew's gravatar image

@filipsnew, facciamo un breve riepilogo con 4 utenti o pseudo tali: root, che quando fa la login può eseguire qualsiasi comando; su, che quando si fa la login come su, a parte poche cose, si può fare tutto ciò che fa root; utente amministratore, che nella sua area operativa e dove gli è stato dato il permesso, può fare tutto come se fosse "su", mentre per farlo dove non ha il permesso deve usare sudo (su-do = fare il super utente), utente "normale", che non può usare sudo. Tralasciamo di parlare dell'utente ospite, che tutto ciò che fa non viene memorizzato.

./.

(21 Nov '15, 07:29) enzoge enzoge's gravatar image
1

./.
C'è da chiarire che quando viene creata una cartella o viene creato un file, questi, di default, acquisiscono i permessi che gli consentono di essere usati (oltre che da root e su) da chi li ha creati e dal gruppo a cui appartiene che li ha creati, mentre gli altri possono vederli ed eseguirli (se sono eseguibili) ma non modificarli.
I permessi di default possono essere cambiati dopo la creazione, ma ciò può essere fatto solo da che li ha creati, da root, da su o da chi può usare sudo.

(21 Nov '15, 07:43) enzoge enzoge's gravatar image
1

Mi sono accorto solo ora che manca una grossissima referenza a questa discussione, ovvero la pagina wiki sui permessi. :)

(21 Nov '15, 10:36) dadexix86 ♦♦ dadexix86's gravatar image

@dadexix86: ottimo! Però, se vogliamo, possiamo giustificare la cosa col fatto che la maggior parte delle domande, trovano una risposta nelle guide, e non sempre sono corroborate da un link al wiki.
Credo si debba cercare di distinguere quando una domanda vuole approfondire un argomento, altrimenti basterebbe rispondere solo con un link alla guida.
Ma ripeto, per me è un'ottima cosa inserire un link.

(21 Nov '15, 11:29) enzoge enzoge's gravatar image

le guide le avevo lette (anche se diversi mesi fa), ma

quando viene creata una cartella o viene creato un file, questi, di default, acquisiscono i permessi che gli consentono di essere usati (oltre che da root e su) da chi li ha creati e dal gruppo a cui appartiene che li ha creati

ecco, questo è il punto cruciale (e mi riallaccio alla domanda iniziale): se io installo X come sudo, X non prenderà mai tutti i diritti che io ho come sudo (= potrà effettuare modifiche) in questa fase? li prenderà solo in fase di lancio in funzione dell'utente utilizzato? (...)

(21 Nov '15, 16:12) filipsnew filipsnew's gravatar image

(...) ricevuto X lanciando da un'area operativa Amministratore sarebbero stati gli stessi di avvio con sudo e, anche alla luce di quanto detto, direi che la risposta dovrebbe essere sì). Questa domanda l'avevo posta ai fini di un discorso di sicurezza (p. es. quando si installa da repository non ufficiale). Ma allora in Ubuntu le applicazioni installate non prendono mai i massimi diritti (anche se si richiede per l'installazione sempre il 'sudo'). Interessante inoltre la distinzione di @ilgallinetta su 'root' e 'su' (...)

(21 Nov '15, 16:19) filipsnew filipsnew's gravatar image
1

Ho capito i tuoi dubbi finalmente, e la risposta è nella guida di cui sopra.

Un programma in Linux non "ha" privilegi, sono gli utenti e i gruppi a cui essi appartengono che hanno privilegi diversi e possono dare ai programmi accesso a file diversi.

Per farti un esempio, guarda ls -l /usr/bin, che è la cartella dove ci sono i programmi. Di default i permessi di questi file sono rwxr-xr-x.
Quindi questi file possono venir eseguiti da chiunque (l'ultima x nei permessi), ma ovviamente chi li esegue li esegui con i suoi privilegi.

[...]

(21 Nov '15, 16:27) dadexix86 ♦♦ dadexix86's gravatar image

[...]

Perciò ad esempio un nautilus lanciato da guest non può accedere ai file con permessi rwx------ creati da un altro utente.

Se gli utenti pippo e pluto sono entrambi nel gruppo topolino, quando lanciano nautilus potranno leggere i file con permessi ---r----- quando questi file sono del gruppo topolino (la quarta colonna di ls -l).

(21 Nov '15, 16:30) dadexix86 ♦♦ dadexix86's gravatar image

(...) che non avevo colto dalle letture precedenti, anche se in effetti mi chiedo perché vi sia questa bipartizione (in pratica 'root' non si usa mai). La PW di 'root' è "root" per tutte le distro? (in pratica 'root' non si usa mai). La PW di 'root' è "root" per tutte le distro?

(21 Nov '15, 16:56) filipsnew filipsnew's gravatar image
2

La password di root non è "root", a meno che tu non scegli che sia quella.

Le distro che abilitano root in fase di installazione (tipo Fedora) ti chiedono quale password assegnare a root.
Su Ubuntu root invece è disabilitato di default e devi sceglierne la password quando (e se) decidi di abilitarlo.

(21 Nov '15, 16:59) dadexix86 ♦♦ dadexix86's gravatar image
1

Quando crei un file o qualcosa usando sudo, il proprietario 1^ colonna dopo i permessi e il gruppo, colonna seguente, è root. Puoi cambiare il proprietario con il comando "chown none_utente nome_file", mentre se vuoi cambiare il gruppo devi usare "chgrp".

(21 Nov '15, 17:01) enzoge enzoge's gravatar image

Puoi abilitare root da terminale con:
sudo passwd root
Se vuoi puoi anche disinstallare sudo, e puoi farlo dal software center.

(21 Nov '15, 17:09) enzoge enzoge's gravatar image

scusate, adesso leggo.. ma non so se per colpa del mio browser o della pagina, fattostà che son diventato mezzo matto per apportare modifiche ai miei tre preced. commenti (per via di successivi ripendamenti): modificavo e riappariva addirittura un commento già cambiato due volte! (la versione corretta è quella attuale)

(21 Nov '15, 17:10) filipsnew filipsnew's gravatar image

ecco @dadeix hai risposto perfettamente (avevo corretto però la mia prima considerazione - che sicuramente è quella che hai letto - in seguito ai ripensamenti, derivati in base alle vostre precedenti corrette osservazioni, di cui ho detto)

(21 Nov '15, 17:14) filipsnew filipsnew's gravatar image

"ma non so se per colpa del mio browser o della pagina"

@filipsnew: succede, quando ti capita, prima di richiedere la modifica, ricarica la pagina.

(21 Nov '15, 17:15) enzoge enzoge's gravatar image

grazie mille, questa discussione è stata per me molto istruttiva. In pratica Ubuntu (e probabilemente anche Linux in generale) ha un sistema di protezione/sicurezza molto efficace relativamente all'aspetto qui emerso. Sta all'utente (in caso di dubbi) lasciar stare avvii di rango elevato.. Questa caratteristica dovrebbe averla anche Windows, ma non sono sicuro.. forse là la cosa è in funzione dell'installazione (ricordo in XP non veniva chiesto un equivalente di 'sudo'), il che però sarebbe talmente illogico rispetto al modello Linux..

(21 Nov '15, 17:27) filipsnew filipsnew's gravatar image

Windows è intrinsecamente meno sicuro perché il file system (NTFS) che usa (l'unico che su può usare per installare Windows) è vecchio e poco sicuro, in quanto non implementa di default alcun tipo di sicurezza di controllo degli accessi.

Hanno provato a metterci una toppa con i nuovi sistemi (la finestra di richiesta di esecuzione), ma è appunto una toppa e non una soluzione sostanziale.

(21 Nov '15, 17:30) dadexix86 ♦♦ dadexix86's gravatar image

ah! quindi è proprio il f.s. ext che fa soprattutto la differenza. In effetti dal 7 (forse da Vista, ma non l'avevo provato) compare il messaggio-opzione, al fine di garantire l'utente da esecuzioni e azioni invisibili

(21 Nov '15, 17:59) filipsnew filipsnew's gravatar image
La tua risposta
abilita/disabilita anteprima

Segui questa domanda

Via email:

Una volta eseguito l'accesso potrai iscriverti a tutti gli aggiornamenti qui

Via RSS:

Risposte

Risposte e commenti

Basi di markdown

  • *corsivo* o __corsivo__
  • **grassetto** o __grassetto__
  • collegamento:[testo](http://url.com/ "titolo")
  • immagine?![alt testo](/path/img.jpg "titolo")
  • elenco numerato: 1. Foo 2. Bar
  • per aggiungere un'interruzione di riga, aggiungi due spazi a fine riga e premi «Invio»
  • è supportato anche semplice HTML

Tag:

×61
×45
×7

domanda posta: 19 Nov '15, 01:44

domanda visualizzata: 4,593 volte

ultimo aggiornamento: 21 Nov '15, 17:59

Chiedi è un servizio di supporto gestito da Ubuntu-it. Contattaci!

powered by OSQAPostgreSQL database
Ubuntu e Canonical sono marchi registrati da Canonical Ltd.