Provided by: rlinetd_0.9.3-3_amd64 

NOME
rlinetd.conf - ficheiro de configuração do rlinetd
DESCRIÇÃO
rlinetd.conf guarda informação de configuração para o rlinetd. Existe um pequeno número de construções de
nível de topo semelhantes, diferindo principalmente em quais opções podem ser significativamente usadas
com elas.
Todas as strings são citadas com o caractere ". Em algumas situações (ex. as directivas log, exec, e
chroot), há um número de variáveis que podem ser substituídas numa string.
A menos que declarado em contrário, todos os números têm de ser positivos.
service "name" {
...
}
Esta construção descreve um serviço. O parâmetro name é apenas para conveniência de nomeação,
serve simplesmente para distinguir mensagens de relatórios e fornece uma predefinição para opções
que podem aceitar logicamente um nome como um argumento.
enabled
Esta construção permite facilitar o activar e desactivar de serviços. O argumento pode ser
ou yes ou no. O valor predefinido é yes. Definir isto para no desactiva serviços.
Exemplo:
enabled no;
port
Isto lista os portos onde o serviço deve estar disponível. Os portos podem ser listados
numa string ou formato numérico. Se especificado, isto predefine para o nome do serviço a
menos que o serviço seja um serviço RPC, que neste caso o valor do porto será atribuído
dinamicamente pelo sistema.
Exemplo:
port "telnet", "rcmd", 56, 99;
interface
Isto especifica a quais interfaces os portos escutados devem ser associados. Recebe uma
lista de endereços IP como um argumento, correspondente aos endereços configurados das
interfaces requeridas. Se esta palavra-chave não for dada ou quando o valor especial any é
atribuído a ela, o serviço irá unir-se a todas as interfaces disponíveis.
Exemplos:
interface 192.168.1.1, 192.168.1.2;
interface any;
exec
Isto especifica a invocação do serviço. Pode ser feito um número de substituições dentro da
string, por favor veja Modificadores de String em baixo.
Exemplo:
exec "/usr/sbin/in.telnetd -d";
server
Isto especifica o binário a ser executado, se diferente de exec.
Exemplo:
server "/usr/sbin/tcpd";
protocol
Isto especifica o protocolo socket a usar quando escuta em portos para o serviço. O
argumento pode ser ou tcp ou udp. A definição predefinida para esta variável é tcp.
Exemplo:
protocol tcp;
user
Isto especifica o id de utilizador sob qual este serviço deve correr. Irá aceitar um
argumento em formato ou simbólico ou numérico. A menos que seja fornecido group (veja em
baixo), o id de grupo é também definido para o grupo primário do utilizador.
Exemplo:
user "nobody";
group
Isto especifica o id de grupo sob qual este serviço deve correr. Irá aceitar um argumento
em formato ou simbólico ou numérico.
Exemplo:
group "system";
backlog
Isto é um argumento de backlog que será passado à chamada de sistema listen(2).
Exemplo:
backlog 30;
instances
Isto especifica o número máximo de instâncias de serviço que podem correr em simultâneo. A
predefinição para esta variável é 40.
Exemplo:
instances 50;
wait
Esta directiva emula o comportamento de inetd(8) wait. O argumento pode ser ou yes ou no.
O valor predefinido é no. Definir isto para yes também reinicia o valor da opção instances
para 1.
Exemplo:
wait yes;
nice
Isto especifica a prioridade de processo para correr este serviço como. O argumento é
passado directamente para a chamada de sistema setpriority(2). O valor pode ser negativo.
Exemplo:
nice -5;
rpc
Isto especifica que o serviço deve ser registado com o mapeador portmap(8) do sistema como
um serviço RPC. Aceita uma lista de argumentos como se segue.
rpc {
name "string"; version 3,6,9-15,22;
}
O parâmetro name é opcional, e predefine para nome do serviço.
chroot
Isto especifica o directório raiz para o serviço. A string argumento pode aceitar
modificadores como detalhado em Modificadores de String em baixo.
Exemplo:
chroot "/tftpboot/%O";
log
Esta directiva recebe dois argumentos. O primeiro tem de ser ou o nome simbólico de uma
directiva log anteriormente especificada (vem em baixo), ou ou a palavra syslog sem
citação. Se for a última, a mensagem será registada via chamada ao syslog(3). O segundo
argumento é a mensagem que irá ser registada, sujeita aos modificadores detalhados em
Modificadores de String em baixo.
Exemplo:
log syslog "Service from %O complete";
tcpd
Esta directiva faz com que sejam aplicados controlos de acesso como especificados por
tcp_wrappers. Isto tem o mesmo efeito que invocar um serviço com o argumento server de
/usr/sbin/tcpd (ou com o que o seu programa tcpd(8) é mantido), mas guarda o passo
adicional de iniciar o programa. Irá aceitar até dois argumentos adicionais. O primeiro é
um nome de serviço para aplicar contra as suas regras, e o segundo é um bloco de instruções
para executar se corresponderem. Se não for especificado um nome, recorre ao nome do
serviço. Se o bloco de instruções não for definido, usa por predefinição 'exit;'.
Exemplos:
tcpd "in.telnetd";
tcpd { exec "/usr/local/bin/winnuke %O"; }
tcpd "pointless" { echo "Hi guys, come on in."; }
tcpd "defiant" { echo "500 Access denied from %O."; exit; }
exit
Esta directiva é apenas útil num argumento de bloco de instruções para a directiva tcpd.
Note bem - não a usar (e não especificar alguma outra directiva de terminação,como o exec)
irá resultar em que o serviço vá correr para sempre.
Exemplo:
exit;
capability
Esta directiva especifica as capacidades que este serviço deve ter quando corre. O
argumento é uma string que é passada directamente para o cap_from_text(3). Sabemos, é uma
descrição muito pobre, mas esta funcionalidade é de utilidade limitada e ao menos leia o
ficheiro README.capabilities.
Exemplo:
capability "cap_setuid=ep";
rlimit
Esta directiva recebe dois argumentos. O primeiro é um símbolo que especifica o tipo de
limite requerido. Estes estão listados mais abaixo. O segundo argumento toma um de dois
formatos. Pode ser ou um único valor numérico, que neste caso ambos os limites soft e hard
do recurso em questão irão ser definidos para este valor. Alternativamente, pode ser uma
lista no formato:
rlimit type {
soft x; hard y;
}
Neste caso os limites hard e soft serão definidos de modo apropriado. Em ambos casos, pode
ser especificada a palavra unlimited em vez de um valor numérico, assim removendo qualquer
restrição. Os valores são passados directamente ao syscall setrlimit(2), e deve ser
especificado nesse contexto.
Tipos:
cpu, fsize, data, stack, core, rss, nproc, nofile, memlock
Exemplo:
rlimit cpu 15;
initgroups
O argumento pode ser ou yes ou no. Esta directiva faz com que initgroups(3) seja chamado
no arranque do serviço, o que define os grupos suplementares do serviço de acordo com o
ficheiro /etc/group.
Exemplo:
initgroups yes;
family
Esta directiva especifica a família de protocolos a que o rlinetd deve unir sockets neste
serviço. Actualmente, isto pode ser ou ipv4 ou ipv6. Se não especificado, isto recorre a
algo apropriado para o sistema.
Exemplo:
family ipv6;
banner
Esta directiva permite-lhe despejar um ficheiro como saída de uma ligação.
Exemplo:
banner "/etc/nologin";
echo
Esta directiva permite-lhe enviar uma linha gerada dinamicamente para a ligação.
Exemplo:
echo "500 Service denied from your IP (%O)";
filter
Esta directiva permite-lhe especificar um programa Linux Socket Filter a ser associado cm o
socket que escuta. Estes podem ser gerados com uma ferramenta como o lsfcc(1).
Exemplo:
filter "/usr/local/lib/rlinetd/filters/privport";
chargen
Esta directiva faz ciclos internos, enviando dados para qualquer ligação. Se não for dado
um argumento, ecoa um subconjunto de caracteres de escrita. No entanto, pode ser
especificado um nome de ficheiro como um argumento, que neste caso o conteúdo desse
ficheiro é enviado em ciclo infinito.
Exemplo:
chargen "/usr/local/lib/spam";
log "name" {
...
}
Esta construção descreve um alvo para relatórios. O parâmetro name é usado como um argumento para
a directiva log nas configurações de service.
path
Isto descreve o nome de ficheiro para este ficheiro de registo (logfile).
Exemplo:
path "/var/log/service.log";
mode
Isto especifica as permissões de ficheiro para o logfile. É requerido que o argumento seja
numérico, e é predefinido para 0640 se não for especificado.
Exemplo:
mode 0600;
user
Isto especifica o uid de um logfile, e pode ser especificado ou como um uid numérico, ou
como um nome de utilizador.
Exemplo:
user "adm";
group
Isto especifica o gid de um logfile, e pode ser especificado ou como um gid numérico, ou
como um nome de grupo.
Exemplo:
group "adm";
defaults {
...
}
Esta construção recebe os mesmo parâmetros que uma declaração service, mas em vez de especificar
um serviço, define predefinições para todos os serviços especificados subsequentemente.
directory "path" "match" "ignore";
Esta construção especifica um directório que contem ficheiros de configuração adicionais para
serem analisados. A análise destes ficheiros adicionais não começa até que o ficheiro actual
esteja completo. Os argumentos match e ignore são opcionais, e se especificados, são usados para
filtrar os ficheiros no directório. Os nomes de ficheiros devem corresponder à expressão regular
match, de dada, e não devem corresponder à expressão regular ignore, se dada. Os nomes de
ficheiros começados com um ponto ('.') são saltados em todos os casos. Os directórios não são
lidos recursivamente.
Modificadores de Strings
Existe um número de variáveis que podem ser substituídas em argumentos para algumas directivas. Embora
elas possam ser usadas nos mesmo lugares, a informação acedida por algumas fica indisponível em certos
casos.
%O O endereço IP fonte da ligação.
%P O porto fonte da ligação.
%C O tempo total de CPU usado.
%U O tempo de utilizador de CPU usado.
%S O tempo de CPU do sistema.
%r Tamanho máximo de conjunto residual.
%m Tamanho da memória partilhada.
%d tamanho de dados não partilhados.
%s tamanho de pilha não partilhada.
%f Reclamações da página.
%F Falhas da página.
%p Trocas.
%i Operações de entrada de bloco.
%o Operações de saída de bloco.
%n Mensagens enviadas.
%c Mensagens recebidas.
%k Sinais recebidos.
%w Comutações de contexto voluntárias.
%W Comutações de contexto involuntárias.
%e Código de saída.
%t Tempo de execução.
%M O tempo actual expressado em segundos desde a época 1980, despejado como uma palavra de 32 bit de
ordem de rede. Isto não tem absolutamente nenhum uso para além de implementar a funcionalidade
time do tipo inetd.
%I A hora e data actual, num formato ctime(3) bonito.
VEJA TAMBÉM
rlinetd(8), hosts_access(5)
AUTOR
Este manual foi escrito por Mikolaj J. Habryn <dichro-doc@rcpt.to>. Modificado por Robert Luberda
<robert@debian.org>.
Debian 11 Novembro 2013 RLINETD.CONF(5)