Perché gli utenti non amministratori non possono installare software?


11

Questo è probabilmente qualcosa che non capisco da quando sono abituato a Windows e sto iniziando solo con Ubuntu. So che il software in Linux viene fornito in pacchetti ciò che non capisco è perché gli utenti non amministratori non possano installare il software.

Voglio dire, ogni applicazione è gestita da un utente specifico e quell'utente sarà in grado di eseguire solo quella applciation con i suoi privilegi, quindi se non ha privilegi di amministratore, l'applicazione non sarà in grado di accedere a directory non autorizzate ecc.

Voglio che il più delle volte lavori sul mio PC con un utente non amministratore poiché mi sembra più sicuro, il più delle volte non ho bisogno di privilegi di amministratore. e anche se so che i virus in Linux sono rari, penso comunque che la migliore pratica sia quella di lavorare sul computer in uno stato in cui tu stesso non puoi apportare modifiche a file importanti, in questo modo anche i virus non possono danneggiare alcun file importante, ma devo installare software per programmazione, web design ecc. e prima di tutto non voglio cambiare utente in ogni momento. Ma mi sembra anche più sicuro che tutto ciò che viene fatto sul PC sarà fatto attraverso l'utente non amministratore.

Sarò felice di sapere quale incomprensione ho qui, perché qualcosa qui non suona bene.

Risposte:


16

Perché ti viene richiesta una password

La maggior parte dei software è progettata per toccare file sensibili, ovvero sensibili alla sicurezza dei dati privati ​​o all'integrità dei sistemi. Questo è il motivo per cui l'installazione del software rappresenta un rischio potenziale e deve essere convalidata da un utente che sa cosa sta facendo. Anche per il software open source non puoi essere certo che non arrivano bit di codice errato con il tuo nuovo lettore audio a percussione fino a quando qualcuno non ha verificato. E anche allora qualcosa avrebbe potuto essere trascurato o i pacchetti potrebbero essere manipolati lungo la strada. Chi sa cosa è nascosto nella profondità del programma? Un utente dovrebbe.

Ubuntu offre un modo comodo di installare software. Gli sviluppatori di software possono fare affidamento su tale comfort e supporre che synaptic / software center / apt consenta loro di accedere a questi file sensibili. Canonical verifica la presenza di bug e codice dannoso nel repository software. Ma la responsabilità ultima è tua.

Se il software in questione non ha bisogno di accedere a file sensibili, può (in linea di principio) essere installato nella cartella home anche se non in modo Ubuntu. Ad esempio, dovrai compilare tu stesso il codice sorgente o eseguire uno script di installazione personalizzato. Oltre ai maggiori sforzi di ciò, ha lo svantaggio di non consentire ad altri utenti l'accesso al programma appena installato (poiché non hanno il diritto di accedere alla cartella principale). Dovranno installarlo una seconda volta. Quindi questo modo di installazione non ha senso su larga scala e su piccola scala è generalmente più facile digitare una password che installare manualmente il software.

Ecco perché Synaptic richiede una password e perché è un bene.


sudoers

Se hai davvero bisogno che altri utenti installino software senza password , puoi aggiungerli all'elenco dei sudoers. Ciò tuttavia comporterà un grande rischio per la sicurezza . Se ciò non ti riguarda, considera che esiste un bot in rete con grandi risorse per entrare nel tuo computer via Internet. Lo fanno solo per aggiungere il tuo computer alla rete e usare la sua connessione e la potenza di calcolo a tua insaputa per fare ogni sorta di cose illegali. Non sono nemmeno dopo i tuoi dati personali per te. Vogliono solo dirottare il tuo PC. Non ti preoccupi ancora? Veramente? Quindi guarda la seguente risposta che è un piccolo how-to sul funzionamento dell'elenco dei sudoers:

Come fare in modo che Ubuntu ricordi per sempre la password dopo la prima volta

Leggi attentamente. Potresti bloccarti fuori dal sistema.

Lo spavento è finito

Quindi ora hai la paura dietro di te e stai prendendo sul serio la questione, posso dirti che non è poi così male. Se ti fidi delle persone che lavorano sul tuo computer e non hai programmi installati che consentono l'accesso remoto al tuo sistema (ad esempio un server ssh o ftp), non è davvero così pericoloso disabilitare la password. Basta non farlo senza considerare il caso peggiore e pensare ai tuoi dati privati.


Trascuri il procedimento ( non farlo alla leggera - vedi testo e link sopra ):

# in shell type these commands
sudo su       # in case you do something stupid, you'll have a root shell open
select-editor # (optional) will allow you to select text editor
visudo        # secure way to open sudoers list

