Pourquoi les utilisateurs non administrateurs ne peuvent-ils pas installer de logiciel?

11

C'est probablement quelque chose que je ne comprends pas car je suis habitué à Windows et je ne fais que commencer avec Ubuntu. Je sais que les logiciels sous Linux sont fournis en packages, ce que je ne comprends pas, c'est pourquoi les utilisateurs non administrateurs ne peuvent pas installer de logiciels.

Je veux dire, chaque application est exécutée par un utilisateur spécifique, et cet utilisateur ne pourra exécuter cette applciation qu'avec ses privilèges, donc s'il n'a pas de privilèges d'administrateur, l'application ne pourra pas non plus accéder à des répertoires non autorisés, etc.

Je veux la plupart du temps travailler sur mon PC avec un utilisateur non administrateur car cela me semble plus sûr, la plupart du temps je n'ai pas besoin de privilèges d'administrateur. et même si je sais que les virus sous linux sont rares, je pense toujours que la meilleure pratique consiste à travailler sur l'ordinateur dans un état où vous ne pouvez pas apporter de modifications aux fichiers importants, de cette façon les virus ne peuvent pas endommager les fichiers importants, mais j'ai besoin d'installer un logiciel pour la programmation et la conception web etc. et tout d'abord je ne veux pas changer d'utilisateur tout le temps. Mais il me semble également plus sûr que tout ce qui se fait sur le PC soit fait par l'utilisateur non administrateur.

Je serai heureux de savoir quel malentendu j'ai ici, car quelque chose ici ne sonne pas bien.

cinquante huit
la source

Réponses:

16

Pourquoi on vous demande un mot de passe

La plupart des logiciels sont conçus pour toucher des fichiers sensibles, c'est-à-dire sensibles à la sécurité de vos données privées ou à l'intégrité des systèmes. C'est pourquoi l'installation du logiciel est un risque potentiel et doit être validée par un utilisateur qui sait ce qu'il fait. Même pour les logiciels open source, vous ne pouvez pas être sûr qu'aucun mauvais code n'arrive avec votre nouveau lecteur audio percutant jusqu'à ce que quelqu'un vérifie. Et même alors, quelque chose aurait pu être ignoré ou des colis pourraient être manipulés en cours de route. Qui sait ce qui se cache dans la profondeur du programme? Un utilisateur devrait.

Ubuntu fournit un moyen confortable d'installer un logiciel. Les développeurs de logiciels peuvent compter sur ce confort et faire l'hypothèse que synaptique / centre logiciel / apt leur permet d'accéder à ces fichiers sensibles. Canonical vérifie le référentiel de logiciels pour les bogues et le code malveillant. Mais la responsabilité ultime est la vôtre.

Si le logiciel en question n'a pas besoin d'accéder à des fichiers sensibles, il peut (en principe) être installé dans le dossier d'accueil mais pas de la manière Ubuntu. Vous devrez par exemple compiler vous-même le code source ou exécuter un script d'installation personnalisé. Outre les efforts plus importants de cela, il a l'inconvénient de ne pas permettre aux autres utilisateurs d'accéder à votre programme juste installé (car ils n'ont pas le droit d'accéder à votre dossier personnel). Ils devront l'installer une deuxième fois. Cette méthode d'installation n'a donc aucun sens à grande échelle et à petite échelle, il est généralement plus facile de taper un mot de passe que d'installer le logiciel manuellement.

C'est pourquoi Synaptic demande un mot de passe et pourquoi c'est bien qu'il le fasse.


Sudoers

Si vous avez vraiment besoin que d'autres utilisateurs installent des logiciels sans mot de passe , vous pouvez les ajouter à la liste des sudoers. Cela entraînera cependant un grand risque pour la sécurité . Si cela ne vous concerne pas, considérez qu'il existe un réseau de robots avec de grandes ressources pour pénétrer votre ordinateur via Internet. Ils le font juste pour ajouter votre ordinateur au net et utiliser sa connexion et sa puissance de calcul à votre insu pour faire toutes sortes de choses illégales. Ce n'est même pas après vos données personnelles que vous vous êtes d'ailleurs. Ils veulent juste détourner votre PC. Toujours pas concerné? Vraiment? Ensuite, regardez la réponse suivante qui est un petit guide sur le fonctionnement de la liste des sudoers:

