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 / ubuntu / Perguntas / 1448742
Accepted
Big_Duck
Big_Duck
Asked: 2023-01-05 09:51:44 +0800 CST2023-01-05 09:51:44 +0800 CST 2023-01-05 09:51:44 +0800 CST

Como os comandos determinam se temos os privilégios necessários para executar uma ação?

  • 772

Ubuntu novato aqui!

Não consigo descobrir qual mecanismo determina se devo executar um comando ou exibir um erro de 'Permissão negada'.

Por exemplo, assumindo que estamos usando uma conta de usuário regular, 'chown --help' é executado e funciona muito bem, mas na verdade, alterar os proprietários retorna um erro 'Permissões negadas'. O que da?

Usar ls -l em /bin/chown nos diz que usuários comuns (outros) têm permissão de execução.

ls -l /bin/chown
-rwxr-xr-x 1 root root 59904 Feb  7  2022 /bin/chown

O fato de podermos executar esse comando não significa que podemos usá-lo da maneira que quisermos?

Se não fosse pelas permissões de arquivo, existe outro mecanismo que os comandos usam para determinar se temos os privilégios necessários?

permissions
  • 1 1 respostas
  • 29 Views

1 respostas

  • Voted
  1. Best Answer
    sean
    2023-01-05T10:04:05+08:002023-01-05T10:04:05+08:00

    O sistema não verifica apenas se você pode executar o comando, existem muitos comandos que você pode executar. O sistema operacional verifica se você tem o direito de fazer a alteração que está tentando fazer. Caso contrário, o programa que você está tentando executar receberá um erro após tentar executar a operação.

    Por exemplo, se você deseja executar o comando chmod nos arquivos de outra pessoa e não tem permissões de grupo e o arquivo não é +w para o "a", então algo como rw-r--r--, então há simplesmente não há como você editar ou modificar as permissões com o comando se for o arquivo de "jim" e você for "joe". O sistema operacional está impedindo a ação, não é o programa em si. O programa apenas relatará a mensagem de volta para você. Na verdade, o comando provavelmente tenta fazer o que você pediu... mesmo que não consiga.

    Basicamente, o Linux possui uma infraestrutura de segurança de arquivos como esta:

    Raiz > Proprietário > Grupo > Todos os outros

    Portanto, alguém que está "mais à esquerda" nessa lista tem direitos para alterar as permissões ou dados de qualquer pessoa à direita deles, onde "Todos os outros" não têm.

    Mas então você tem um problema mais complexo ... As pessoas podem executar um programa como "setuid", "setgid" ou qualquer outra coisa. Isso significa que o programa é executado como a combinação de usuário/grupo anexada ao arquivo. Às vezes é usado para dar a alguém acesso a um programa. (Não recomendo usar, o que é recomendado é dar ao usuário as permissões adequadas.)

    De qualquer forma, só porque você pode executar qualquer programa não significa que você pode fazer qualquer coisa com ele. :D

    • 0

relate perguntas

Sidebar

Stats

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

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

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