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 / computer / Perguntas / 1716677
Accepted
Solenoid
Solenoid
Asked: 2022-04-18 01:27:59 +0800 CST2022-04-18 01:27:59 +0800 CST 2022-04-18 01:27:59 +0800 CST

As permissões dependem de onde o comando é executado

  • 772

Eu encontrei um comportamento muito estranho que não sei como resolver: as permissões de ação dependem de onde o comando é executado.

Minha situação: configurei um servidor Nextcloud em um Raspberry Pi 4. O sistema funciona a partir de um cartão SD e a instância Nextcloud está em um SSD, executado via Docker (usando IOTstack). No que diz respeito ao Nextcloud, tudo funciona como esperado.

Quando quero listar o conteúdo da instância Nextcloud, posso usar a conta root como tal:

sudo ls -lh /media/pi/storage/IOTstack/volumes/nextcloud/html/data/solenoid/files
total 4.0K
drwxr-xr-x  3 www-data www-data 4K Nov  3 11:09  Documents

Claro, isso funciona por causa do root. Quando tento a conta normal pi, recebo o seguinte:

ls -lh /media/pi/storage/IOTstack/volumes/nextcloud/html/data/solenoid/files
ls: cannot access '/media/pi/storage/IOTstack/volumes/nextcloud/html/data/solenoid/files': Permission denied

Isso porque tudo pertence a www-data, então eu tento como www-datae recebo:

sudo -u www-data ls -lh /media/pi/storage/IOTstack/volumes/nextcloud/html/data/solenoid/files
ls: cannot access '/media/pi/storage/IOTstack/volumes/nextcloud/html/data/solenoid/files': Permission denied

Isso não é normal... Eu deveria conseguir ver os arquivos do usuário ao qual eles pertencem.

Tentei cdno SSD montado ( storage) e executei o comando novamente:

cd /media/pi/storage/
sudo -u www-data ls -lh ./IOTstack/volumes/nextcloud/html/data/solenoid/files
total 4.0K
drwxr-xr-x  3 www-data www-data 4K Nov  3 11:09  Documents

Por quê? Como as permissões dependem de onde o lscomando é executado? Por que posso listar os arquivos de /media/pi/storagee não de /home/pi, como www-datausuário? Deveria www-dataestar no pigrupo?

Anteriormente eu tinha os dados armazenados no cartão SD, em /home/pi/IOTstack..., mas queria armazenar meus arquivos em um local mais seguro, mantendo a opção de trocar o hardware. Eu não encontrei este problema.

A razão para acessar arquivos dessa maneira "bruta" é fazer backup deles pela rede para outra mídia de armazenamento.


Editar

Respondendo @kamil-maciorowski

namei -nom /media/pi/storage/IOTstack/volumes/nextcloud/html/data/solenoid/files
f: /media/pi/storage/IOTstack/volumes/nextcloud/html/data/solenoid/files
 drwxr-xr-x root     root /
 drwxr-xr-x root     root media
 drwxr-x--- pi       pi   pi
 drwxr-xr-x pi       pi   storage
 drwxr-xr-x pi       pi   IOTstack
 drwxr-xr-x pi       pi   volumes
 drwxr-xr-x pi       pi   nextcloud
 drwxrwx--- www-data root html
                          data - Permission denied
permissions external-drive
  • 1 1 respostas
  • 78 Views

1 respostas

  • Voted
  1. Best Answer
    Kamil Maciorowski
    2022-04-18T04:57:16+08:002022-04-18T04:57:16+08:00

    Links Úteis:

    • Eu realmente preciso de recursividade chmodpara restringir o acesso a uma pasta?

      Portanto, se você remover […] privilégios de leitura e execução em um diretório, qualquer coisa abaixo dele se tornará inacessível […].

    • Resolução do nome do caminho

    Quando você faz

    ls -lh /media/pi/storage/IOTstack/volumes/nextcloud/html/data/solenoid/files
    

    como pi, o nome do caminho é resolvido, /, media, pi, storage, IOTstack, volumese nextcloudpode ser acessado. Em seguida, o procedimento chega ao htmlcomponente. A propriedade e o modo de htmlsão www-data:roote drwxrwx---respectivamente. Quando você está pi(que não está www-datanem no rootgrupo), o último trio se aplica , é ---. Isso significa que você não pode acessar htmle dataoutros componentes de nome de caminho.

    Quando você faz

    ls -lh /media/pi/storage/IOTstack/volumes/nextcloud/html/data/solenoid/files
    

    as www-data, o nome do caminho é resolvido / e mediapode ser acessado. Em seguida, o procedimento chega ao picomponente. A propriedade e o modo de pisão pi:pie rwxr-x---respectivamente. Quando você está www-data(que não está pinem no pigrupo), o último trio se aplica, é ---. Isso significa que você não pode acessar pie storageoutros componentes de nome de caminho.

    Você disse "isso não é normal", mas o mecanismo de negação de acesso é o mesmo da primeira tentativa; a única diferença é que o componente pathname é o culpado: htmlou pi. Ambos os casos são igualmente normais.

    Quando você cd /media/pi/storage/como pi, você pode fazer isso porque os modos de todos os diretórios relevantes permitem.

    Quando você então corre

    ls -lh ./IOTstack/volumes/nextcloud/html/data/solenoid/files
    

    as www-data, o modo de /media/pié irrelevante porque a resolução do nome do caminho começa em .: ., IOTstacke volumesassim por diante. Acontece que www-datapode acessar todos esses arquivos e, assim, lsfunciona.

    Em outras palavras cd, executado como picoloca você sob o próprio componente www-datanão pode acessar. Então pise torna www-datagraças a sudo, mas o diretório de trabalho não muda. O caminho dado para lscomeça de ., não de /, agora pode ser resolvido e acessado. Observe que se você usou o caminho completo (ou seja, começando de /, como nas tentativas anteriores), ele ainda não pôde ser acessado, independentemente do diretório de trabalho atual.

    • 0

relate perguntas

  • Brew install R: Permissão negada

  • Eu realmente preciso do chmod recursivo para restringir o acesso a uma pasta?

  • Nginx dá 404 para alguns arquivos

  • execute o contêiner do docker como root

  • Por que chown 600 id_rsa corrige problemas de permissões?

Sidebar

Stats

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

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

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