comando chown [RESOLVIDO]

1. comando chown [RESOLVIDO]

matheus novaes marinho
Novaesma

(usa Outra)

Enviado em 30/03/2020 - 10:21h

estou com uma duvida que se posso usar o comando chown para mudar o proprietário e grupo todos os arquivos de um diretório de uma vez só.
por exemplo: tenho um diretório com 5 arquivos e em vez de mudar a um a um quero mudar tudo de uma vez só.



  


2. Re: comando chown [RESOLVIDO]

aguamole
aguamole

(usa KUbuntu)

Enviado em 30/03/2020 - 12:10h

Use o coringa "*" para todos.
exemplo:
cat /var/log/*.log 

Vai ler todos os arquivo log do diretório "log"

CPU i5-8400 GTX 750 SofRaid 4xSSD 16GB DDR4 mesmo assim uso Lubuntu.


3. Re: comando chown

Rogerio
RogerDez

(usa Outra)

Enviado em 30/03/2020 - 12:51h

chown -R usuario:grupo /diretorio/
'-R' ou '--recursive' para mudar permissões recursivamente nos diretórios


4. Re: comando chown [RESOLVIDO]

matheus novaes marinho
Novaesma

(usa Outra)

Enviado em 01/04/2020 - 10:09h

aguamole escreveu:

Use o coringa "*" para todos.
exemplo:
cat /var/log/*.log 

Vai ler todos os arquivo log do diretório "log"

CPU i5-8400 GTX 750 SofRaid 4xSSD 16GB DDR4 mesmo assim uso Lubuntu.



então posso fazer assim
chown [novo_proprietário] [:novo_grupo] *[nome_diretorio]

que vai mudar tudo que quero


5. Re: comando chown

Bruno Sousa
N1vBruno

(usa Arch Linux)

Enviado em 01/04/2020 - 10:32h

Fica
chown usuário:grupo /diretório/*
ou
chown -R usuário:grupo /diretório/

A primeira opção pega todos os arquivos e pastas no diretório apontado. Você pode colocar uma extensão após o * (como *.log), assim ele vai alterar apenas os arquivos que terminam com a extensão discriminada. A segunda opção pega todos os arquivos, pastas e subpastas, incluindo o diretório em si, a não ser que coloque o * no final do caminho também.


6. Re: comando chown

aguamole
aguamole

(usa KUbuntu)

Enviado em 01/04/2020 - 10:51h

Novaesma escreveu:

então posso fazer assim
chown [novo_proprietário] [:novo_grupo] *[nome_diretorio]

que vai mudar tudo que quero


Cara é um coringa de qualquer comando significa todos em qualquer comando não é exclusivo do chown.
Pelo que entende a sua sintaxe vai mudar o dono e grupo de todos os aquivos e diretório anterior ao diretório especificado.
Acho que você queria fazer assim:
chown [novo_proprietário] [:novo_grupo] [nome_diretorio]*
Esta muda dos diretório posterior ao diretório especificado.

Existe vários outros coringas além do "*".
Só que ate agora só aprende este.

CPU i5-8400 GTX 750 SofRaid 4xSSD 16GB DDR4 mesmo assim uso Lubuntu.


7. Re: comando chown

Rogerio
RogerDez

(usa Outra)

Enviado em 01/04/2020 - 22:52h

esse 'coringa' é um 'glob'. não é um coringa como os das expressões regulares.

a opção da shell que controla o glob de estrela é o 'globstar'..

nos globs não existem quantificadores, somente qualificadores.
assim, uma estrela * no 'glob' significa qualquer coisa, ou nulo/nada mais.
por ex:
[nome_diretorio]* 

significa os diretórios '[nome_diretorio]' e , se houver, '[nome_diretorio]a..' , '[nome_diretorio]b..', e assim por diante.

já em uma expressão regular, '[nome_diretorio]*' não daria certo.
primeiro pq '[]' significa uma 'lista' de caracteres. mas vamos simplificar:
nome_diretorio* 

neste caso, a estrela é um quantificador somente, e desta forma, ela significa que o caracter antecedente pode não existir, e se existir, pode ocorrer qualquer número de repetições deste caráter, ou seja o 'o' pode existir ou não, e se existir, ele pega tanto 'o' como 'oo' quanto 'ooo..' e assim por diante.


então glob não é um coringa propriamente dito, é um glob mesmo, essa palavra não existe facilmente. e não existe uma palavra boa para traduzir isso. como não há quantificador, um glob é um amontoado, uma lista de coisas não tão específicas quanto um coringa de uma expressão regular pode especificar.

De forma que se vc fizer
chown /diretorio/*  #sem opção '-R' 

estará pedindo para shell mudar o proprietário dos sub-diretorios e sub-arquivos lá presentes. pouco importa se são diretórios (arquivos especiais), ou arquivos comuns dentro de '/diretório/'.. Mas provavelmente não mudará o proprietário de '/diretorio/' em si mesmo!

se vc tivesse feito o seguinte:
chown -R /diretorio/*/ 