Comment faire en sorte qu'Ubuntu se souvienne à jamais du mot de passe après la première fois

Lisez attentivement. Vous pourriez vous enfermer hors du système.

La peur est terminée

Alors maintenant, vous avez peur derrière vous et en prenant la question au sérieux, je peux vous dire que ce n'est vraiment pas si mal. Si vous faites confiance aux personnes travaillant sur votre ordinateur et que vous n'avez pas installé de programmes permettant l'accès à distance à votre système (par exemple un serveur ssh ou ftp), il n'est vraiment pas si dangereux de désactiver le mot de passe. Ne le faites pas sans considérer le pire des cas et pensez à vos données privées.


Oubliez la procédure ( ne faites pas cela à la légère - voir texte et lien ci-dessus ):

# 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 éditeur ouvrira AJOUTER une ligne comme celle-ci:

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

Explication Syntaxe: username machine=(usernameToRunCommandAs) command1,command2,.... La ligne ci-dessus permet donc à confus d'exécuter synaptic et softwarecenter en tant que root sans requête de mot de passe. Vous devrez toujours le démarrer avec sudo synapticou gksudo synapticou mettre un alias `alias synaptic = 'sudo synaptic' dans votre profil shell.

embrouiller
la source
merci, tu m'as vraiment fait comprendre. agréable de voir une communauté aussi agréable pour linux :)
cinquante
2
Vous êtes les bienvenus. Étant donné que Linux en tant que projet open source repose sur des personnes qui y mettent leur travail sans compensation, vous trouverez de nombreuses personnes utiles dans la communauté.
con-f-use
4

Ils ne peuvent pas. Voici l'affaire.

  1. Le 1er utilisateur créé dans Ubuntu est considéré comme un utilisateur spécial: il s'agit d'un utilisateur avec des autorisations d'administration. Cela signifie que chaque fois que cet utilisateur souhaite effectuer des tâches d'administration, il sera invité à entrer son mot de passe administrateur. Ces tâches sont émises en plaçant sudodevant une commande.

  2. Tous les autres utilisateurs (à moins que vous ne le changiez vous-même) sont des utilisateurs normaux et ne peuvent pas installer le logiciel à l'échelle du système à moins que l'administrateur (1er utilisateur) ne le permette. L'utilisateur normal ne peut mettre des choses que dans sa propre maison et s'il le souhaite, il peut gâcher son répertoire personnel.

De cette façon, 1 personne est responsable du système.

Vous pouvez faire de plus d'un utilisateur un administrateur (donc capable d'installer des logiciels) en ajoutant ces utilisateurs au fichier sudoers.

En plus de cela, ils peuvent installer des logiciels dans leur maison, mais cela dépend du logiciel: parfois l'installateur veut l'ajouter au système et ce n'est pas autorisé. Ces installations ont tendance à provenir de la source, ce n'est donc pas la méthode la plus simple;)

Rinzwind
la source
2

Dans Ubuntu, l'administrateur a des privilèges root (souvent appelés simplement "root", comme dans "vous devez être root").

L'accès aux fichiers peut être divisé en trois types:

  • lecture (valeur numérique 4)
  • écrire (valeur numérique 2)
  • exécuter (valeur numérique 1)

Ces attributs peuvent être définis sur chaque fichier ou répertoire. De plus, ces restrictions peuvent être définies sur:

  • le propriétaire du fichier
  • le groupe du fichier (les utilisateurs peuvent être membres de ce groupe)
  • tous les autres utilisateurs qui ne sont ni propriétaires ni membres du groupe

