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.

Conteúdo

Você precisa saber um punhado de comandos para trabalhar com permissões. A tabela a seguir apresenta uma lista.

Comandos de permissão úteis
ComandoO que faz
ls -lLista arquivos com permissões
chmodAlterações arquivo permissões
chownMuda o dono do arquivo
gruposVerifica os usuários de um grupo
useraddAdiciona um usuário a um grupo
chgrpAltera 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.

Quem sou eu Definindo permissões para?
CartaO que significa
vocêO proprietário do arquivo
gO grupo de arquivos
oTodo mundo que não é o proprietário ou o grupo
umaTodos 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.

Como é que eu definir as permissões?
CartaO 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.

O que estou Configurando?
Cartar Leia
rA permissão de leitura
Wpermissão de gravação
xpermissão de execução
xmagia 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.

image0.jpg

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.

Permissões como números
NúmeroLer rEscreva WExecutar x
7rWx
6rW-
5r-x
4r--
3-Wx
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.

» » » » Trabalhando com permissões de arquivo em seu Raspberry Pi