Por que usuários não administradores não podem instalar software?


11

Provavelmente isso é algo que não entendo, pois estou acostumado ao Windows e estou começando apenas com o Ubuntu. Eu sei que o software no linux vem em pacotes, o que não entendo é por que usuários não-administradores não podem instalar o software.

Quero dizer, todo aplicativo é executado por um usuário específico, e esse usuário só poderá executar esse aplicativo com seus privilégios; portanto, se ele não tiver privilégios de administrador, o aplicativo também não poderá acessar diretórios não autorizados etc.

Eu quero na maioria das vezes trabalhar no meu PC com um usuário não administrador, pois parece mais seguro para mim; na maioria das vezes, não preciso de privilégios de administrador. e mesmo sabendo que vírus no linux são incomuns, ainda acho que a melhor prática é trabalhar no computador em um estado em que você mesmo não possa fazer alterações em arquivos importantes, assim os vírus também não podem danificar arquivos importantes, mas preciso instalar software para programação e web design etc. e, antes de tudo, não quero trocar de usuário o tempo todo. Mas também me parece mais seguro que tudo o que está sendo feito no PC seja feito por um usuário não administrador.

Ficarei feliz em saber que mal-entendido eu tenho aqui, porque algo aqui não parece certo.

Respostas:


16

Por que você solicitou uma senha

A maioria dos softwares é projetada para tocar arquivos confidenciais, isto é, sensíveis à segurança dos seus dados privados ou à integridade do sistema. É por isso que a instalação do software é um risco potencial e deve ser validada por um usuário que sabe o que está fazendo. Mesmo para o software de código aberto, você não pode ter certeza de que nenhum código defeituoso chega com o novo leitor de áudio até alguém ser verificado. E mesmo assim, algo poderia ter sido esquecido ou os pacotes poderiam ser manipulados no caminho. Quem sabe o que está oculto nas profundezas do programa? Um usuário deve.

O Ubuntu fornece uma maneira confortável de instalar software. Os desenvolvedores de software podem confiar nesse conforto e assumir que o synaptic / software center / apt lhes permite acessar esses arquivos confidenciais. A Canonical verifica se há bugs e código malicioso no repositório de software. Mas a responsabilidade final é sua.

Se o software em questão não precisar de acesso a arquivos confidenciais, ele pode (em princípio) ser instalado na pasta inicial, mas não no modo Ubuntu. Você precisará, por exemplo, compilar o código-fonte ou executar um script de instalação personalizado. Além dos maiores esforços, ele tem a desvantagem de não permitir que outros usuários acessem seu programa recém-instalado (pois eles não têm o direito de acessar sua pasta pessoal). Eles precisarão instalá-lo uma segunda vez. Portanto, esse modo de instalação não faz sentido em larga escala e em pequena escala geralmente é mais fácil digitar uma senha do que instalar o software manualmente.

É por isso que o Synaptic pede uma senha e é bom que ele faça.


Sudoers

Se você realmente precisa de outros usuários para instalar software sem senha , pode adicioná-los à lista de sudoers. No entanto, isso resultará em um grande risco de segurança . Se isso não lhe interessa, considere que existem redes bot com ótimos recursos para invadir seu computador via Internet. Eles fazem isso apenas para adicionar seu computador à rede e usar seu poder de conexão e computação sem o seu conhecimento para fazer todo tipo de coisa ilegal. Eles nem sequer são os seus dados pessoais para você. Eles só querem invadir seu PC. Ainda não está preocupado? Verdade? Em seguida, observe a seguinte resposta, que é um pequeno tutorial sobre o funcionamento da lista de sudoers:

Como fazer com que o Ubuntu lembre para sempre a senha após a primeira vez

Leia com atenção. Você pode se bloquear do sistema.

O susto acabou

Então agora você tem o susto por trás e está levando o assunto a sério, posso dizer que não é tão ruim assim. Se você confia nas pessoas que trabalham no seu computador e não possui programas instalados que permitem acesso remoto ao seu sistema (por exemplo, um servidor ssh ou ftp), então não é tão perigoso desabilitar a senha. Apenas não faça isso sem considerar o pior caso e pense nos seus dados privados.


Negligencie os procedimentos ( não faça isso de ânimo leve - veja o texto e o link acima ):

# 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

Um editor abrirá ADD uma linha como esta:

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

