Como alterar o ID do usuário em um QNAP NAS?

4

Eu tenho um QNAP TS-110 que eu acesso via NFS do meu sistema Ubuntu.

Eu acho que o NFS em uma rede doméstica típica não usa nenhuma autenticação de usuário. Eu li em vários lugares e descobri que é importante que o usuário na máquina Linux e o NAS tem o mesmo UID e / ou GID.

  • Agora meu usuário principal no Ubuntu tem uid=1000(me) gid=1000(me) .
  • No NAS, o usuário principal tem uid=500 gid=100

Eu acho que esta é a razão pela qual eu me deparo com problemas de acesso. (É isso mesmo?)

Meu plano era usar o SSH no NAS e usar

usermod -u <newuid> -g<newgid> <username>

O problema está no NAS, não há usermod instalado.

Em it.toolbox.com Eu li que poderia simplesmente editar /etc/passwd e /etc/group com o UID e o GID desejados.

No fórum do Fedora há muita discussão sobre como corrigir os arquivos depois.

Minhas perguntas agora são:

  1. Posso simplesmente editar /etc/passwd e agrupar?
  2. Como posso verificar se nenhum usuário que eu queira alterar o UID não está logado?
  3. É correto usar chown -R --from=500:500 1000:1000 /path/* em todos os arquivos depois que os arquivos de configuração forem alterados?
  4. Como posso ter certeza de que o NAS não tem problemas com essa mudança?
por seb 09.06.2012 / 12:58

2 respostas

4

Eu fiz isso! (e parece funcionar)

Então, depois que eu não recebi nenhuma resposta (em todos os sites que publiquei esta pergunta), fui em frente e fiz o que planejei.

Eu loguei no meu NAS via ssh como admin.

O próximo passo foi modificar os dois arquivos seguintes para que todos os usuários criados por mim tenham um UID e GID começando com 1000

[~] # cat /etc/passwd
admin:x:0:0:administrators:/share/homes/admin:/bin/sh
guest:x:65534:65534:guest:/share/homes/guest:/bin/sh
httpdusr:x:99:100:Apache httpd user:/tmp:/bin/sh
mainuser:x:500:100:Linux User,,,:/share/homes/mainuser:/bin/sh
test-consumer1:x:503:100:Linux User,,,:/share/homes/test-consumer1:/bin/sh

[~] # cat /etc/group   
administrators:x:0:admin
everyone:x:100:admin

direcionado para

[~] # cat /etc/passwd
admin:x:0:0:administrators:/share/homes/admin:/bin/sh
guest:x:65534:65534:guest:/share/homes/guest:/bin/sh
httpdusr:x:99:100:Apache httpd user:/tmp:/bin/sh
mainuser:x:1000:1000:Linux User,,,:/share/homes/mainuser:/bin/sh
test-consumer1:x:1003:1000:Linux User,,,:/share/homes/test-consumer1:/bin/sh

[~] # cat /etc/group
administrators:x:0:admin
everyone:x:1000:admin

o próximo passo foi chown e chgrp todos os arquivos no NAS. Como a descoberta que estava disponível não executaria o comando exec, eu mesmo passei pelos diretórios

lrwxrwxrwx    1 admin    administ       18 May 19 14:16 Qdownload -> HDA_DATA/Qdownload/
lrwxrwxrwx    1 admin    administ       20 May 19 14:16 Qmultimedia -> HDA_DATA/Qmultimedia/
lrwxrwxrwx    1 admin    administ       20 May 19 14:16 Qrecordings -> HDA_DATA/Qrecordings/
lrwxrwxrwx    1 admin    administ       13 May 19 14:16 Qusb -> HDA_DATA/Qusb/
lrwxrwxrwx    1 admin    administ       13 May 19 14:16 Qweb -> HDA_DATA/Qweb/
lrwxrwxrwx    1 admin    administ       10 May 19 14:16 b -> HDA_DATA/b/
lrwxrwxrwx    1 admin    administ       15 May 19 14:16 backup -> HDA_DATA/backup/
lrwxrwxrwx    1 admin    administ       13 May 19 14:16 home -> HDA_DATA/home/
lrwxrwxrwx    1 admin    administ       10 May 19 14:16 m -> HDA_DATA/m/
lrwxrwxrwx    1 admin    administ       10 May 19 14:16 v -> HDA_DATA/v/

[/share/HDA_DATA/] # chown -R 1000:1000 ./*

Consegui corrigir todos os arquivos e pastas de uma só vez, pois havia apenas um usuário principal que fez o upload de arquivos para o NAS.

Em seguida, reiniciei meu NAS e verifiquei o login como os usuários que acabei de alterar.

Eu sei que isso pode não ser a maneira mais elegante, rápida ou certa de fazer isso, mas funcionou para mim e espero que isso ajude outra pessoa.

Verifique aqui também.

    
por 02.07.2012 / 12:40
0

Acabei de me deparar com esta discussão pesquisando os direitos de acesso da QNAP a ficheiros e pastas. Você também pode fazer a mesma coisa digitando isso no shell NAS:

chown -R mainuser:everyone ./*

Acredito que o UID e o GID são apenas específicos do sistema local, mas posso estar errado.

: -)

    
por 11.01.2013 / 20:51