Como um administrador de sistemas impede as pessoas de fazer certas coisas?

1

(Prenote:
Desculpe se este é o fórum errado ... Eu suponho que este é o único para sysadmins e poder / super
Comercial)

Foi apenas uma consulta que veio quando eu estava andando por aí, fazendo o velho "rm -rf /" (Har har):

Como um administrador, em um sistema baseado em unix que executa o kernel linux, impede as pessoas de entrarem nos arquivos como / sys? A partir disso:

Como o sysadmin impede que as pessoas usem comandos como: "rm -rf /"

Mais uma vez, me desculpe se este for o fórum errado.

Bajinga
fonte
4
O império britânico teve um grande sucesso em enforcar pessoas na frente de multidões, para assustar a multidão.
JustSid
@JustSid: Na América, um taco de beisebol parece mais apropriado culturalmente.
surfasb

Respostas:

6

Um usuário básico em um sistema linux não possui as permissões necessárias para causar qualquer dano ao próprio sistema. Se você tentar fazer "rm -rf /" em qualquer sistema linux como um usuário comum, você receberá muitos erros de "permissão negada", embora você acabe com qualquer coisa que lhe pertença (isto é, sua casa diretório).

O que é perigoso é dar acesso a pessoas sudo, ou se a senha de root é conhecida. Nesse caso, não há nada que impeça uma pessoa com esse acesso de fazer danos através de "rm -rf /".

churnd
fonte
Não é grande coisa, então ... Somente os arquivos sudo e a senha precisam ser mantidos sob extrema segurança. Obrigado!
Bajinga
2

Alocando permissões em arquivos e diretórios (pastas) usando comandos como chmod, chown e chgrp.

Usuários comuns não podem excluir arquivos em diretórios para os quais eles não possuem permissão de gravação.

RedGrittyBrick
fonte
Ah, entendo. Então os comandos são mantidos em arquivos. Obrigado!
Bajinga
@Bajinga: Sim, os comandos são mantidos em arquivos, mas não é disso que a RedGrittyBrick está falando. Os comandos chmod, chowne chgrp são usados ​​para definir propriedade e permissões em arquivos e diretórios. Usuários não-root não são capazes de fazer certas coisas para esses arquivos e diretórios.
Keith Thompson
2

RedGrittyBrick e churnd estão corretos. Eu gostaria de adicionar algumas coisas:

  • É importante usar permissões e propriedades para garantir que os usuários só possam se machucar. Por padrão, o Linux é configurado dessa maneira.

  • Os usuários precisam ler acesso a locais como / etc e / usr porque seus programas carregam bibliotecas e localizam informações de configuração nesses diretórios. Se você tentar bloqueá-los, as coisas vão quebrar mal.

  • Um bom administrador mantém backups regulares dos diretórios do usuário / home, para que, se um usuário limpar seu próprio diretório inicial, ele perca apenas um dia de trabalho.

  • Reserve o acesso sudo com cuidado. Mesmo comandos que você pensar são seguros, devem ser reservados para pessoas em quem você confia.

  • O acesso root é a chave para o reino.

  • Não tente encontrar segurança falsa em shells restritos, eles são apenas projetados para proteger os usuários de si mesmos. Eles podem ser contornados e os usuários ainda podem encontrar maneiras de executar comandos desagradáveis. http://en.wikipedia.org/wiki/Restricted_shell

mgjk
fonte
Obrigado! Ótima resposta aqui. Eu vou ler no shell e só agradeço por isso. +1!
Bajinga
0

Em alguns casos, o administrador não quer dar shell aos usuários. isso pode ser feito com o comando:

chsh username 

e quando o sistema solicitar que você responda qual shell fornecer ao usuário - apenas digite: false

mdakic
fonte
falseé claro, é um programa que sai imediatamente com o código de saída 1. Quando o usuário tenta efetuar login com este shell configurado, ele simplesmente sai imediatamente.
Daniel Beck
Isso praticamente nega o acesso do usuário ao sistema. Você pode simplesmente excluir a conta.
Keith Thompson