teria pedido para shell listar todos os subdiretórios dentro do '/diretório/' e mandar essa lista para o programa 'chown'. isso pq, obrigatoriamente, a barra final simboliza um diretório para a shell.
a gente escreve /home, mas na realidade a shell sempre a vê como '/home/' (com a barra no final).
então '/' ao final, qualifica o glob como sendo um diretório, obrigatoriamente.
neste útlimo caso ainda '/diretorio/*/' , o '/diretorio/' mesmo, provavelmente não iria sofrer mudança de proprietário, somente os subdiretórios (supondo que eles existam e a shell não vai dar erro!)!

Como o programa chown já tem a opção de recursividade, não é necessário utilizar um glob da shell se sua intenção for especificar um diretório e todos os arquivos que ele contém.

alguém poderá esclarecer melhor essas nomenclaturas de coringas, prestemos atenção..



8. Re: comando chown

Ricardo Groetaers
ricardogroetaers

(usa Linux Mint)

Enviado em 02/04/2020 - 04:34h

Novaesma escreveu:
estou com uma duvida que se posso usar o comando chown para mudar o proprietário e grupo todos os arquivos de um diretório de uma vez só.
por exemplo: tenho um diretório com 5 arquivos e em vez de mudar a um a um quero mudar tudo de uma vez só.

Não uso o comando chown (sou "El clickadore").
Logo não tenho tarimba com ele.
Peço verificar os resultados. Teste primeiro num diretório de testes.
Talvez não tenha poderes para mudar o proprietário e ou o grupo dos objetos.
Necessário usar "sudo" ou similar.

Significado dos parâmetros do Comando chown:
-c ->informa quais arquivos estão, de fato, sendo alterados. Acho útil.
-v ->informa quais arquivos estão sendo processados, não necessariamente alterados.
-R ->altera recursivamente
obs: O uso do parâmetro -R com curingas (*) pode representar mera redundância.

Pela lógica, acredito que (peço verificar):

chown -Rc novodono:novogrupo /caminho/diretorio
altera o dono e o grupo do diretorio e de tudo que está hierarquicamente abaixo do diretorio.

chown -Rc novodono:novogrupo /caminho/diretorio/*
altera o dono e o grupo de tudo que está hierarquicamente abaixo do diretorio mas não altera o dono e o grupo do diretório.

Porem, se puder complicar para que facilitar?



9. Re: comando chown [RESOLVIDO]

matheus novaes marinho
Novaesma

(usa Outra)

Enviado em 03/04/2020 - 10:36h

tentei fazer a mudança e deu isso

useRME is not in the sudoers file. this incident will be reported.

o que pode ser???



10. Re: comando chown [RESOLVIDO]

Ricardo Groetaers
ricardogroetaers

(usa Linux Mint)

Enviado em 04/04/2020 - 04:37h

Provavelmente o usuário que tentou fazer a mudança não tem poderes de sudo, não está no grupo sudo.
Nem é possível saber se sua distro usa sudo, voce não mencionou que distro está usando.


11. Re: comando chown [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 04/04/2020 - 11:36h


Novaesma escreveu:

tentei fazer a mudança e deu isso

useRME is not in the sudoers file. this incident will be reported.

o que pode ser???


olha só ... se seu comando deu erro vc deveria copiar e colar ele aqui pra gente vê pois 99% das situações é erro humano ... nesse seu caso aí é bem provãvel que vc está usando o comando com sudo, se for, antes de usar o sudo vc tem que colocar o usuário no sudoers !!!



------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




12. Re: comando chown [RESOLVIDO]

matheus novaes marinho
Novaesma

(usa Outra)

Enviado em 06/04/2020 - 10:07h

Mauriciodez escreveu:


Novaesma escreveu:

tentei fazer a mudança e deu isso

useRME is not in the sudoers file. this incident will be reported.

o que pode ser???


olha só ... se seu comando deu erro vc deveria copiar e colar ele aqui pra gente vê pois 99% das situações é erro humano ... nesse seu caso aí é bem provãvel que vc está usando o comando com sudo, se for, antes de usar o sudo vc tem que colocar o usuário no sudoers !!!



------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




# sudo chown -R useRME :chp /CHPG

assim que estou usando






01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts