Para alterar a permissão do arquivo, eu sei que poderia usar o chmod. Para mudar o proprietário do grupo, eu poderia usar o chgrp. No entanto, se eu quiser alterar a permissão e o proprietário ao mesmo tempo, qualquer comando que eu possa usar no Linux?
Por exemplo, há um arquivo com esta permissão e proprietário:
-rw-r--r--+ 1 raymondtau staff 0 May 8 16:38 WantToChangeThisFile
E agora eu quero mudar para:
---x-w--wx+ 1 raymondtau admin 0 May 8 16:38 WantToChangeThisFile
Eu sei que poderia usar este comando:, chmod 123 WantToChangeThisFile && chgrp admin WantToChangeThisFile
mas quero saber se existe alguma maneira legal de fazer isso.
ch
,.Se você também deseja copiar o arquivo em algum lugar (como seu destino final), pode dar uma olhada no
install
comando:install -m 0777 -o root $sourcefile $destinationfile
fonte
Usar a ferramenta certa para o trabalho no * nix é importante, mas repetir o mesmo caminho em cada comando encadeado parece bobo. Em vez disso, você realmente deve usar variáveis Bash e, em scripts menores, especialmente usar
$_
.Seu comando se tornaria:
chmod 123 WantToChangeThisFile && chgrp admin $_
ALT +. faz o mesmo procedimento de puxar o último argumento usado em seu shell atual.
fonte
Rsync é útil neste caso:
Do Manual Fino (TM)
--chown = USER: mapeamento simples de nome de usuário / nome de grupo do GRUPO
--chmod = CHMOD afeta permissões de arquivo e / ou diretório
Então, por exemplo, você deseja chmod / mnt / lala / lala4000 / "ugo = rX" e chown "foo.bar"
rsync --chmod = ugo = rX --chown = foo: bar -rvtpolgh / mnt / lala / lala4000 / / mnt / lala / lala4000 /
Isso mostraria recursivamente e chmod o dir.
fonte
Você poderia alcançar uma meta com um longo
rsync
comandofonte
Você pode fazer
chown username:groupname file ...
para alterar os dois simultaneamente. Ele está alterando dois campos na mesma estrutura (inode), portanto, a combinação salva duas chamadas do sistema (uma para ler os valores atuais e outra para definir os vaules modificados).fonte
chown
apenas muda os proprietários. Como isso altera as permissões ao mesmo tempo que o OP solicitou? Nota O exemplo do OP também inclui achmod
.fonte