Warum können Benutzer ohne Administratorrechte keine Software installieren?

11

Dies ist wahrscheinlich etwas, das ich nicht verstehe, da ich an Windows gewöhnt bin und erst mit Ubuntu anfange. Ich weiß, dass Software unter Linux in Paketen enthalten ist. Ich verstehe nicht, warum Benutzer ohne Administratorrechte keine Software installieren können.

Ich meine, jede Anwendung wird von einem bestimmten Benutzer ausgeführt, und dieser Benutzer kann diese Anwendung nur mit seinen Berechtigungen ausführen. Wenn er also keine Administratorrechte hat, kann die Anwendung auch nicht auf nicht autorisierte Verzeichnisse usw. zugreifen.

Ich möchte die meiste Zeit mit einem Benutzer ohne Administratorrechte auf meinem PC arbeiten, da dies für mich sicherer erscheint. Meistens benötige ich keine Administratorrechte. und obwohl ich weiß, dass Viren unter Linux ungewöhnlich sind, denke ich immer noch, dass die beste Vorgehensweise darin besteht, auf dem Computer in einem Zustand zu arbeiten, in dem Sie selbst keine Änderungen an wichtigen Dateien vornehmen können. Auf diese Weise können Viren auch keine wichtigen Dateien beschädigen. Aber ich muss Software für die Programmierung und das Webdesign usw. installieren und möchte zunächst nicht ständig den Benutzer wechseln. Aber es klingt für mich auch sicherer, dass alles, was auf dem PC erledigt wird, über den Benutzer ohne Administratorrechte erledigt wird.

Ich bin froh zu wissen, welches Missverständnis ich hier habe, denn hier klingt etwas nicht richtig.

achtundfünfzig
quelle

Antworten:

16

Warum werden Sie nach einem Passwort gefragt?

Die meisten Programme sind so konzipiert, dass sie vertrauliche Dateien berühren, dh die Sicherheit Ihrer privaten Daten oder die Systemintegrität beeinträchtigen. Aus diesem Grund stellt die Softwareinstallation ein potenzielles Risiko dar und sollte von einem Benutzer überprüft werden, der weiß, was er tut. Selbst für Open-Source-Software können Sie nicht sicher sein, dass mit Ihrem neuen Audio-Player keine fehlerhaften Codebits eintreffen, bis jemand dies überprüft hat. Und selbst dann könnte etwas übersehen worden sein oder Pakete könnten unterwegs manipuliert werden. Wer weiß, was in der Tiefe des Programms verborgen ist? Ein Benutzer sollte.

Ubuntu bietet eine komfortable Möglichkeit, Software zu installieren. Softwareentwickler können sich auf diesen Komfort verlassen und davon ausgehen, dass sie mit synaptic / software center / apt auf diese vertraulichen Dateien zugreifen können. Canonical überprüft das Software-Repository auf Fehler und bösartigen Code. Aber die letztendliche Verantwortung liegt bei Ihnen.

Wenn die betreffende Software keinen Zugriff auf vertrauliche Dateien benötigt, kann sie (im Prinzip) im Home-Ordner installiert werden, jedoch nicht auf Ubuntu-Weise. Sie müssen beispielsweise den Quellcode selbst kompilieren oder ein benutzerdefiniertes Installationsskript ausführen. Abgesehen von den größeren Anstrengungen hat dies den Nachteil, dass andere Benutzer keinen Zugriff auf Ihr gerade installiertes Programm erhalten (da sie kein Recht haben, auf Ihren Home-Ordner zuzugreifen). Sie müssen es ein zweites Mal installieren. Daher ist diese Art der Installation im großen Maßstab nicht sinnvoll, und im kleinen Maßstab ist es normalerweise einfacher, ein Kennwort einzugeben, als die Software manuell zu installieren.

Deshalb sucht Synaptic nach einem Passwort und es ist gut, dass es so ist.


Sudoers

