O que significa 'root.root $ file'?

7

Estou tentando instalar colordiff em um diretório personalizado porque não tenho sudo privileges. Eu fiz os diretórios codificados no Makefile, conforme indicado no README, mas estou recebendo este erro:

...
chown root.root /share/edu-mei/colordiff/1.0.13/etc/colordiffrc
chown: changing ownership of '/share/edu-mei/colordiff/1.0.13/etc/colordiffrc': Operation not permitted
make: [install] Error 1 (ignored)
...

Alterar a propriedade desse arquivo não é realmente um problema (provavelmente o motivo pelo qual o autor o ignora). No entanto, não estou familiarizado com esse uso de chown .

A manpage do chown diz que a sintaxe do comando é:

chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...

Mas o comando executado é chown root.root $file .

O que significa a sintaxe com um ponto em vez de um cólon?

    
por RSFalcon7 17.04.2013 / 14:33

2 respostas

11

Define o usuário e o grupo de $file a root (como em chown OWNER.GROUP FILE... ). É o mesmo que chamar chown root:root $file , mas uma forma antiga.

O período foi substituído por dois pontos, dando chown OWNER:GROUP FILE... conforme documentado, porque os períodos poderiam aparecer em nomes de usuários / grupos.

    
por 17.04.2013 / 14:40
4

"chown user.group file" era a maneira antiga de usar o chown para definir o usuário e o grupo para um arquivo. Essa notação agora está obsoleta e você deve usar ":", como em "chown user: group file".

"$ file" é apenas variável de shell. Provavelmente você tem um script que repete um comando (chown) para uma lista de nomes de arquivos. A variável "$ file" conterá o nome do arquivo que está sendo processado e mudará para cada "round" que o script repetir, até que a lista (todos os nomes de arquivos) tenha sido processada (tenha seu proprietário e grupo definidos como root: root) .

    
por 17.04.2013 / 15:09

Tags