permissão `cp` negada ao copiar um arquivo de propriedade de` root`

Eu tenho uma pasta udp_folder2

d------r-T 41 root root 4096 Apr 26 21:17 udp_folder2 

quando estou com um usuário diferente de root, posso “t cp -r em uma nova pasta que diz: Permissão negada

por quê? e como posso copiá-lo com um usuário diferente de root

Resposta

Bem,

Isso seria porque, da maneira como suas permissões atuais são definidas, ninguém pode mover esse arquivo. (Diferente do root, porque o root não segue as mesmas regras.)

Você precisaria alterar o proprietário do arquivo (chown) OU adicionar o outro usuário ao grupo “root” e chmod para que o grupo possa executar no diretório OU permitir que todos executem o arquivo.

Portanto, uma solução rápida seria:

chmod -R o+rwx udp_folder2 

Isso dará a todos a capacidade de ler, escrever e executar nesse diretório.

Além disso … se você estiver tentando copiar “udp_folder2” para o mesmo diretório em que está localizado agora , você “precisará da permissão” w “nesse diretório também. Por exemplo:

/ foo / udp_folder2 – você” precisará “w” em / foo para copiar esse diretório em / foo

Eu sugiro aprender as permissões de arquivo do Linux: Tutorial de permissão de arquivo do Linux

Comentários

  • Acho que copiar é apenas r permissão, obviamente, há r permissão para outro usuário, veja, lá eu sa r
  • Quero dizer em d------r-T, o r é para outro usuário
  • Você também precisa de permissão de execução para copiar um diretório. Eu ' não tenho certeza do que T é improvisado.
  • Você ' vou precisar do ' w ' no diretório que você ' está tentando copiar para … por exemplo, se você ' re copiar / home / foo para / etc / foo, você ' precisará do ' w ' permissão em / etc /
  • @Swiss – O ' T ' é um bit fixo, que é uma permissão ' especial '. Saiba tudo sobre sticky bits aqui: en.wikipedia.org/wiki/Sticky_bit

Resposta

O diretório não tem permissão x, então outros (ou seja, neste caso qualquer usuário) podem usar o diretório para acessar os arquivos lado de dentro. O T significa que é pegajoso (apenas o proprietário de um arquivo pode excluí-lo). Com a permissão x e o sticky bit, você veria uma t minúscula; a maiúscula T diz “sem permissão de acesso, mas sticky bit, que é uma combinação estranha”.

Leia sobre permissões de arquivo / diretório do Unix. Não é muito difícil e você irá precisar.

Resposta

Você não ” não quero dar a todos rwx no diretório porque você “criaria um risco de segurança. E você não gostaria de -R o chmod porque isso gravaria as alterações recursivamente.

Basta chmod 755 "filename" e você está bem.

Aqui está uma divisão dos números:

  • Leitura = 4
  • Escrita = 2
  • Execução = 1

Então você tem 3 grupos:

  • Proprietário.
  • Aqueles que pertencem ao Grupo.
  • Todos os outros.

Então, se você deseja dar ao proprietário rwx, aqueles que pertencem ao grupo rw e todos os outros rw basta adicionar as permissões: rwx = 7, porque r + w + x é 4 + 2 + 1 e rw = 6 porque r + w = 4 + 2.

Comentários

  • Daí meu termo ' Portanto, uma solução rápida seria ' e envio a ele um link para saber mais sobre as permissões. Ele não ' não mencionou uma preocupação com a segurança ou qualquer coisa do tipo. Ele apenas declarou que deseja copiar o diretório.
  • Além disso, ele ' precisaremos do ' w ' permissão no diretório em que ele ' está tentando copiá-lo.
  • Não ' não seja um hater Tillman.

Resposta

Para copiar a pasta onde o proprietário não” Para ter permissão, você deve alterar essas permissões.

Se a pasta for restrita até mesmo para o proprietário, há algum motivo para isso e dar as permissões para todos os outros (o) não é “uma boa solução ( como mostrado na primeira resposta).

Para que a pasta seja acessada pelo proprietário, ela precisa ter lido (r) e executar / pesquisar bits (X) definido. Se você “ve pastas dentro das pastas, cada uma deve seguir as mesmas regras. Para arquivos apenas o bit de leitura (r) é o suficiente.

Então, basicamente, para dar as permissões de leitura à pasta recursivamente, você deve executar:

chmod -vR u+rX folder/ 

Se você “estiver executando o comando acima como um usuário, prefixe com sudo (se você” tiver privilégios de superusuário), caso contrário, execute como root.

Se alguns arquivos dentro da pasta não forem propriedade do root, altere-os recursivamente por:

Então copie-o normalmente ou use rsync como segue:

rsync -vuar src/ dst/ 

Para obter mais explicações sobre os comandos acima, verifique: man chmod e man chown.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *