AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 571233
Accepted
Rafael Muynarsk
Rafael Muynarsk
Asked: 2020-03-05 22:44:47 +0800 CST2020-03-05 22:44:47 +0800 CST 2020-03-05 22:44:47 +0800 CST

É possível proibir um usuário específico de executar arquivos em /usr/bin sem alterar a permissão de todos os arquivos para 750?

  • 772

Eu entendo o conceito de gerenciamento de permissões no Linux chmodusando o primeiro dígito como o usuário , o segundo como o grupo e o terceiro como outros usuários , conforme descrito nesta resposta em Noções básicas sobre permissões e tipos de arquivo do UNIX .

Digamos que eu tenha um sistema Linux com 5 usuários : admin, usera, userbe userc. guestPor padrão, os usuários usera, userbe usercterão permissão de execução em todos os arquivos dentro /usr/binde , então esses usuários podem usar a linha de comando do sistema executando os arquivos lá, pois esses arquivos têm permissão 75 5 . Até agora está completamente ok. No entanto, gostaria de proibir o usuário guestde executar arquivos na pasta /usr/bin, sei que poderia conseguir isso alterando a permissão de todos os arquivos dentro desta pasta para algo como 750 com chmod, mas se eu fizer isso vou atrapalhar o permissões dos usuários usera, userbe usercporque eles também serão proibidos de executar arquivos.

No meu computador, todos os arquivos /usr/binpertencem ao grupo root, então eu sei que posso criar um newgroup, alterar o grupo de todos esses arquivos para ele e adicionar usera, userbe . Mas fazer isso soa como muita modificação nas configurações padrão do sistema. Alguém conhece uma maneira mais inteligente de resolver esse problema?usercnewgroup

Como posso proibir um único usuário de usar a linha de comando (ou executar qualquer arquivo em PATH) sem uma solução supercomplicada que exija a alteração das permissões de muitos arquivos?

permissions path
  • 2 2 respostas
  • 1447 Views

2 respostas

  • Voted
  1. Best Answer
    muru
    2020-03-05T23:00:34+08:002020-03-05T23:00:34+08:00

    Use ACLs para remover as permissões. Nesse caso, você não precisa modificar as permissões de todos os executáveis; apenas remova a permissão de execução de /usr/bin/para impedir a passagem desse diretório e, portanto, o acesso de qualquer arquivo dentro.

    setfacl -m u:guest:r /usr/bin
    

    Isso define as permissões de user guestpara apenas read para o diretório /usr/bin, para que eles possam lsacessar esse diretório, mas não acessem nada dentro.

    Você também pode remover todas as permissões:

    setfacl -m u:guest:- /usr/bin
    
    • 13
  2. vonbrand
    2020-03-06T13:08:17+08:002020-03-06T13:08:17+08:00

    O que você está tentando fazer? Proibir o uso dos comandos padrão do sistema para alguns usuários é apenas um comportamento incivil ao extremo... comandos que podem colocar o sistema em risco estão distantes entre si e foram cuidadosamente verificados quanto à segurança. As permissões nos arquivos devem impedir a maioria das tentativas de travessuras.

    • Considere dar a eles um shell restrito (verifique os manuais, provavelmente tem um nome como rbash; cuidado, porém, rshé um tipo diferente de animal!). Eles prendem o usuário de forma bastante eficaz (mas cuidado, é possível sair!)
    • Se este for um pseudo-usuário encarregado de possuir algum serviço, a saída comum é dar ao "usuário" um shell que não faz nada, como /bin/true(verifique o manual do seu sistema para quaisquer recomendações nesta linha, pode haver um programa especial para isso; se /bin/truefor um script de shell , não o use para isso ). Dessa forma, se alguém conseguir fazer login nessa conta, a sessão será encerrada imediatamente.
    • Crie um chrootpara eles (novamente, existem maneiras de quebrar), ou use os containers Linux das jails do BSD para confiná-los, e apenas exponha exatamente o que você quer que eles vejam. Mais controle, mas confuso para configurar e manter-se atualizado.
    • 2

relate perguntas

  • Como funcionam as permissões de grupo?

  • Erro de permissão do arquivo de log do Redis, mas a permissão já é 777

  • Iniciando o comando zypper com privilégio root

  • Possíveis razões pelas quais o meld não pode acessar /dev/fd/* quando executado como usuário sem privilégios?

  • Os subdiretórios não vazios de outro usuário estão protegidos contra exclusão no meu diretório?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve