Trabalhando com permissões de arquivo em seu Raspberry Pi
Não há nenhuma maneira de contornar permissões de arquivo no Raspberry Pi. Você tem que entendê-los e saber como usá-los, ou você não vai ficar muito feito com o Linux.
Menu
Você precisa saber um punhado de comandos para trabalhar com permissões. A tabela a seguir apresenta uma lista.
Comando | O que faz |
---|---|
ls -l | Lista arquivos com permissões |
chmod | Alterações arquivo permissões |
chown | Muda o dono do arquivo |
grupos | Verifica os usuários de um grupo |
useradd | Adiciona um usuário a um grupo |
chgrp | Altera o grupo de arquivos |
Você pode usar o -eu mudar para verificar as permissões-los quando você usa o ls comando para listar os arquivos em uma pasta. Mas e se você quiser mudá-los?
utilização chmod
Usar chmod para alterar as permissões de arquivo, você tem que dizer-lhe três coisas:
Quem você está definindo permissões para
Como você está ajustando-los (há mais de uma maneira...)
O que você está colocando-os como
Um exemplo de comando parecido com este:
sudo chmod a + w filename-ou-full-filepath
Nas seções a seguir, este comando é dividido. Você tem que começar o comando com sudo. Caso contrário, você não pode alterar as permissões para os arquivos que você não tem permissões para.
Selecionando um que
A tabela a seguir mostra como escolher uma carta para dizer o comando que você está definindo as permissões para.
Carta | O que significa |
---|---|
você | O proprietário do arquivo |
g | O grupo de arquivos |
o | Todo mundo que não é o proprietário ou o grupo |
uma | Todos em todos - sem exceções |
Seleção de uma forma
Em seguida, você especificar como você deseja alterar as permissões. A tabela a seguir apresenta os detalhes.
Carta | O que significa |
---|---|
+ | Adiciona / gira em torno de uma permissão |
- | Remove / desliga uma permissão |
= | Ignora as permissões atuais e define algumas novos |
o + e - opções de alterar as permissões que já existem. Use-os se você quiser adicionar ou remover uma permissão. Por exemplo, você pode alterar a permissão de gravação única e deixar a leitura e permissões de execução sozinho.
o = opção altera todas as permissões de uma só vez. Use-o quando você não se preocupam com as permissões existentes, e você só quer precipitar-se e definir-los todos como você deseja.
Selecionando um que
A tabela a seguir mostra quais letras para escrever para selecionar as permissões diferentes. Esta parte é fácil.
Carta | r Leia |
---|---|
r | A permissão de leitura |
W | permissão de gravação |
x | permissão de execução |
x | magia especial permissão de execução para pastas |
A maioria destes fazer o que você espera, mas executar tem algumas características especiais:
Você pode olhar para dentro de uma pasta somente se você pode executá-lo. Você pode pensar que leia seria suficiente, mas não é.
Você pode renomear um arquivo somente se você pode executá-lo. Você pode pensar gravação seria suficiente, mas não é.
Contanto que você pode ler um arquivo, você pode executá-lo como código se ele é passado para outro aplicativo. Você pode pensar que você precisa executar, mas você não.
Por exemplo, se você tem permissão para ler um arquivo, você pode executá-lo como código Python, porque na verdade você está executando Python em primeiro lugar. Python lê o arquivo, por isso é permissões do Python que importam.
Você precisa da permissão de execução somente se o arquivo é um aplicativo independente.
Confuso? Provavelmente. Não há nenhuma maneira simples de fazer sentido a esses casos especiais. Você apenas tem que pensar-los através, lembre-los, e dizer "Huh" muito quando você esquecê-los, até que você verificar on-line e lembre-se.
Se você está tentando fazer o trabalho de software em conjunto - por exemplo, se você está tentando usar Python para criar uma página web para você - e você está recebendo nada, é uma boa aposta as permissões não estão bem.
Às vezes, as permissões falhar silenciosamente. Nada aparece na tela. Coisas simplesmente não funciona, e você não tem idéia do porquê. Como regra geral, quando algo não funciona e você não tem idéia, verifique as permissões em primeiro lugar.
Juntando tudo
As permissões são complicado, então você precisa praticar-los. Você provavelmente não vai lembrar-los de outra forma.
Aqui está um exemplo simples. Diga que você deseja definir permissões para que todos que usa seu Pi pode escrever um arquivo. você pode trabalhar para fora o que o comando deve ser? Suponha que todos possam lê-lo já.
Deve olhar como este:
sudo chmod a + w filename-ou-full-filepath
A figura a seguir mostra um antes e depois de modo que você pode ver como o comando altera a cadeia de permissões quando você usa o ls comando. Após o comando, todos podem editar o arquivo.
Se você deseja definir várias permissões, colocá-los juntos como este:
sudo chmod a + rwx filename-ou-full-filepath
Você não precisa usar sudo para alterar as permissões nos arquivos que você possui, para que possa geralmente fazer o que quiser com os arquivos em seu diretório home. Mas se você está tentando trabalhar com arquivos em outros lugares em sua Pi, você definitivamente precisa sudo.
utilizando números
Às vezes, as permissões parecem números. Por exemplo, blog artigos e livros, por vezes, dizer-lhe para definir as permissões em um arquivo para 777 ou 644 ou algum outro número.
Os números são apenas uma maneira mais rápida e mais compacto para definir # 173 permissões. Eles são mais fáceis de lembrar do que uma longa fila de letras. Eles também são mais rápidos para digitar.
Mas o que eles significam? O primeiro número define a sua permissão pessoal, o segundo número é a permissão de grupo, eo terceiro número é a toda a gente permissão. Portanto, esta é realmente apenas uma outra maneira de escrever rwx três vezes.
A tabela a seguir mostra como converter entre uma cadeia de permissão de três letras em um único número.
Número | Ler r | Escreva W | Executar x |
---|---|---|---|
7 | r | W | x |
6 | r | W | - |
5 | r | - | x |
4 | r | - | - |
3 | - | W | x |
2 | - | W | - |
1 | - | - | x |
0 | - | - | - |
Alguns exemplos:
744 = rwxr - r - 777 = rwxrwxrwx600 = rw -------
Você pode usar os números em vez das letras chmod, como isso:
sudo chmod 644 filename-ou-full-filepath
Isso define as permissões para
rw-r - r-
usando o -R interruptor
Se você deseja alterar as permissões dentro de um diretório, você pode alterá-los para cada arquivo manualmente - o que pode levar um tempo muito longo.
Salve-se o esforço com o -R interruptor. Você pode usá-lo para alterar todas as permissões para todos os arquivos dentro de uma pasta com um único comando. Para usá-lo, incluem -R em algum lugar no comando quando você digita.