Un editor aprirà AGGIUNGI una riga come questa:

confus confusion=(root) NOPASSWD:/usr/sbin/synaptic,/usr/bin/software-center

Spiegazione Sintassi: username machine=(usernameToRunCommandAs) command1,command2,.... Quindi la riga sopra consente a confus di eseguire synaptic e softwarecenter come root senza la richiesta di password. Sarà comunque necessario avviarlo con sudo synaptico gksudo synaptico inserire un alias `alias synaptic = 'sudo synaptic' nel profilo della shell.


grazie confusione, mi hai fatto davvero capire. bello vedere una comunità così bella per Linux :)
cinquantotto

2
Prego. Dal momento che Linux come progetto open source si basa su persone che ci mettono il loro lavoro senza compenso, troverai molte persone utili nella comunità.
con-f-use

4

Loro non possono. Ecco il patto.

  1. Il primo utente creato in Ubuntu è considerato un utente speciale: si tratta di un utente con autorizzazioni di amministrazione. Ciò significa che ogni volta che questo utente desidera eseguire attività di amministrazione, gli verrà richiesta la sua password di amministratore. Tali compiti vengono emessi mettendo sudodavanti a un comando.

  2. Tutti gli altri utenti (a meno che tu non lo modifichi da solo) sono utenti normali e non possono installare software a livello di sistema a meno che l'amministratore (1 ° utente) non glielo permetta. L'utente normale può solo mettere le cose nella propria casa e se lo desidera può rovinare la propria directory home.

In questo modo 1 persona è responsabile del sistema.

È possibile rendere più di 1 utente un amministratore (quindi in grado di installare software) aggiungendo tali utenti al file sudoers.

Oltre a ciò, possono installare software a casa loro, ma questo dipende dal software: a volte il programma di installazione vuole aggiungerlo al sistema e ciò non è consentito. Queste installazioni tendono ad essere dalla fonte quindi non è il metodo più semplice;)


2

In Ubuntu, l'amministratore ha i privilegi di root (spesso indicato come "root", come in "devi essere root").

L'accesso ai file può essere suddiviso in tre tipi:

  • leggi (valore numerico 4)
  • scrivere (valore numerico 2)
  • eseguire (valore numerico 1)

Questi attributi possono essere impostati su ogni file o directory. Inoltre, queste restrizioni possono essere impostate su:

  • il proprietario del file
  • il gruppo del file (gli utenti possono essere membri di questo gruppo)
  • tutti gli altri utenti che non sono il proprietario né nel gruppo

Questi principi costituiscono le basi delle autorizzazioni per i file Linux. In Windows, tutto può essere eseguito. Dagli un'estensione .cmdo .exeper esempio. In Ubuntu, è necessario aggiungere esplicitamente il bit di esecuzione, altrimenti verrà generato un errore di autorizzazione.

Quando un utente esegue un programma, il programma accede ai file man mano che l'utente accede e queste autorizzazioni file. Per impostazione predefinita, le posizioni in cui sono installati i programmi sono privilegiate, solo il proprietario può scrivere. Questo proprietario è root. Tutti gli altri utenti possono solo leggere ed eseguire il programma, non scrivere su di esso. Ecco perché hai bisogno dei privilegi di root per installare i programmi.

Ubuntu ha un programma speciale chiamato sudo(SuperUser DO ...) per eseguire programmi con privilegi di root. Questo può essere utilizzato per l'installazione di software. Quando eseguito, il sudoprogramma richiede la password dell'utente. Si noti che solo i membri del admingruppo possono eseguire programmi come root utilizzando sudo.

In Windows, vai su un sito Web e scarica un programma di installazione. Ubuntu funziona con un repository di software in cui è possibile cercare programmi e installarli. Questi programmi vengono esaminati prima di essere aggiunti ai repository ufficiali, quindi puoi essere sicuro che non esistono intenzioni dannose nei programmi.


ok ho capito, quindi gli utenti non possono installare software nella loro home directory in qualche modo e in questo modo non tocca le aree sensibili? Voglio dire, se vogliono davvero, possono probabilmente scaricare i file necessari per il programma e metterli comunque nella loro directory home, no?
cinquantotto

Possono installare software nella loro home directory. Devono solo compilarlo da soli e mettere lì i binari. Naturalmente il software installato in questo modo non sarà in grado di accedere ai file protetti altrove. Sebbene la maggior parte dei software sia costruita in un modo, deve accedere a tali file.
con-f-use

Ho aggiornato la risposta con "Ubuntu way" per l'installazione del software. È possibile installare il software nella tua home directory, ma dipende molto da ciò che hai scaricato. A volte, è un archivio con l'estensione .tar.gzo .tar.bz2. Questi possono spesso essere estratti direttamente nella directory home, ma a volte è necessario compilare il programma prima dell'uso. Se il file ha un'estensione .bino .sh, spesso è un programma di installazione eseguibile che varia nel loro utilizzo. Ricorda che Ubuntu non usa estensioni di file per determinare il tipo, ne usa il contenuto.
Lekensteyn,

2

Gli utenti non amministratori non possono installare software poiché i pacchetti vengono eseguiti come root quando vengono installati mentre si installano in parti privilegiate del sistema, eseguono script di manutenzione, ecc.

Al momento non c'è modo di dire al sistema "Installa firefox da questo .deb ma nella home directory di un utente in modo che sia isolato dal resto del sistema"; che è il motivo per cui attualmente è principalmente un affare tutto o niente. (Questo è anche il motivo per cui l'esecuzione di .debs di terze parti è errata, il pacchetto e gli script inclusi hanno accesso root al sistema)


1

Hai toccato una GRANDE differenza tra Windows e Ubuntu. In Windows quando si accede come un programma di amministrazione verranno installati senza richiedere una password. Ciò consente anche ai malware di eseguire i loro programmi. In Ubuntu (Linux) anche dopo aver effettuato l'accesso come amministratore il sistema chiederà sempre la tua password quando cambi il sistema. Pertanto, il malware non può intromettersi facilmente nel tuo sistema. Per riassumere, eseguire Ubuntu come amministratore. Se apri un altro account utente per i tuoi figli che dai loro solo i normali diritti utente in modo che non possano rovinare il sistema.


Con "admin", intendi un utente con diritti sudo? Il vero amministratore sarebbe root.

Il software Windows non richiede una password non perché hai necessariamente effettuato l'accesso come amministratore. ma poiché Windows semplicemente non funziona in questo modo, quindi se dovessi scaricare un file deb che inconsapevolmente contiene uno script pericoloso e hai messo il tuo passaggio per installare il file, potrebbe danneggiare il sistema proprio come il malware di Windows.
Uri Herrera,

E anche l'account Windows "Admin" non è in realtà il proprietario del file di sistema ma è SYSTEM, che in questo caso sarebbe così, "Admin" che è l'account creato al momento dell'installazione e ROOT che è il file di sistema vero proprietario
Uri Herrera,

0

È possibile installare il software come utente normale, non amministratore. Il software installato da un utente normale sarà "posseduto" da quell'utente, il che significa che, in effetti, è un'estensione dell'utente - non ha più autorizzazioni rispetto all'utente proprietario, sebbene possa avere meno autorizzazioni, a l'opzione dell'utente.

Una pratica comune è che un utente crei una directory 'bin' all'interno della propria directory home. Se esiste / home / [utente] / bin, viene aggiunto all'inizio del percorso dell'utente. Puoi inserire i file eseguibili in / home / [utente] / bin, o in qualsiasi altra cartella a cui hai accesso in scrittura ed esecuzione, ed eseguire il programma da lì.

Ciò che un utente normale non può fare è installare un pacchetto a livello di sistema. Un utente normale non può inserire file eseguibili in / usr / bin, ad esempio, né concedere loro autorizzazioni che superano le proprie autorizzazioni. Questo, ovviamente, per motivi di sicurezza di base: ad esempio, è necessario disporre delle autorizzazioni di amministratore per riformattare un disco rigido e non si desidera che qualcuno non sia autorizzato a farlo.

Per quanto ne so, non è possibile utilizzare il software di gestione dei pacchetti per installare un pacchetto software a meno che non si disponga delle autorizzazioni di amministratore, poiché la gestione dei pacchetti viene eseguita a livello di sistema.

Tuttavia, senza le autorizzazioni di amministratore, è possibile creare script di shell, scrivere e compilare codice sorgente, scaricare e compilare "tarball", che sono pacchetti di codice sorgente per applicazioni complesse o scaricare file eseguibili, purché possano essere utilizzati solo con autorizzazioni di un utente normale. Alcuni giochi indie, come World of Goo o X-Plane 9, possono essere installati e utilizzati in questo modo.


Nel rileggere la domanda, non credo che la mia risposta sia direttamente pertinente. Una risposta più pertinente sarebbe che, supponendo che l'account normale dell'utente disponga dei privilegi di amministratore, dovrebbe ricevere la password prima di fare qualsiasi cosa che richieda autorizzazioni da superutente e che sia abbastanza sicuro, ma potrebbe semplicemente creare un secondo account utente che non dispone delle autorizzazioni di amministratore se preferisce.
bgvaughan,

La tua domanda è stata utile in realtà, grazie :)
cinquantotto
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.