Permissões quando do uso do NFS

Iniciado por lopesadv, 09 de Dezembro de 2010, 00:44

tópico anterior - próximo tópico

lopesadv

Saudações.
No meu servidor exportei uma pasta, via NFS, de modo que o arquivo /etc/exports ficou assim: /mnt/pasta_exportada 192.168.0.158(rw,async).
A "pasta_exportada" possui a posse do dono de nome "fulano" e grupo "ciclano". Fiz com o comando: sudo chown -R fulano.ciclano "pasta_exportada". Ajustei as permissões para usuários e grupos e, ao se logar no próprio servidor, se tem o resultado almejado, de modo que cada usuário acessa os arquivos e escreve nos diretórios segundo as permissões concedidas aos seus respectivos grupos.
No terminal, editei o /etc/fstab para montar o compartilhamento no boot, automaticamente. Ficou assim: 192.168.0.105:/mnt/pasta_exportada  /mnt/compartilhamento nfs users,exec 0 0.
No terminal foram criados os mesmos usuários e grupos existentes no servidor.
O compartilhamento é montado e aparece com todos os arquivos no terminal. Até mesmo as permissões configuradas no servidor são as mesmas lá no compartilhamento.
Acontece que, no terminal, os usuários não conseguem escrever no diretório no qual têm permissões concedidas no servidor. Então, verifiquei que, ao dar o comando ls -ld no terminal sobre a pasta compartilhada, verifiquei que aparece como o dono da pasta o mesmo dono do servidor (e este usuário consegue escrever normalmente), porém, o grupo é alterado para o nome de outro usuário do sistema. Então, quando os usuários tentam escrever, não conseguem, porque (penso eu) não fazem parte daquele grupo (grupo que leva o nome de um dos usuários). Ou seja, no terminal não aparece pasta compartilhada como sendo de dono "fulano" e grupo "ciclano". Cheguei ao ponto de reinstalar o NFS, sem sucesso na resolução do problema. Pesquisei muito e não encontrei solução. Portanto, conto com a colaboração dos mais experientes neste assunto. Se já houver tópico semelhante, por favor, me apontem.
Desde já, muito obrigado.

clcampos

O ideal é usar o NIS para compartilhar também os usuários/grupos do servidor para as estações, porém se você quer recriar na mão os usuários e grupos do servidor nas estações tenha certeza que o UID dos usuários é o mesmo do servidor, assim como o GID dos grupos são os mesmos.

Exemplificando:

Se no servidor o usuário clcampos tem UID 1000, na estação também deverá ter o mesmo UID, pois se na estação o UID 1000 for de outro usuário será este que terá acesso aos arquivos.

Citação de: Em destaque o UID do usuário em /etc/passwdclcampos:x:1000:1000:Cristiano,,,:/home/clcampos:/bin/bash

O mesmo serve para o grupo:

Citação de: Em destaque o GID do grupo em /etc/groupclcampos:x:1000:

Espero que tenha ficado claro.
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

lopesadv

clcampos, muito obrigado. Ficou claro.
Entendo que o uso do NIS seja mais técnico, isso porque, acredito que se eu alterar o UID e o GID na máquina cliente haverá problemas para outros processos continuarem a entender as permissões de usuário e grupo e passarem a não executar corretamente. Estou certo quanto a isso?
Você pode me indicar um manual do NIS, que contenha o seu princípio de funcionamento assim como regras (se é que posso usar esta expressão) de configuração?
Novamente, muito obrigado.

clcampos

Se tiver cuidado ao alterar o UID e o GID não teria problemas, mas para isso tem que saber exatamente o que esta fazendo.  Para configurar o NIs + NFS veja o link abaixo:

http://ubuntuforum-br.org/index.php/topic,15555.0.html
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

lopesadv

clcampos, muito obrigado pelas informações e pelo documento que apontou.
Acessei o link e segui os passos para a configuração do NIS. A instalação e a configuração, tanto no servidor como no cliente, aconteceram sem intercorrências. Apenas tive que alterar o servidor dos repositórios, pois o do Brasil apontava problemas de acesso (404).
Após a instalação verifiquei, no cliente, que o arquivo /etc/passwd era o do servidor (usei o getent passwd) - fiz questão de verificar no próprio servidor se era mesmo o /etc/passwd deste e constatei que sim (mesmos GID e UID).
Todos os usuários existentes no servidor foram criados no cliente. Ressalto que já existiam os usuários e grupos criados tanto no servidor como no cliente. Somente após instalei e configurei o NIS. As permissões de acesso aos diretórios no servidor também já estavam aplicadas antes da instalação e configuração do NIS.
Com a minha conta pessoal (quem tem privilégios de root) fiz as instalações configurações.
Todavia, quando outro usuário, no cliente, loga (no cliente) o computador cliente dá erro no modo gráfico (gnome), não permite o login e abre uma janela que diz que o nautilus não está conseguindo "trabalhar". Todavia, no modo texto, acessado via um dos terminais (ctrl + alt + F1), o usuário comum consegue logar. Fico devendo a informação se consegue atuar normalmente (com os fins visados pelo NIS).
Diante desse quadro e precisando que o cliente continuasse a rodar, desinstalei o NIS e, a partir de então, o usuário comum voltou a trabalhar normalmente no modo gráfico.
Alguma dica em relação a esse quadro?
Novamente, muito obrigado.

clcampos