Ces principes constituent les bases des autorisations de fichiers Linux. Sous Windows, tout peut être exécuté. Donnez-lui une extension .cmdou .exepar exemple. Dans Ubuntu, vous devez ajouter explicitement le bit d'exécution, sinon une erreur d'autorisation sera déclenchée.

Lorsqu'un utilisateur exécute un programme, le programme accède aux fichiers en tant que cet utilisateur et ces autorisations de fichier interviennent. Par défaut, les emplacements où les programmes sont installés sont privilégiés, seul le propriétaire peut écrire. Ce propriétaire est root. Tous les autres utilisateurs peuvent uniquement lire et exécuter le programme, pas y écrire. C'est pourquoi vous avez besoin des privilèges root pour installer des programmes.

Ubuntu a un programme spécial appelé sudo(SuperUser DO ...) pour exécuter des programmes avec des privilèges root. Cela peut être utilisé pour installer le logiciel. Lorsqu'il est exécuté, le sudoprogramme vous demande votre mot de passe utilisateur. Notez que seuls les membres du admingroupe peuvent exécuter des programmes en tant qu'utilisateur root sudo.

Sous Windows, vous allez sur un site Web et téléchargez un programme d'installation. Ubuntu fonctionne avec un référentiel de logiciels dans lequel vous pouvez rechercher des programmes et les installer. Ces programmes sont examinés avant d'être ajoutés aux dépôts officiels, vous pouvez donc être sûr qu'aucune intention nuisible n'existe dans les programmes.

Lekensteyn
la source
ok je comprends, donc les utilisateurs ne peuvent pas installer le logiciel dans leur répertoire personnel d'une manière ou d'une autre et de cette façon il ne touche pas les zones sensibles? Je veux dire, s'ils veulent vraiment, ils peuvent probablement télécharger les fichiers nécessaires au programme et les mettre de toute façon dans leur répertoire personnel, n'est-ce pas?
cinquante
Ils peuvent installer des logiciels dans leur répertoire personnel. Ils ont juste besoin de le compiler eux-mêmes et d'y mettre les binaires. Bien sûr, le logiciel installé de cette manière ne pourra pas accéder aux fichiers protégés ailleurs. Bien que la plupart des logiciels soient construits d'une manière, ils doivent accéder à ces fichiers.
con-f-use
J'ai mis à jour la réponse avec la "méthode Ubuntu" pour l'installation du logiciel. Il est possible d'installer des logiciels dans votre répertoire personnel, mais cela dépend vraiment de ce que vous avez téléchargé. Parfois, c'est une archive avec l'extension .tar.gzou .tar.bz2. Ceux-ci peuvent souvent être extraits directement dans le répertoire personnel, mais vous devez parfois compiler le programme avant de l'utiliser. Si le fichier a une extension .binou .sh, il s'agit souvent d'un programme d'installation exécutable dont l'utilisation varie. N'oubliez pas qu'Ubuntu n'utilise pas d'extensions de fichiers pour déterminer le type, il en utilise le contenu.
Lekensteyn
2

Les utilisateurs non administrateurs ne peuvent pas installer de logiciel car les packages s'exécutent en tant qu'utilisateur root lorsqu'ils s'installent lorsqu'ils s'installent sur des parties privilégiées du système, exécutent des scripts de maintenance, etc.

Il n'existe actuellement aucun moyen de dire au système "Installez Firefox à partir de ce .deb mais dans le répertoire personnel d'un utilisateur afin qu'il soit isolé du reste du système"; c'est pourquoi actuellement c'est principalement une affaire de tout ou rien. (C'est aussi pourquoi exécuter un .debs tiers est mauvais, le package et ses scripts inclus ont un accès root à votre système)

Jorge Castro
la source
1