Explicação sintaxe: username machine=(usernameToRunCommandAs) command1,command2,.... Portanto, a linha acima permite que o confus execute o synaptic e o softwarecenter como root sem consulta de senha. Você ainda precisará iniciá-lo com sudo synapticou gksudo synapticcolocar um alias `alias synaptic = 'sudo synaptic' no seu perfil de shell.


thanx confundir, você realmente me fez entender. bom ver uma comunidade tão agradável para linux :)
fiftyeight

2
Seja bem-vindo. Como o linux como um projeto de código aberto depende de pessoas colocando seu trabalho nele sem compensação, você encontrará muitas pessoas úteis na comunidade.
con-f-use

4

Eles não podem. Aqui está o acordo.

  1. O primeiro usuário criado no Ubuntu é considerado um usuário especial: este é um usuário com permissões de administração. Isso significa que, sempre que esse usuário desejar executar tarefas administrativas, será solicitada sua senha de administrador. Essas tarefas são emitidas colocando-se sudona frente de um comando.

  2. Todos os outros usuários (a menos que você o altere) são usuários normais e não podem instalar softwares em todo o sistema, a menos que o administrador (primeiro usuário) permita. O usuário normal só pode colocar as coisas em sua própria casa e, se quiserem, podem atrapalhar seu diretório pessoal.

Dessa forma, 1 pessoa é responsável pelo sistema.

Você pode tornar mais de um usuário um administrador (capaz de instalar o software) adicionando esses usuários ao arquivo sudoers.

Além disso, eles podem instalar o software em sua casa, mas isso depende do software: às vezes o instalador deseja adicioná-lo ao sistema e isso não é permitido. Essas instalações tendem a ser da fonte, portanto, não é o método mais fácil;)


2

No Ubuntu, o administrador tem privilégios de root (geralmente chamado de "root", como em "você precisa ser root").

O acesso aos arquivos pode ser dividido em três tipos:

  • ler (valor numérico 4)
  • gravação (valor numérico 2)
  • execute (valor numérico 1)

Esses atributos podem ser definidos em todos os arquivos ou diretórios. Além disso, essas restrições podem ser definidas em:

  • o proprietário do arquivo
  • o grupo do arquivo (os usuários podem ser um membro deste grupo)
  • todos os outros usuários que não são o proprietário nem no grupo

Esses princípios formam o básico das permissões de arquivo do Linux. No Windows, tudo pode ser executado. Dê um .cmdou .exeextensão, por exemplo. No Ubuntu, você precisa adicionar o bit de execução explicitamente, caso contrário, um erro de permissão será gerado.

Quando um usuário executa um programa, ele acessa os arquivos à medida que o usuário e essas permissões entram em ação. Por padrão, os locais em que os programas estão instalados são privilegiados, apenas o proprietário pode gravar. Este proprietário é root. Todos os outros usuários podem apenas ler e executar o programa, e não gravar nele. É por isso que você precisa de privilégios de root para instalar programas.

O Ubuntu possui um programa especial chamado sudo(SuperUser DO ...) para executar programas com privilégios de root. Isso pode ser usado para instalar o software. Quando executado, o sudoprograma solicita sua senha de usuário. Observe que apenas membros do admingrupo podem executar programas como root usando sudo.

No Windows, você acessa um site e baixa um instalador. O Ubuntu trabalha com um repositório de software no qual você pode procurar por programas e instalá-los. Esses programas são revisados ​​antes de serem adicionados aos repositórios oficiais, para que você possa ter certeza de que não existem intenções prejudiciais nos programas.


ok eu entendo, então os usuários não podem instalar o software em seu diretório pessoal de alguma forma e dessa forma não toca em áreas sensíveis? Quero dizer, se eles realmente querem, provavelmente podem baixar os arquivos necessários para o programa e colocá-los em seu diretório pessoal de qualquer maneira, não podem?
fiftyeight

Eles podem instalar o software no diretório inicial. Eles só precisam compilar e colocar os binários lá. Obviamente, o software instalado dessa maneira não poderá acessar arquivos protegidos em outro local. Embora a maioria dos softwares seja criada de uma maneira, é necessário acessar esses arquivos.
con-f-use

Atualizei a resposta com o "modo Ubuntu" para instalar o software. É possível instalar o software em seu diretório pessoal, mas isso realmente depende do que você baixou. Às vezes, é um arquivo com a extensão .tar.gzou .tar.bz2. Geralmente, eles podem ser extraídos diretamente no diretório inicial, mas às vezes você precisa compilar o programa antes de usá-lo. Se o arquivo tem uma extensão .binou .sh, geralmente é um instalador executável que varia em seu uso. Lembre-se de que o Ubuntu não usa extensões de arquivo para determinar o tipo, ele usa o conteúdo dele.
Lekensteyn

2

Usuários não administrativos não podem instalar software porque os pacotes são executados como root quando estão instalados em partes privilegiadas do sistema, executam scripts de manutenção etc.

Atualmente, não há como dizer ao sistema "Instale o Firefox a partir deste .deb, mas no diretório pessoal do usuário, para que fique isolado do resto do sistema"; é por isso que atualmente é principalmente um caso de tudo ou nada. (É também por isso que executar .debs de terceiros é ruim, o pacote e os scripts incluídos têm acesso root ao seu sistema)


1

Você mencionou uma grande diferença entre o Windows e o Ubuntu. No Windows, quando você estiver logado como administrador, os programas serão instalados sem solicitar uma senha. Isso também permite que o malware execute seus programas. No Ubuntu (Linux), mesmo estando logado como administrador, o sistema sempre solicita sua senha quando você altera o sistema. Portanto, o malware não pode invadir seu sistema facilmente. Para resumir, execute o Ubuntu como administrador. Se você abrir outra conta de usuário para seus filhos, dê a eles apenas direitos normais de usuário para que eles não possam estragar o sistema.


Com "admin", você quer dizer um usuário com direitos sudo? O administrador real seria root.

O software Windows não solicita uma senha, não porque você está necessariamente conectado como administrador. mas como o Windows simplesmente não funciona dessa maneira, portanto, se você baixar um arquivo deb que, sem saber, contém um script perigoso e colocar seu passe para instalar o arquivo, ele pode danificar o sistema, como malware do Windows.
Uri Herrera

E mesmo a conta "Admin" do Windows não é realmente o proprietário do arquivo do sistema, é SYSTEM, que nesse caso seria assim, o "Admin", a conta que você criou na instalação, e o ROOT, que é o verdadeiro arquivo do sistema proprietário
Uri Herrera

0

Você pode instalar o software como um usuário comum e não administrador. O software instalado por um usuário comum será "de propriedade" desse usuário, o que significa que, na verdade, é uma extensão do usuário - ele não tem mais permissões do que o proprietário, embora possa ter menos permissões, em a opção do usuário.

Uma prática comum é que um usuário crie um diretório 'bin' dentro do diretório inicial. Se / home / [usuário] / bin existir, ele será adicionado ao início do caminho do usuário. Você pode colocar arquivos executáveis ​​em / home / [usuário] / bin ou em qualquer outra pasta à qual você tenha acesso de gravação e execução e executar o programa a partir daí.

O que um usuário comum não pode fazer é instalar um pacote em todo o sistema. Um usuário comum não pode colocar arquivos executáveis ​​em / usr / bin, por exemplo, nem conceder permissões que excedam as próprias permissões do usuário. Obviamente, isso é por razões básicas de segurança - você precisa de permissões de administrador para reformatar um disco rígido, por exemplo, e não deseja que alguém não autorizado faça isso.

Até onde eu sei, você não pode usar o software de gerenciamento de pacotes para instalar um pacote de software, a menos que tenha permissões de administrador, pois o gerenciamento de pacotes é feito em todo o sistema.

No entanto, sem permissões de administrador, você pode criar scripts de shell, escrever e compilar código fonte, baixar e compilar "tarballs", que são pacotes de código fonte para aplicativos complexos ou baixar arquivos executáveis, desde que possam ser usados ​​apenas com o permissões de um usuário comum. Alguns jogos independentes, como World of Goo ou X-Plane 9, podem ser instalados e usados ​​dessa maneira.


Ao reler a pergunta, não acho que minha resposta seja diretamente relevante. Uma resposta mais relevante seria que, supondo que a conta regular do usuário possua privilégios de administrador, ele deverá solicitar a senha antes de fazer qualquer coisa que exija permissões de superusuário, e que seja segura o suficiente, mas ele poderá criar uma segunda conta de usuário que não tem permissões de administrador se ele preferir.
bgvaughan

Sua pergunta foi útil na verdade, obrigado :)
fiftyeight
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.