Alterar as permissões e a propriedade da pasta

391

Eu gostaria que o usuário tivesse todos os direitos sobre essa pasta (assim como todos os subdiretórios e arquivos nela contidos):

~/.blabla

atualmente de propriedade do root.

Encontrei vários posts (neste fórum e em outros lugares) sobre como fazer isso para arquivos, mas não consigo encontrar uma maneira de fazer isso para pastas inteiras.

    
por user2413 13.10.2010 / 11:31

6 respostas

609

Use chown para alterar a propriedade e chmod para alterar os direitos.

Como Paweł Karpiński disse, use a opção -R para aplicar os direitos de todos os arquivos dentro de um diretório também.

Note que ambos os comandos funcionam apenas para diretórios também. A opção -R faz com que eles também alterem as permissões para todos os arquivos e diretórios dentro do diretório.

Por exemplo

sudo chown -R username:group directory

mudará a propriedade (usuário e grupo) de todos os arquivos e diretórios dentro de directory e directory .

sudo chown username:group directory

só mudará a permissão da pasta directory , mas deixará os arquivos e pastas apenas dentro do diretório.

Como a enzotib mencionou, você precisa usar sudo para alterar a propriedade da raiz para si mesmo.

Editar:

Observe que, se você usar chown <user>: <file> (observe o grupo excluído), ele usará o grupo padrão para esse usuário.

Se você quiser alterar apenas o grupo, use:

chown :<group> <file>
    
por Ikke 13.10.2010 / 11:42
82

Faça o usuário atual possuir tudo dentro da pasta (e da própria pasta):

sudo chown -R $USER ~/.blabla
    
por Lucian Adrian Grijincu 13.10.2010 / 12:07
54

Se preferir, isso também pode ser feito com uma GUI. Você precisará abrir o Nautilus como root para fazer isso. Pressione Alt + F2 para acessar a caixa de diálogo "Executar aplicativos" e digite gksu nautilus

Em seguida, navegue e clique com o botão direito do mouse na pasta que deseja modificar. Em seguida, selecione "Propriedades" no menu de contexto. Agora você pode selecionar o usuário ou grupo que gostaria de ser o "Proprietário" da pasta, bem como as permissões que deseja conceder. Por fim, pressione "Aplicar permissões aos arquivos anexos" para aplicar as alterações de forma recursiva.

Embora pareça que isso nem sempre funciona para algumas operações em uma árvore de pastas profundas. Se não funcionar, use o comando de terminal apropriado.

    
por andrewsomething 14.10.2010 / 00:04
26

Se for de propriedade do root, você pode fazer isso

sudo chown <your username>:<your usergroup> -R <path to>/.blabla

Como o ./blabla é de propriedade do root, você precisa obter privilégios de root para mudar isso. É o que o sudo fará. A opção -R para o comando chown diz: este diretório e tudo nele de forma recursiva.

    
por AndyB 13.10.2010 / 13:14
10

você deve tentar chmod -R

    
por Paweł Karpiński 13.10.2010 / 11:33
0

Primeiro chmod -R pode atrapalhar suas permissões do sistema se você fizer isso em arquivos e diretórios do sistema por engano.

Segundo chmod -R pode atrapalhar sinalizadores nessas pastas e não é uma boa ideia conceder permissões em algumas pastas a todos os usuários.

Você deve tentar e chown :

 sudo tree -fai ~/.blabla  | xargs -L1 -I{} sudo chown youruser:youruser {}
    
por Eduard Florinescu 25.01.2018 / 14:29