10.1. | Onde estão os arquivos que configuram a inicialização do sistema ? | ||||||||
Do FreeBSD 2.0.5R até o 2.2.1R, o arquivo de
configurações primário é o
Dê uma olhada no
A partir do 2.2.1 até o 3.0, o
E depois, a partir do FreeBSD 3.1, o
Por exemplo, caso deseje iniciar o named, o servidor DNS disponível no FreeBSD, a partir do FreeBSD 3.1 basta fazer isso: # echo named_enable="YES" >> /etc/rc.conf Para iniciar serviços locais no FreeBSD 3.1 e
posteriores, basta colocar os scripts shell de
inicialização desses serviços no
diretório O arquivo O arquivo | |||||||||
10.2. | Como posso adicionar um usuário de forma simples? | ||||||||
Use o comando adduser(8). Caso prefira uma forma mais complexa (e mais completa), use o comando pw(8). Para remover o usuário do sistema, use o comando rmuser(8). Mais uma vez, o pw(8) também funciona muito bem nesse caso. | |||||||||
10.3. | Depois de editar o crontab, mensagens como root: not found ficam aparecendo sempre. Por que? | ||||||||
Normalmente esse é um problema causado ao se
editar o crontab do sistema
( # crontab /etc/crontab Essa não é a forma correta de fazer as coisas. O crontab do sistema tem um formato distinto do crontab dos usuários, o qual o crontab(1) atualiza (o manual do crontab(5) explica tais diferenças de forma mais detalhada). Caso você tenha cometido esse engano, o novo
crontab é uma simples cópia do
# crontab -r Da próxima vez que editar o
Caso queira executar alguma tarefa diária,
semanal ou mensal, é mais indicado adicionar alguns
scripts de shell sob o
A única razão para esse erro é
que a tabela de cron do sistema tem um campo a mais, que
especifica o usuário que deve executar o comando.
No crontab do sistema padrão do FreeBSD, esse
usuário é o | |||||||||
10.4. | Porque o erro you are not in the correct
group to su root ocorre, quando eu tento
virar | ||||||||
Essa é uma característica de
segurança do FreeBSD. Para se tornar
Para permitir que algum usuário se torne
| |||||||||
10.5. | Cometi um erro no | ||||||||
Nessa situação, o comportamento esperado
é que o sistema entre em modo monousuário e
peça o caminho completo para o seu interpretador de
comandos (sua shell). Basta confirmar a shell
padrão, que ele oferece, com um simples
Caso queira usar um editor de tela inteira como o vi(1) ou emacs(1), será necessário definir a variável de ambiente TERM como do tipo cons25, bastando um simples export TERM=cons25, de forma que tais editores possam carregar as informações corretas da base de dados do termcap(5). Depois disso, o | |||||||||
10.6. | Porque estou tendo problemas ao configurar minha impressora? | ||||||||
Por gentileza, dê uma olhada nas páginas sobre impressão do Manual do FreeBSD. O documento deve responder a maioria de suas dúvidas. Veja a entrada sobre Impressão no Manual do FreeBSD. Algumas impressoras precisam de um driver local,
baseado em estações, para prover qualquer
tipo de impressão. Essas impressoras são
chamadas de “WinPrinters” e não
são suportadas nativamente pelo FreeBSD. Se sua
impressora não funciona sob DOS ou com Windows NT
4.0, provavelmente ela é uma WinPrinter. A
única esperança de se obter uma impressora
desse tipo funcionando, é verificar se o
| |||||||||
10.7. | Como posso corrigir o mapeamento de teclados do meu sistema? | ||||||||
Por gentileza, refira-se à seção usando localização do Manual do FreeBSD, mais precisamente na parte sobre a configuração do console. | |||||||||
10.8. | O que causa mensagens como: unknown: <PNP0303> can't assign resources na inicialização do sistema? | ||||||||
O trecho a seguir é citação de uma mensagem enviada na lista freebsd-current.
| |||||||||
10.9. | Porque eu não consigo fazer as quotas de usuários funcionarem de forma correta? | ||||||||
| |||||||||
10.10. | O FreeBSD suporta as primitivas de IPC do System V? | ||||||||
Sim, o FreeBSD suporta IPC ao estilo do System V. Esse suporte inclui compartilhamento de memória, mensagens e semáforos. É necessário adicionar as seguintes linhas no arquivo de configurações do seu kernel, para ativar o suporte: options SYSVSHM # habilita memória compartilhada
options SYSVSEM # habilita semáforos
options SYSVMSG # habilita mensagens Nota:No FreeBSD 3.2 e posteriores, tais opções já fazem parte do kernel GENERIC, o que significa que tal suporte já deve estar compilado no seu sistema. Recompile e instale o novo kernel. | |||||||||
10.11. | Como posso usar o sendmail para entregar mensagens com UUCP? | ||||||||
A configuração do sendmail disponível por padrão no FreeBSD é direcionada para sites que estejam conectados à Internet. Servidores que pretendem entregar suas mensagens via UUCP devem instalar um novo arquivo de configurações do sendmail. Alterar o Caso seu sistema não tenha sido instalado com os fontes, os arquivos de configuração do sendmail foram divididos em pacotes separados. Assumindo que você tenha o CDROM do FreeBSD montado, faça o seguinte: # cd /cdrom/src
# cat scontrib.?? | tar xzf - -C /usr/src contrib/sendmail Não se desespere, são apenas algumas centenas de Kilobytes em tamanho. O arquivo README no diretório cf serve de introdução básica ao uso do m4. Para entregar mensagens via UUCP, o melhor conselho
é usar o Primeiro, é necessário criar seu arquivo
# cd /usr/src/usr.sbin/sendmail/cf/cf
# make foo.cf
# cp foo.cf /etc/mail/sendmail.cf Um arquivo VERSIONID(` Número da sua versão ')
OSTYPE(bsd4.4)
FEATURE(accept_unresolvable_domains)
FEATURE(nocanonify)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
define(`UUCP_RELAY', your.uucp.relay )
define(`UUCP_MAX_SIZE', 200000)
define(`confDONT_PROBE_INTERFACES')
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw your.alias.host.name
Cw youruucpnodename.UUCP As linhas contendo as entradas
Depois disso, é necessário usar o
arquivo #
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
. uucp-dom: your.uucp.relay Um exemplo mais complexo, se pareceria com: #
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
#
horus.interface-business.de uucp-dom:horus
.interface-business.de uucp-dom:if-bus
interface-business.de uucp-dom:if-bus
.heep.sax.de smtp8:%1
horus.UUCP uucp-dom:horus
if-bus.UUCP uucp-dom:if-bus
. uucp-dom: Como pode-se perceber, se trata de um arquivo usado na
vida real. As primeiras três linhas tratam
situações especiais onde as mensagens
endereçadas aquele domínio não devem
ser roteadas pela saída padrão, mas ao
invés disso, ser entregues para algum servidor UUCP
vizinho, de forma a encurtar o caminho para entrega dos
e-mails. A linha seguinte trata mensagens para rede
Ethernet local, para domínios onde os mails possam
ser entregues via SMTP. Finalmente, os vizinhos UUCP
são mencionados na notação do
pseudo-domínio .UUCP, que permite um
Para lembrar que esse arquivo precisa ser convertido em base de dados do tipo DBM, o comando necessário para tomar essa ação está comentado no início do arquivo mailertable. Esse comando deve ser executado sempre que o mailertable for alterado. Dica final: caso tenha dúvidas se uma rota de
e-mail em particular irá funcionar, lembre-se que a
opção % sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 foo@example.com
canonify input: foo @ example . com
...
parse returns: $# uucp-dom $@ your.uucp.relay $: foo < @ example . com . >
> ^D | |||||||||
10.12. | Como eu configuro e-mail em uma conexão dialup com a rede? | ||||||||
Se a sua conexão discada lhe atribui um endereço IP estático, não é necessário configurar nenhuma opção extra. Ajuste o nome da sua estação para o nome que a identifica na Internet, e o sendmail fará o resto. Mas se a conexão PPP lhe atribui
endereços dinâmicos, provavelmente o seu
Provedor de Serviço Internet oferece uma conta de
correio eletrônico em seus servidores. Vamos
assumir que o nome do domínio do seu provedor
é Para acessar as mensagens da sua caixa de correio,
é necessário usar um agente de busca. O
Fetchmail é uma boa
escolha, já que ele suporta vários
protocolos distintos. Normalmente o provedor em
questão oferece serviço de POP3. Caso sua
conexão PPP seja estabelecida à nível
de usuário (user-PPP), para acessar suas mensagens
automaticamente ao estabelecer-se uma conexão com a
rede, basta adicionar a seguinte entrada no arquivo
MYADDR:
!bg su user -c fetchmail Caso esteja usando o sendmail (como foi descrito anteriormente) para entregar suas mensagens para endereços não-locais, insira o comando: !bg su user -c "sendmail -q" depois da entrada apresentada anteriormente. Esse comando irá forçar o sendmail a processar sua fila de e-mail tão logo uma conexão com a rede seja estabelecida. Assumindo que exista uma conta para o
poll example.net protocol pop3 fetchall pass MySecret Esse arquivo não deve ter permissão de
leitura para nenhum outro usuário, a não ser
o Para garantir que o cabeçalho
O seguinte arquivo VERSIONID(`bsd.home.mc version 1.0')
OSTYPE(bsd4.4)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwlocalhost
Cwbsd.home
MASQUERADE_AS(`example.net')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(`SMART_HOST', `relay.example.net')
Dmbsd.home
define(`confDOMAIN_NAME',`bsd.home')dnl
define(`confDELIVERY_MODE',`deferred')dnl Por gentileza, refira-se à seção
anterior para obter detalhes sobre como transformar esse
arquivo | |||||||||
10.13. | Que outros servidores de correio eletrônico posso usar no lugar do Sendmail? | ||||||||
O Sendmail é
o programa servidor de correio eletrônico
padrão no FreeBSD, mas ele pode ser facilmente
substituído por qualquer outro MTA (por
instância, um MTA instalado a partir do
Existem vários MTA's que servem de alternativa
ao Sendmail na Coleção de
A diversidade é sempre uma boa indicação, e o fato de ter vários servidores de e-mail disponíveis é ótimo. Conteúdo, evite perguntas como “O Sendmail é melhor que o Qmail?” nas listas de discussão. Se você realmente quer saber, procure no histórico das listas. As vantagens e desvantagens de cada MTA já foram discutidas inúmeras vezes. | |||||||||
10.14. | Esqueci a senha de root! O que eu faço? | ||||||||
Em primeiro lugar, não entre em pânico!
Reinicie o seu FreeBSD, digite | |||||||||
10.15. | Como posso evitar que a seqüência de teclas Control+Alt+Delete reinicie o sistema? | ||||||||
Caso esteja usando o syscons (o driver padrão para o console) em um sistema FreeBSD 2.2.7 ou posterior, construa e instale um novo kernel com a opção: options SC_DISABLE_REBOOT Caso use o driver de console PCVT em um FreeBSD 2.2.5 ou posterior, use a seguinte linha: options PCVT_CTRL_ALT_DEL Em versões anteriores às citadas, edite
o mapeamento do seu teclado, usado para o console, e
substitua a palavra | |||||||||
10.16. | Como posso converter arquivos de texto do DOS para o formato do Unix? | ||||||||
Use esse comando do perl: % perl -i.bak -npe 's/\r\n/\n/g' file... onde O comando tr(1) também pode ser usado: % tr -d '\r' < Onde | |||||||||
10.17. | Como eu mato processos pelo seu nome? | ||||||||
Use o comando killall(1). | |||||||||
10.18. | Por que motivos o su está me atazanando pelo
fato de não pertencer à ACL do
| ||||||||
Esse erro é proveniente do sistema de autenticação da distrição do Kerberos. O problema não é uma perturbação fatal. Basta executar o su com a opção -K ou então desinstalar o Kerberos, como será descrito na próxima questão. | |||||||||
10.19. | Como eu desinstalo o Kerberos? | ||||||||
Para remover o Kerberos do sistema, reinstale a
distribuição # cd /cdrom/bin
# ./install.sh Ou então, apague todas as opções
“MAKE_KERBEROS” do
| |||||||||
10.20. | Como posso adicionar pseudo-terminais ao sistema? | ||||||||
Caso tenha inúmeras conexões telnet, ssh, X, ou tela de usuário, é provável que você atingirá o limite dos seus pseudo-terminais. Aqui estão as instruções de como adicionar mais pseudo-terminais:
| |||||||||
10.21. | Por que motivo não consigo criar a device snd0? | ||||||||
Simples, porque não existe a device
Para criar tais devices, basta executar: # cd /dev
# sh MAKEDEV snd0 | |||||||||
10.22. | Como posso reler o | ||||||||
Vá para o modo monousuário e volte para o modo multiusuário. É simples; no console, faça: # shutdown now
(Note: without -r or -h)
# return
# exit | |||||||||
10.23. | O que é uma sandbox? | ||||||||
“Sandbox” é um jargão usado em discussões pertinentes à segurança de sistemas. Pode significar duas coisas:
Os sistemas Unix costumam implementar esses dois principais tipos de sandbox, um em nível de processo e o outro, muito comum, em nível de userid. Cada processo Unix é completamente separado dos outros, por meio de algum tipo de parede de segurança. Um processo nunca modifica o espaço de endereçamento de outro, diferente do ambiente Windows onde cada processo pode facilmente sobrescrever endereços de outros processos, fazendo o sistema travar. Cada processo Unix é de propriedade de um
userid em particular. Caso o userid não seja do
| |||||||||
10.24. | O que é | ||||||||
Para verificar o estado do
# sysctl kern.securelevel A saída apresentará o nome da
variável do sysctl(8) (nesse caso,
Os níveis de segurança não podem
ser diminuídos em um sistema que está
funcionando se isso fosse possível o
Para obter mais informações quanto aos níveis de segurança e sobre as funções específicas de cada nível, por gentileza, consulte a página de manual do init(8). Atenção:O Um dos maiores problemas, e portanto que deve ser
bem observada pelo administrador do sistema, é
que, para que o Esse e outros pontos são freqüentemente discutidos nas listas do FreeBSD, em especial na freebsd-security. Por gentileza, queira fazer uma busca no histórico da lista, clicando aqui, para uma discussão extensa sobre o assunto. Algumas pessoas estão esperançosas de que o securelevel logo será afastado, em favor de um mecanismo de segurança mais refinado, mas as coisas ainda estão confusas a este respeito. Considere-se advertido. | |||||||||
10.25. | Tentei atualizar meu sistema para o último -STABLE, mas ele se tornou -RC ou -PRERELEASE! O que está havendo? | ||||||||
A resposta mais curta: É só um nome, RC é um acrônimo para “Release Candidate”. Significa que uma nova versão está eminente. No FreeBSD, -PRERELEASE é tipicamente um sinonimo de código congelado antes de uma nova versão. (Em algumas versões, o título -BETA foi usado sob as mesmas circunstâncias em que o -PRERELEASE seria). A resposta longa: O FreeBSD normalmente deriva suas versões de duas fontes de origem. As versões principais, ponto-zero, como o 3.0-RELEASE e o 4.0-RELEASE que são marcadas inicialmente como o topo da cadeia de desenvolvimento, normalmente chamados de -CURRENT. As versões menores (como 3.1-RELEASE ou 4.2-RELEASE), são criados a partir do snapshot mais recente da ramificação ativa marcada como -STABLE. A partir do 4.3-RELEASE, cada versão conta também com sua própria ramificação, que pode ser acessada por usuários que queiram apenas um nível extremamente conservador de desenvolvimento (tipicamente, apenas consultores de segurança). Quando uma versão está para ser criada, a ramificação de onde ela se derivará deve passar por um certo processo. Parte desse processo é o congelamento do código. Quando o processo de congelamento do código se inicia, o nome desta ramificação é alterado para indicar que ela está para se tornar uma versão. Por exemplo, se a ramificação usada chamava-se 4.5-STABLE, ela passa a se chamar 4.6-PRERELEASE para indicar que o código está congelado, e indicar que testes extras, pré versão, estão acontecendo. Durante esse período alterações pertinentes a correções de problemas são realizadas. Quando o novo código está pronto para ser lançado, ele passa a ser chamado de -RC (nesse exemplo, 4.6-RC), indicando que provavelmente a nova versão será criada a partir do código atual. Nesse estágio, apenas os problemas mais sérios são corrigidos. Depois que a versão é finalmente lançado (4.6-RELEASE nesse exemplo) e a nova ramificação com o nome dessa versão foi criada, ela passa a se chamar -STABLE; 4.6-STABLE no nosso exemplo. Para obter mais informações sobre a numeração das versões e sobre as várias ramificações CVS, por gentileza, refira-se ao artigo sobre a Engenharia de Releases. | |||||||||
10.26. | Tentei instalar um novo kernel, mas a rotina de chflags falhou. O que posso fazer? | ||||||||
A resposta curta: provavelmente você está
com o A resposta mais completa: O FreeBSD não permite
que as flags do sistema sejam alteradas caso o
# sysctl kern.securelevel O | |||||||||
10.27. | Não consigo alterar mais de um segundo na hora no meu sistema. O que posso fazer? | ||||||||
A resposta curta: provavelmente o sistema está
com A resposta mais completa: O FreeBSD não permite
que a hora do sistema seja alterada por mais de um segundo
quando o # sysctl kern.securelevel O | |||||||||
10.28. | Por que motivo o | ||||||||
Não, mão existe nenhuma falha no uso da memória, e ele nã é usando 256MB de RAM. Ele simplesmente gosta de (ele sempre faz isso) mapear uma quantia obscena de memória em seu endereçamento, simplesmente por conveniência. Não existe nada terrivelmente errado com esse comportamento, de um ponto de vista técnico; a única questão é que assim o top(1) e o ps(1) ficam completamente perdidos. O rpc.statd(8) mapeia seu arquivo de status
(localizado sob o | |||||||||
10.29. | Por que eu não posso retirar a flag
| ||||||||
O sistema está sendo executado em um
nível de segurança elevado (maior que 0).
Diminua o nível de segurança e tente
novamente. Para obter mais informações, por
gentileza, refira-se à seção sobre
| |||||||||
10.30. | Por que a autenticação do SSH via
| ||||||||
O motivo é simples. A
autenticação via
| |||||||||
10.31. | O que é o | ||||||||
O |
Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Para perguntas sobre FreeBSD, leia a
documentação antes de contatar
<questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para
<doc@FreeBSD.org>.