Wenn Sie wirklich dringend benötigen, dass andere Benutzer Software ohne Kennwort installieren , können Sie sie zur Sudoers-Liste hinzufügen. Dies führt jedoch zu einem großen Sicherheitsrisiko . Wenn Sie das nicht betrifft, denken Sie daran, dass es einen Bot gibt, der über große Ressourcen verfügt, um über das Internet in Ihren Computer einzudringen. Sie tun dies nur, um Ihren Computer zum Netz hinzuzufügen und seine Verbindung und Rechenleistung ohne Ihr Wissen zu nutzen, um alle möglichen illegalen Dinge zu tun. Sie sind nicht einmal nach Ihren persönlichen Daten Ihr Sie für diese Angelegenheit. Sie wollen nur Ihren PC entführen. Immer noch nicht besorgt? "Ja wirklich?" Schauen Sie sich dann die folgende Antwort an, die eine kleine Anleitung zur Funktionsweise der Sudoers-Liste enthält:

Wie man Ubuntu nach dem ersten Mal für immer an das Passwort erinnert

Lesen Sie das sorgfältig durch. Sie könnten sich aus dem System ausschließen.

Die Angst ist vorbei

Jetzt hast du die Angst hinter dir und nimmst die Sache ernst. Ich kann dir sagen, dass es wirklich nicht so schlimm ist. Wenn Sie den an Ihrem Computer arbeitenden Personen vertrauen und keine Programme installiert haben, die den Remotezugriff auf Ihr System ermöglichen (z. B. einen SSH- oder FTP-Server), ist es wirklich nicht so gefährlich, das Kennwortmaterial zu deaktivieren. Tun Sie es einfach nicht, ohne den schlimmsten Fall zu berücksichtigen, und denken Sie an Ihre privaten Daten.


Übersehen Sie das Verfahren ( tun Sie dies nicht leichtfertig - siehe Text und Link oben ):

# 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

Ein Editor öffnet ADD eine Zeile wie folgt:

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