Citação de: lopesadv online 06 de Janeiro de 2011, 13:08
clcampos, muito obrigado pelas informações e pelo documento que apontou.
Acessei o link e segui os passos para a configuração do NIS. A instalação e a configuração, tanto no servidor como no cliente, aconteceram sem intercorrências. Apenas tive que alterar o servidor dos repositórios, pois o do Brasil apontava problemas de acesso (404).
Após a instalação verifiquei, no cliente, que o arquivo /etc/passwd era o do servidor (usei o getent passwd) - fiz questão de verificar no próprio servidor se era mesmo o /etc/passwd deste e constatei que sim (mesmos GID e UID).
Todos os usuários existentes no servidor foram criados no cliente. Ressalto que já existiam os usuários e grupos criados tanto no servidor como no cliente. Somente após instalei e configurei o NIS. As permissões de acesso aos diretórios no servidor também já estavam aplicadas antes da instalação e configuração do NIS.
Com a minha conta pessoal (quem tem privilégios de root) fiz as instalações configurações.
Todavia, quando outro usuário, no cliente, loga (no cliente) o computador cliente dá erro no modo gráfico (gnome), não permite o login e abre uma janela que diz que o nautilus não está conseguindo "trabalhar". Todavia, no modo texto, acessado via um dos terminais (ctrl + alt + F1), o usuário comum consegue logar. Fico devendo a informação se consegue atuar normalmente (com os fins visados pelo NIS).
Diante desse quadro e precisando que o cliente continuasse a rodar, desinstalei o NIS e, a partir de então, o usuário comum voltou a trabalhar normalmente no modo gráfico.
Alguma dica em relação a esse quadro?
Novamente, muito obrigado.


O que acontece é que seu diretório /home passa a ser o do servidor, assim os diretórios dos usuários locais ficam mascarados e inacessíveis.

O que fiz aqui foi criar um diretório para ser a $HOME dos usuários locais. Assim no meu caso eu criei o diretório /homeLocal e dentro dele eu recriei os diretórios dos usuários exclusivamente locais, alterei o arquivo /etc/passwd para apontar para esse novo diretório (/homeLocal/nome-do-usuário) e acertei as permissões. Assim não tive mais problemas.
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

lopesadv

Entendi. Só para esclarecer: o arquivo /etc/passwd que você editou foi no servidor ou no cliente?

Novamente, agradeço.

clcampos

No cliente, claro, mas faça isso apenas para aqueles usuários locais, e de preferência com nomes (e UUID's) diferentes daqueles do server.
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

zekkerj

Citaralterei o arquivo /etc/passwd para apontar para esse novo diretório...
mas faça isso apenas para aqueles usuários locais, e de preferência com nomes (e UUID's) diferentes daqueles do server.
Só pra constar, o arquivo "/etc/default/useradd" pode ser configurado pra fazer isso automaticamente pra novos usuários locais.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

clcampos

Citação de: zekkerj online 07 de Janeiro de 2011, 00:08
Citaralterei o arquivo /etc/passwd para apontar para esse novo diretório...
mas faça isso apenas para aqueles usuários locais, e de preferência com nomes (e UUID's) diferentes daqueles do server.
Só pra constar, o arquivo "/etc/default/useradd" pode ser configurado pra fazer isso automaticamente pra novos usuários locais.

Verdade, uso tão pouco usuário local que nem me lembrava disso.
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

zekkerj

Enquanto eu escrevia, pensava: ainda é possível criar usuários locais depois de ativar o NIS+?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

clcampos

Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

lopesadv

Boa noite.
Vendo as respostas dos amigos e a troca de informações entendi que, se quero manter total controle usando o NIS, interessante é nem mesmo criar usuários locais nos clientes. Pensei, então, em "refazer" o sistema dos clientes sem nestes criar usuários, assim, eu não tenho que preocupar com os diversos assuntos relacionados a usuários e suas "peripécias". Isto significa dizer que os usuários, nos clientes, estarão limitados às permissões e aos arquivos fornecidos pelo servidor. Estou correto em relação a estes pontos? Se estou, aproveito para perguntar: os usuários dos clientes usarão normalmente os recursos disponíveis nas máquinas clientes (broffice e outros aplicativos)?
Novamente, grato.

clcampos

Usaram os recursos das máquinas clientes sem problemas. E realmente não crio mais usuários no cliente, deixando isso tudo para a máquina servidor.
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

lopesadv

#14
Saudações.
Consegui fazer, com as dicas de vocês, o NFS + NIS funcionarem. A princípio, tudo correto. Porém, está acontecendo o seguinte: se há um aplicativo no servidor funcionando, no cliente o mesmo aplicativo não funciona. Por exemplo, o Mozilla. Outro exemplo: se tento abrir o broffice no cliente e o aplicativo já está aberto no servidor, ocorre mensagens de que uma nova instância está sendo aberta, com todo aquele sistema de alertas. Também, quando tento desligar o cliente, este não desliga normalmente. Demora uns 10 minutos - tanto no modo gráfico quanto com o shutdown -h now ou com o poweroff. O reboot também não funciona. Para o problema de falha no desligamento, já tentei a dica de alterar o /etc/default/grup e alterar "quiet splash" para "quiet acpi=force". Fiz /etc/init.d/./nis stop e, após, poweroff, e a máquina desligou normalmente. O caminho inverso também apresenta o problema, ou seja, se eu abrir primeiro o mozilla no cliente, ele não abre no servidor. Como não consegui encontrar um material mais profundo de NIS para resolver o problema, novamente recorro aos seus conhecimentos. Têm alguma ideia de como resolver isso?
Obrigado.