CHOWN: O que “id -u” representa?

5

Estou trabalhando para que o Mongodb seja executado em uma instalação do servidor Ubuntu. Ao revisar as instruções , eu precisei criar um diretório "\ data \ db" na unidade raiz. Em que ponto eu precisei alterar o proprietário usando o comando CHOWN da seguinte forma:

sudo chown 'id -u' /data/db

Quando eu emito esse comando como aparece no guia de início rápido que recebo

chown: invalid user: 'id -u'

Eu sou novo no Linux, então o que eu não entendo é o que o 'id -u' deveria significar. Quando eu substituo com meu nome de usuário, o comando é concluído e o mongo é executado. Alguém pode me ajudar a entender o que o ponteiro curto 'id -u' comunicaria a um usuário especialista em Linux que ele não fez para mim?

    
por JPrescottSanders 05.08.2010 / 14:56

3 respostas

12

O comando id -u imprime seu "ID de usuário numérico" (abreviado: UID); como você já notou, é o mesmo que soletrar seu nome de usuário integralmente na linha de comando chown . De fato, as seguintes invocações de comando devem ter o mesmo efeito:

sudo chown 'id -u' /data/db
sudo chown $USER /data/db

O motivo pelo qual ele não funcionou como esperado provavelmente tem a ver com as aspas: elas precisam ser backquotes (ASCII char 0x60), enquanto a mensagem de erro chown sugere que você usou uma única aspas (ASCII char 0x27).

Você pode encontrar uma explicação muito completa sobre o shell do UNIX .

    
por Riccardo Murri 05.08.2010 / 15:08
0

Retorna seu ID de usuário. Execute man id para mais informações.

    
por Tommy Brunn 05.08.2010 / 14:58
0

id -u imprime seu ID de usuário no sistema. Como alternativa, você pode simplesmente executar este comando:

sudo chown <user> /data/db substituindo <user> pelo seu nome de usuário no sistema.

    
por Marco Ceppi 05.08.2010 / 15:09