O Mars-NWE oferece um subconjunto do protocolo NCP, suficiente
para que as estações e demais servidores enxerguem-no
como servidor Netware. Já quanto a
administração do servidor (contas de usuários,
permissões etc.), muita coisa tem de ser feita pelo Linux,
pois as ferramentas de administração do Netware
(SYSCON, FCONSOLE...) não são eficazes com o Mars.
Afinal, é um emulador, não um sistema
operacional.
1. Algumas noções gerais de IPX
O IPX é um protocolo de transporte, que encarrega-se de
transportar UM pacote de rede da origem ao destino. O controle da
sessão é feito por outros protocolos empilhados sobre
dele. No caso dos serviços Netware, o protocolo de
sessão é o NCP.
Em máquinas que usam TCP/IP, há necessidade de
especificar o número IP de cada uma delas. Já no IPX,
isso não precisa ser feito. O "número IPX" de cada
máquina é o próprio número Ethernet de
48 bits da placa de rede.
Também não é suportado, no IPX, o conceito
de netmask. O número de rede é um campo separado, de
32 bits, do cabeçalho do pacote IPX. Cada rede local deve
ter um número unívoco. Desta forma, o protocolo IPX
é roteável, tal como o TCP/IP.
Adicionalmente, servidores Netware nativos e também o
Mars desempenham automaticamente a função de
roteadores, se estiverem ligados a mais de uma rede local. Uma vez
por minuto, os servidores "anunciam-se" com pacotes de broadcast, e
isso permite que os servidores montem rapidamente uma tabela de
roteamento dinâmica. Também é possível
especificar rotas estáticas para IPX, mas dificilmente isso
é necessário (um possível uso de rota
estática é a interligação de redes via
WAN). O protocolo de auto-descoberta de rotas é denominado
RIP, e seu modo de operação é análogo
ao protocolo homônimo RIP para TCP/IP.
O kernel do Linux permite criar uma rede interna no
próprio kernel.
Se você for usar o Mars-NWE, não use esse recurso.
O próprio Mars encarrega-se de criar a rede interna e
não vai funcionar se o kernel já o tiver feito;
Os utilitários ipx_configure e ipx_interface configuram
interfaces de rede para funcionarem com IPX. Eles são
úteis quando você precisa montar volumes Netware
remotos (com ncpmount) e NÃO estiver usando o Mars no
computador-cliente. Ainda, o ipx_interface permitirá que
você atribua a interface primária a uma placa de rede
(como já foi dito, uma das interfaces tem de ser a
primária). Alias, você será obrigado a
configurar a primeira interface de rede como primária se
utilizar o ipx_interface;
Como o Mars cria sua própria rede interna e atribui a
rede primária a ela, está claro que ele não
funcionará se as interfaces IPX tiverem sido previamente
configuradas com o ipx_interface. Assim, NÃO MISTURE o Mars
com comandos ipx_interface e ipx_configure. Nem mesmo ative IPX no
LinuxConf se for usar o Mars;
O Mars-NWE permite que as interfaces de rede "reais" sejam
especificadas em seu arquivo de configuração, o que
elimina qualquer necessidade residual de utilizar o
ipx_interface.
2. Autenticação de usuários
Como foi visto no arquivo de configuração, a cada
usuário Netware corresponde um usuário Unix, que deve
estar cadastrado no arquivo /etc/passwd.
Porém, a autenticação da senha não
é feita com base na senha do
/etc/passwd ou /etc/shadow. A primeira
senha do usuário pode ser colocada no próprio arquivo
/etc/nwserv.conf. Quando o Mars lê o
arquivo de configuração e detecta que há novos
usuários no arquivo (ou seja, que ainda não
estão cadastrados no bindery) ele cadastra-os como objetos
de bindery, com as senhas especificadas.
A especificação de senhas para usuários no
arquivo /etc/nwserv.conf não é
obrigatória nem recomendada. O ideal é cadastrar o
usuário sem senha, atribuir uma senha qualquer com o passwd
(DOS) ou nwpasswd (utilitários Netware para Linux), e deixar
o próprio usuário redefinir sua senha a gosto.
Os usuários UNIX devem ser cadastrados em grupos
condizentes com os grupos de trabalho. Por exemplo, se você
tem usuários do setor de recursos humanos, contas a receber
e chão de fábrica, e cada um desses grupos deve ter
acesso restrito aos respectivos arquivos, devem ser criados
três grupos UNIX (o script groupadd pode ser útil), e
os usuários devem ser membros desses grupos.
Se determinados usuários pertencem a mais de um grupo de
trabalho, isso não constitui problema. No Unix, cada
usuário pertence a um único grupo primário,
mas é fácil atribuir grupos secundários ao
usuário, através de intervenção manual
do arquivo /etc/group.
3. Bindery
Desde a versão 0.99pl9, o Mars-NWE é capaz de
armazenar objetos de bindery. Programas que dependam dessa
capacidade funcionarão todos.
Porém, o Mars não honra objetos de
configuração do próprio servidor, tais como
trustees e limitações de horário. Você
pode até criar trustess com o SYSCON, eles ficarão
corretamente armazenados, mas não terão o efeito
prático. As permissões de usuários devem ser
controladas pelo arquivo de configuração e pelo
próprio Linux. Os únicos objetos de bindery que o
Mars honra são as senhas dos usuários, que podem
então ser configuradas pelo SYSCON. Assim, cada
usuário pode configurar sua senha sem
intervenção do administrador do sistema.
Os objetos de bindery, por padrão, ficam armazenados no
diretório /var/mars_nwe/*, portanto
é importante fazer cópia de segurança desses
diretórios, além dos diretórios dos
volumes.
4. Login scripts
Os login scripts ficam armazenados no diretório
SYS:MAIL\, tal como num servidor Netware. Além disso,
você será capaz de criar/alterar esses arquivos via
SYSCON.
Às vezes o SYSCON não consegue gravar o login
script; ele grava um arquivo LOGIN.BAK no diretório do
usuário e não consegue renomeá-lo para LOGIN.
Geralmente isso é problema de permissão em
diretórios ou arquivos velhos. Renomeie manualmente no Linux
e atribua as permissões do usuário. É certo
que isso não acontecerá uma segunda vez.
Se você estiver migrando do Netware para o Mars,
certamente vai montar o volume Netware com ncpmount e copiar os
dados para um diretório como /home/netware/sys ou coisa
parecida. Muito bem, é interessante que, uma vez feita a
cópia, você apague os subdiretórios do
diretório SYS:MAIL.
Se você não o fizer, ali ficarão os
diretórios antigos, criados pelo servidor Netware. E
é certo que os números de usuário
atribuídos pelo Netware (que são justamente os nomes
dos diretórios) não vão bater com os
números criados pelo Mars; e você terá de ficar
descobrindo '"quem é quem" e atribuir as permissões
corretas com chown e chmod etc... Apague tudo; assim que você
iniciar o Mars, todos os diretórios serão criados
automaticamente. Só então preencha os login scripts
dos usuários.
5. Permissões dos usuários
Como os trustees não são honrados pelo Mars,
é necessário estabelecer as permissões no
próprio Linux através dos comandos chmod, chgrp e
chown.
Já vimos que o arquivo de configuração do
Mars estabelece uma relação entre usuários
Netware e usuários UNIX. Os comandos citados acima trabalham
apenas com usuários UNIX, portanto as permissões tem
de ser "pensadas" em termos de usuários UNIX. (É
certo que se os usuários UNIX tiverem os mesmos nomes dos
usuários Netware, fica tudo mais fácil ...)
O usuário Unix associado ao "supervisor" pode ser o root,
ou um usuário comum. Se for um usuário comum, ele
deve ter um grupo primário só seu, e também
deve participar de todos os grupos onde haja usuários Unix
associados com usuários Netware. Isso garante que o
supervisor possa de fato ler e gravar qualquer arquivo dos volumes
exportados.
É melhor associar o supervisor a um usuário Unix
comum.
Basicamente, os seguintes pontos tem de ser observados:
Os diretórios e arquivos SYS:SYSTEM, SYS:PUBLIC e SYS:LOGIN devem ser
possuídos por root:root (ou outro usuário:grupo que foi especificado como
sendo supervisor), e com permissões de leitura para todo mundo;
O diretório SYS:MAIL deve ser possuído por root:root mas com permissão
de leitura a todo mundo;
Os demais diretórios e arquivos devem ser possuídos pelos respectivos
usuários:grupos;
As permissões de todos os diretórios devem ser: 2775 se legíveis a todos
os usuários; e 2770 se legíveis apenas aos usuários do grupo. O dígito "2"
aciona o bit SGID do diretório; assim quaisquer arquivos e diretórios novos
criados dentro do diretório serão possuídos pelo usuários que os criaram,
mas o grupo será sempre o mesmo do diretório-mãe. Assim, os demais usuários
do grupo também terão acesso garantido aos novos arquivos e diretórios. Note
que isso complementa a configuração das máscaras de permissão do arquivo
/etc/nwserv.conf;
O diretório-raiz de cada volume (como no arquivo-exemplo, o diretório
/home/netware/sys) deve ter permissões 775 e ser possuído por root:root
(ou outro usuário:grupo que foi especificado como sendo supervisor), salvo
se os usuários tenham permissão de criar arquivos/diretórios no
diretório-raiz
do volume, caso em que as permissões devem ser 777;
Os diretórios MAIL/ devem ser possuídos pelos respectivos usuários e
grupos
primários. Os arquivos LOGIN podem ser possuídos pelo usuário ou ainda
possuídos
pelo root (neste último caso o arquivo está protegido contra tentativas de
alteração que partam do próprio usuário). Note apenas que o arquivo e o
diretório precisam ser ao menos legíveis pelo usuário, bem como o diretório
MAIL;
Ainda com referência aos subdiretórios de SYS:MAIL, se você deixou o Mars
criá-los sozinho, as permissões já estarão todas corretas;
Diretórios que determinado usuário não tenha permissão de leitura lhe
aparecerão como vazios;
Se por exemplo, um usuário precisa ter acesso ao arquivo
VOLUME:DIR1\DIR2\DIR3\DIR4\DIR5\ARQUIVO, ele precisará ter, pelo menos,
acesso de leitura ao diretório-raiz de VOLUME, bem como a todos os
diretórios do caminho. Se não puder ler o diretório, o usuário não enxergará
subdiretórios e arquivos.
|
Uma maneira ainda mais "limpa" de configurar permissões
aos grupos é separar os dados em diversos volumes. Cada
usuário tem acesso restrito ao(s) volume(s) do(s) grupo(s) a
que pertence.
6. Diretório SYS:LOGIN
Esse diretório é acessível para leitura
à toda e qualquer conexão, identificada ou
anônima. O fim dessa permissão é permitir o
boot remoto e o processo de login.
7. Utilitários DOS
Muitas operações (cadastro de usuários,
senhas etc.) podem ser feitas através do próprio
Linux com os utilitários /usr/bin/nw*. Mas é certo
que você precisará de um ou outro utilitário da
Novell (IPX20, SYSCON, LOGIN, SLIST etc.) Existem umas poucas
versões gratuitas de alguns desses utilitários (LOGIN
e SLIST), o que é insuficiente para uma rede com
estações DOS. Será difícil constituir
uma rede Novell-like totalmente livre de software comercial.
Se você tem um Netware licenciado, simplesmente copie os
diretórios SYS:PUBLIC e SYS:SYSTEM para o servidor Mars e
desative o servidor Netware.
Como existe uma tendência forte de as
estações DOS desaparecerem em favor das
estações Windows 95/98, e estas últimas
incluem um cliente para redes Netware que não depende de
nenhum utilitário DOS, você será capaz de
constituir uma rede totalmente livre de software comercial Netware
se todas as suas estações forem Windows.
Se suas estações forem todas Linux, também
não haverá necessidade dos utilitários DOS.
(Se bem que o próprio Mars-NWE não tem muita
razão de ser numa rede assim, pois os Linuxes podem
comunicar-se nativamente usando NFS, NetBIOS e lpd.)
8. Performance do Mars-NWE
A performance do Mars-NWE é ligeiramente inferior ao
Netware 3.12, no mesmo hardware, mas é superior ao Netware
4". O Mars-NWE é mais rápido (10-15%) que o Netware
3.12 para operações comuns em arquivos (leitura e
gravação de pequenos trechos etc.).
Porém, o Mars é 50% mais lento em
operações de leitura/escrita de grandes trechos, como
por exemplo um COPY do DOS. Provavelmente devido ao "Packed
Burst".
Um outro possível problema é que o Mars não
vai carregar/executar suas NLMs preferidas. Uma extensão
eventualmente encontrada em servidores Netware 3 é o
BTrieve. Já existe BTrieve para Linux, porém é
um produto comercial, e, principalmente, o processo de
substituição deixa de ser algo trivial.