Vous avez évoqué une GRANDE différence entre Windows et Ubuntu. Sous Windows lorsque vous êtes connecté en tant qu'administrateur, les programmes seront installés sans demander de mot de passe. Cela permet également aux logiciels malveillants d'exécuter leurs programmes. Dans Ubuntu (Linux), même en étant connecté en tant qu'administrateur, le système vous demandera toujours votre mot de passe lorsque vous changez le système. Par conséquent, les logiciels malveillants ne peuvent pas pénétrer facilement votre système. Pour résumer, exécutez Ubuntu en tant qu'administrateur. Si vous ouvrez un autre compte d'utilisateur pour vos enfants, ne leur donnez que des droits d'utilisateur normaux afin qu'ils ne puissent pas foirer le système.

dago
la source
Avec "admin", voulez-vous dire un utilisateur avec des droits sudo? Le véritable administrateur serait root.
Le logiciel Windows ne demande pas de mot de passe, car vous êtes nécessairement connecté en tant qu'administrateur. mais parce que Windows ne fonctionne tout simplement pas de cette façon, donc si vous téléchargez un fichier deb qui contient sans le savoir un script dangereux et que vous mettez votre passe pour installer le fichier, cela peut endommager le système comme un logiciel malveillant Windows.
Uri Herrera
Et même le compte Windows "Admin" n'est pas vraiment le propriétaire du fichier système, c'est SYSTEM, qui dans ce cas serait comme ça, "Admin" qui est le compte que vous avez créé lors de l'installation, et ROOT qui est le vrai fichier système propriétaire
Uri Herrera
0

Vous pouvez installer le logiciel en tant qu'utilisateur régulier non administrateur. Le logiciel installé par un utilisateur normal sera "détenu" par cet utilisateur, ce qui signifie qu'il s'agit en fait d'une extension de l'utilisateur - il n'a pas plus d'autorisations que l'utilisateur propriétaire, bien qu'il puisse avoir moins d'autorisations, à l'option de l'utilisateur.

Une pratique courante consiste pour un utilisateur à créer un répertoire «bin» dans son répertoire personnel. Si / home / [user] / bin existe, il est ajouté au début du chemin de cet utilisateur. Vous pouvez placer des fichiers exécutables dans / home / [user] / bin, ou dans tout autre dossier auquel vous avez accès en écriture et en exécution, et exécuter le programme à partir de là.

Ce qu'un utilisateur ordinaire ne peut pas faire, c'est installer un package à l'échelle du système. Un utilisateur normal ne peut pas placer des fichiers exécutables dans / usr / bin, par exemple, ni leur accorder des autorisations qui dépassent les propres autorisations de l'utilisateur. C'est, évidemment, pour des raisons de sécurité de base - vous avez besoin des autorisations d'administrateur pour reformater un disque dur, par exemple, et vous ne voulez pas qu'une personne non autorisée le fasse.

Pour autant que je sache, vous ne pouvez pas utiliser un logiciel de gestion de packages pour installer un package logiciel à moins que vous n'ayez des autorisations d'administrateur, car la gestion des packages se fait à l'échelle du système.

Cependant, sans autorisations d'administrateur, vous pouvez créer des scripts shell, écrire et compiler le code source, télécharger et compiler des "tarballs", qui sont des packages de code source pour des applications complexes, ou télécharger des fichiers exécutables, tant qu'ils ne peuvent être utilisés qu'avec le autorisations d'un utilisateur régulier. Certains jeux indépendants, tels que World of Goo ou X-Plane 9, peuvent être installés et utilisés de cette manière.

bgvaughan
la source
En relisant la question, je ne pense pas que ma réponse soit directement pertinente. Une réponse plus pertinente serait que, en supposant que le compte normal de l'utilisateur dispose de privilèges d'administrateur, il devrait être invité à entrer le mot de passe avant de faire quoi que ce soit qui nécessite des autorisations de superutilisateur, et cela devrait être suffisamment sûr, mais il pourrait simplement créer un deuxième compte d'utilisateur qui ne pas d'autorisations d'administrateur s'il préfère.
bgvaughan
Votre question a été utile en fait, merci :)
cinquante