Syntaxerklärung : username machine=(usernameToRunCommandAs) command1,command2,.... In der obigen Zeile kann confus also synaptic und softwarecenter als root ohne Kennwortabfrage ausführen. Sie müssen es weiterhin mit sudo synapticoder gksudo synapticoder einem Alias ​​`alias synaptic = 'sudo synaptic' in Ihr Shell-Profil einfügen.

verwechseln
quelle
Danke verwirren, du hast mich wirklich verständlich gemacht. schön, so eine nette Community für Linux zu sehen :)
Fünfundfünfzig
2
Bitte. Da Linux als Open-Source-Projekt darauf angewiesen ist, dass Menschen ihre Arbeit entschädigungslos einsetzen, finden Sie in der Community viele hilfreiche Menschen.
con-f-use
4

Sie können nicht. Hier ist der Deal.

  1. Der erste in Ubuntu erstellte Benutzer wird als spezieller Benutzer betrachtet: Dies ist ein Benutzer mit Administratorrechten. Dies bedeutet, dass dieser Benutzer immer dann, wenn er Administratoraufgaben ausführen möchte, zur Eingabe seines Administratorkennworts aufgefordert wird. Diese Aufgaben werden ausgegeben, indem Sie sudoeinen Befehl eingeben.

  2. Alle anderen Benutzer (sofern Sie sie nicht selbst ändern) sind normale Benutzer und können die Software nur dann systemweit installieren, wenn der Administrator (1. Benutzer) dies zulässt. Normale Benutzer können Dinge nur in ihr eigenes Zuhause stellen und wenn sie möchten, können sie ihr Home-Verzeichnis durcheinander bringen.

Auf diese Weise ist 1 Person für das System verantwortlich.

Sie können mehr als einen Benutzer zum Administrator machen (damit Sie Software installieren können), indem Sie diese Benutzer zur sudoers-Datei hinzufügen.

Außerdem können sie Software zu Hause installieren, dies hängt jedoch von der Software ab: Manchmal möchte der Installer sie dem System hinzufügen, und das ist nicht zulässig. Diese Installationen stammen in der Regel aus dem Quellcode, daher ist dies nicht die einfachste Methode;)

Rinzwind
quelle
2

In Ubuntu verfügt der Administrator über Root-Rechte (oft nur als "root" bezeichnet, wie in "Sie müssen root sein").

Der Zugriff auf Dateien kann in drei Typen unterteilt werden:

  • lesen (numerischer Wert 4)
  • schreiben (numerischer Wert 2)
  • ausführen (numerischer Wert 1)

Diese Attribute können für jede Datei oder jedes Verzeichnis festgelegt werden. Darüber hinaus können diese Einschränkungen festgelegt werden für:

  • der Besitzer der Datei
  • die Gruppe der Datei (Benutzer können Mitglied dieser Gruppe sein)
  • Alle anderen Benutzer, die weder Eigentümer noch Mitglied der Gruppe sind

Diese Prinzipien bilden die Grundlagen für Linux-Dateiberechtigungen. In Windows kann alles ausgeführt werden. Geben Sie ihm zum Beispiel eine .cmdoder eine .exeErweiterung. In Ubuntu müssen Sie das Ausführungsbit explizit hinzufügen, da sonst ein Berechtigungsfehler ausgelöst wird.

Wenn ein Benutzer ein Programm ausführt, greift das Programm auf Dateien zu, während dieser Benutzer und diese Dateiberechtigungen aktiviert werden. Standardmäßig sind Speicherorte, an denen Programme installiert sind, nur der Eigentümer kann schreiben. Dieser Besitzer ist root. Alle anderen Benutzer können das Programm nur lesen und ausführen, nicht darauf schreiben. Aus diesem Grund benötigen Sie Root-Rechte, um Programme zu installieren.

Ubuntu hat ein spezielles Programm namens sudo(SuperUser DO ...), um Programme mit Root-Rechten auszuführen. Dies kann zur Installation von Software verwendet werden. Beim Ausführen werden Sie vom sudoProgramm nach Ihrem Benutzerkennwort gefragt. Beachten Sie, dass nur Mitglieder der adminGruppe Programme als Root ausführen können sudo.

Unter Windows gehen Sie zu einer Website und laden ein Installationsprogramm herunter. Ubuntu arbeitet mit einem Software-Repository, in dem Sie nach Programmen suchen und diese installieren können. Diese Programme werden überprüft, bevor sie zu den offiziellen Repositories hinzugefügt werden, sodass Sie sicher sein können, dass in den Programmen keine schädlichen Absichten vorhanden sind.

Lekensteyn
quelle
OK, ich verstehe, können Benutzer also keine Software in ihrem Home-Verzeichnis installieren und auf diese Weise keine sensiblen Bereiche berühren? Ich meine, wenn sie wirklich wollen, können sie wahrscheinlich die für das Programm erforderlichen Dateien herunterladen und sie trotzdem in ihr Home-Verzeichnis stellen, nicht wahr?
Fünfundfünfzig
Sie können Software in ihrem Home-Verzeichnis installieren. Sie müssen es nur selbst kompilieren und die Binärdateien dort ablegen. Natürlich kann die so installierte Software anderswo nicht auf geschützte Dateien zugreifen. Obwohl die meiste Software so aufgebaut ist, dass sie auf solche Dateien zugreifen muss.
con-f-use
Ich habe die Antwort mit dem "Ubuntu-Weg" für die Installation von Software aktualisiert. Es ist möglich, Software in Ihrem Home-Verzeichnis zu installieren, aber das hängt wirklich davon ab, was Sie heruntergeladen haben. Manchmal ist es ein Archiv mit der Erweiterung .tar.gzoder .tar.bz2. Diese können oft direkt im Home-Verzeichnis extrahiert werden, aber manchmal müssen Sie das Programm vor der Verwendung kompilieren. Wenn die Datei eine .binoder eine .shErweiterung hat, handelt es sich häufig um ein ausführbares Installationsprogramm, dessen Verwendung unterschiedlich ist. Denken Sie daran, dass Ubuntu keine Dateierweiterungen verwendet, um den Typ zu bestimmen, sondern den Inhalt.
Lekensteyn
2

Benutzer, die keine Administratoren sind, können keine Software installieren, da die Pakete bei der Installation als Root ausgeführt werden, während sie auf privilegierten Teilen des Systems installiert werden, Wartungsskripte ausführen usw.

Derzeit gibt es keine Möglichkeit, dem System mitzuteilen, dass "Firefox von dieser .deb-Datei installiert wird, sondern im Home-Verzeichnis eines Benutzers, damit es vom Rest des Systems isoliert ist". Deshalb ist es derzeit meistens eine Alles-oder-Nichts-Angelegenheit. (Dies ist auch der Grund, warum das Ausführen von .debs von Drittanbietern schlecht ist. Das Paket und die darin enthaltenen Skripte haben Root-Zugriff auf Ihr System.)

Jorge Castro
quelle
1

Sie haben einen großen Unterschied zwischen Windows und Ubuntu angesprochen. Wenn Sie in Windows als Administrator angemeldet sind, werden Programme installiert, ohne nach einem Kennwort zu fragen. Dadurch kann auch Malware ihre Programme ausführen. Wenn Ubuntu (Linux) sogar als Administrator angemeldet ist, fragt das System immer nach Ihrem Passwort, wenn Sie das System ändern. Daher kann Malware nicht leicht in Ihr System eindringen. Zusammenfassend lässt sich sagen, dass Ubuntu als Administrator ausgeführt wird. Wenn Sie ein anderes Benutzerkonto für Ihre Kinder eröffnen, geben Sie ihnen nur normale Benutzerrechte, damit sie das System nicht vermasseln können.

Kanake
quelle
Meinen Sie mit "admin" einen Benutzer mit Sudo-Rechten? Der echte Administrator wäre root.
Die Windows-Software fragt nicht nach einem Kennwort, nicht weil Sie unbedingt als Administrator angemeldet sind. Aber weil Windows einfach nicht so funktioniert. Wenn Sie also eine Deb-Datei herunterladen, die unwissentlich ein gefährliches Skript enthält, und Ihren Pass zur Installation der Datei eingeben, kann dies das System genauso beschädigen wie Windows-Malware.
Uri Herrera
Und selbst das Windows-Konto "Admin" ist nicht wirklich der Eigentümer der Systemdatei, sondern SYSTEM. In diesem Fall wäre dies "Admin", das Konto, das Sie bei der Installation erstellt haben, und ROOT, das die Wahrheit der Systemdatei ist Besitzer
Uri Herrera
0

Sie können Software als normaler Benutzer ohne Administratorrechte installieren. Von einem regulären Benutzer installierte Software ist Eigentum dieses Benutzers, was bedeutet, dass es sich tatsächlich um eine Erweiterung des Benutzers handelt - es verfügt nicht über mehr Berechtigungen als der Benutzer, obwohl es möglicherweise weniger Berechtigungen hat die Option des Benutzers.

Es ist üblich, dass ein Benutzer ein 'bin'-Verzeichnis in seinem Ausgangsverzeichnis erstellt. Wenn / home / [user] / bin vorhanden ist, wird es am Anfang des Pfads dieses Benutzers hinzugefügt. Sie können ausführbare Dateien in / home / [user] / bin oder in einem anderen Ordner ablegen, auf den Sie Schreib- und Ausführungszugriff haben, und das Programm von dort aus ausführen.

Ein normaler Benutzer kann ein Paket nicht systemweit installieren. Ein normaler Benutzer kann beispielsweise keine ausführbaren Dateien in / usr / bin ablegen oder ihnen Berechtigungen erteilen, die die eigenen Berechtigungen des Benutzers überschreiten. Dies ist natürlich aus grundlegenden Sicherheitsgründen der Fall - Sie benötigen beispielsweise Administratorrechte, um eine Festplatte neu zu formatieren, und Sie möchten nicht, dass jemand dies nicht autorisiert tut.

Soweit ich weiß, können Sie keine Paketverwaltungssoftware zum Installieren eines Softwarepakets verwenden, es sei denn, Sie verfügen über Administratorrechte, da die Paketverwaltung systemweit erfolgt.

Ohne Administratorrechte können Sie jedoch Shell-Skripte erstellen, Quellcode schreiben und kompilieren, "Tarballs" herunterladen und kompilieren, die Quellcodepakete für komplexe Anwendungen sind, oder ausführbare Dateien herunterladen, sofern diese nur mit dem verwendet werden können Berechtigungen eines regulären Benutzers. Einige Indie-Spiele wie World of Goo oder X-Plane 9 können auf diese Weise installiert und verwendet werden.

bgvaughan
quelle
Beim erneuten Lesen der Frage halte ich meine Antwort nicht für direkt relevant. Eine relevantere Antwort wäre, dass der Benutzer unter der Annahme, dass das reguläre Konto über Administratorrechte verfügt, aufgefordert werden sollte, das Kennwort einzugeben, bevor er etwas unternimmt, für das Superuser-Berechtigungen erforderlich sind. Dies sollte sicher genug sein, er könnte jedoch nur ein zweites Benutzerkonto erstellen, das dies tut keine Administratorrechte haben, wenn er es vorzieht.
Bgvaughan
Ihre Frage war tatsächlich hilfreich, danke :)
fünfundfünfzig