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

11

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

Quero dizer, todo aplicativo é executado por um usuário específico e esse usuário só será capaz de executar esse applciation com seus privilégios, por isso, se ele tem sem privilégios de administrador, o aplicativo também não poderá acessar não autorizado diretórios etc.

Eu quero a maior parte do tempo para trabalhar no meu PC com um usuário não administrador, já que parece mais seguro para mim, na maioria das vezes não tenho necessidade de privilégios de administrador. e mesmo sabendo que vírus no linux são incomuns, eu ainda acho que o melhor prática é trabalhar no computador em um estado que você mesmo não pode fazer quaisquer alterações em arquivos importantes, assim os vírus também não podem prejudicar arquivos, mas eu preciso instalar software para programação e web-design etc. e, em primeiro lugar, não quero trocar de usuário o tempo todo. Mas também parece mais seguro para mim que tudo está sendo feito no PC será feito através do usuário não administrador.

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

    
por fiftyeight 11.06.2011 / 18:55

6 respostas

16

Por que você pediu uma senha

A maioria dos softwares é projetada para tocar em arquivos confidenciais, ou seja, sensíveis à segurança de seus dados privados ou à integridade dos sistemas. É por isso que a instalação de software é um risco em 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 bit de código ruim chegará com o seu novo reprodutor de áudio, até que alguém verifique. E mesmo assim algo poderia ter sido esquecido ou pacotes poderiam ser manipulados no caminho. Quem sabe o que está escondido na profundidade do programa? Um usuário deve.

O Ubuntu fornece uma maneira confortável de instalar software. Os desenvolvedores de software podem contar com esse conforto e supor que o synaptic / software center / apt permite que eles acessem esses arquivos confidenciais. A Canonical verifica o repositório do software em busca de erros e códigos maliciosos. 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, embora não no modo Ubuntu. Por exemplo, você terá que compilar o código-fonte ou executar um script de instalação personalizado. Além dos maiores esforços, tem a desvantagem de não permitir que outros usuários acessem seu programa recém-instalado (já que 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 grande escala e, em pequena escala, é mais fácil digitar uma senha do que instalar o software manualmente.

É por isso que o Synaptic age por uma senha e por que é bom.

Sudoers

Se você realmente precisa ter outros usuários instalando software sem senha , você pode adicioná-los à lista de sudoers. No entanto, isso resultará em um grande risco de segurança . Se isso não lhe diz respeito, considere que existem redes de bots com ótimos recursos para invadir seu computador via Internet. Eles fazem isso apenas para adicionar seu computador à rede e usar sua conexão e poder de computação sem o seu conhecimento para fazer todo tipo de coisas ilegais. Eles não são nem mesmo depois de seus dados pessoais seu você para essa matéria. Eles só querem seqüestrar seu PC. Ainda não está preocupado? Mesmo? Então, olhe a seguinte resposta, que é um pequeno tutorial sobre a lista de sudoers:

Como para fazer o Ubuntu lembrar para sempre a senha depois da primeira vez

Leia com atenção. Você pode se trancar para fora do sistema.

O susto acabou

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

Ignore os procedimentos ( não faça isso levemente - veja o texto e 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 irá abrir ADICIONAR uma linha como esta:

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

Explicação da sintaxe: username machine=(usernameToRunCommandAs) command1,command2,... . Assim, 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 synaptic ou gksudo synaptic ou colocar um alias 'alias synaptic =' sudo synaptic 'no seu perfil de shell.

    
por con-f-use 11.06.2011 / 19:38
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 quiser fazer tarefas administrativas, ele será solicitado a fornecer sua senha de administrador. Essas tarefas são emitidas colocando sudo na frente de um comando.

  2. Todos os outros usuários (a menos que você mesmo o modifique) são usuários normais e não podem instalar o software por inteiro, a menos que o administrador (primeiro usuário) permita que eles façam isso. O usuário normal só pode colocar coisas em sua própria casa e, se quiser, pode atrapalhar seu diretório pessoal.

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

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

Além disso, eles podem instalar 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;)

    
por Rinzwind 11.06.2011 / 19:00
2

No Ubuntu, o administrador tem privilégios de root (muitas vezes referidos apenas como "root", como em "você precisa ser root").

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

  • read (valor numérico 4)
  • write (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 membros desse grupo)
  • todos os outros usuários que não são o proprietário nem o grupo

Esses princípios formam o básico das permissões de arquivos do Linux. No windows, tudo pode ser executado. Dê-lhe uma extensão .cmd ou .exe , 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, o programa acessa arquivos como aquele usuário e essas permissões de arquivo entram em ação. Por padrão, os locais onde os programas são instalados são privilegiados, somente o proprietário pode gravar. Este proprietário é root. Todos os outros usuários só podem ler e executar o programa, não gravar nele. É por isso que você precisa de privilégios de administrador para instalar programas.

O Ubuntu tem 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 programa sudo pede sua senha de usuário. Observe que somente membros do grupo admin podem executar programas como root usando sudo .

No Windows, você acessaria um site e baixaria 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, portanto, você pode ter certeza de que não existem intenções prejudiciais nos programas.

    
por Lekensteyn 11.06.2011 / 19:03
2

Usuários não-administradores não podem instalar software porque os pacotes são executados como root quando estão instalando enquanto instalam em partes privilegiadas do sistema, executam scripts do mantenedor, etc.

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

    
por Jorge Castro 12.06.2011 / 20:13
1

Você tocou em uma grande diferença entre o Windows e o Ubuntu. No Windows quando você está logado como um programa de administração será instalado sem pedir uma senha. Isso também permite que o malware execute seus programas. No Ubuntu (Linux), mesmo sendo logado como administrador, o sistema sempre pedirá sua senha quando você alterar o sistema. Portanto, o malware não pode invadir facilmente o seu sistema. Para resumir, execute o Ubuntu como administrador. Se você abrir outra conta de usuário para seus filhos do que dar a eles apenas direitos normais de usuário, eles não podem estragar o sistema.

    
por dago 11.06.2011 / 20:06
0

Você pode instalar o software como um usuário comum, 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 usuário proprietário, embora possa ter menos permissões, a opção do usuário.

Uma prática comum é para um usuário criar um diretório 'bin' dentro de seu diretório inicial. Se / home / [usuário] / bin existir, ele será incluído no início do caminho desse usuário. Você pode colocar arquivos executáveis em / home / [usuário] / bin, ou em qualquer outra pasta para a qual tenha acesso de gravação e execução, e executar o programa a partir de lá.

O que um usuário normal não pode fazer é instalar um pacote em todo o sistema. Um usuário normal não pode colocar arquivos executáveis em / usr / bin, por exemplo, nem conceder permissões que excedam as permissões do próprio usuário. Isto é, obviamente, 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 quer 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 com apenas as permissões de um usuário comum. Alguns jogos indie, como o World of Goo ou o X-Plane 9, podem ser instalados e usados dessa maneira.

    
por bgvaughan 12.06.2011 / 22:58