1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
|
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY kappname "&tdesu;">
<!ENTITY package "tdebase">
<!ENTITY % addindex "IGNORE">
<!ENTITY % Portuguese "INCLUDE"> <!-- change language only here -->
]>
<book lang="&language;">
<bookinfo>
<title>Manual do &tdesu;</title>
<authorgroup>
<author>&Geert.Jansen; &Geert.Jansen.mail;</author>
<othercredit role="translator"><firstname>Nuno</firstname><surname>Donato</surname><affiliation><address><email>[email protected]</email></address></affiliation><contrib>Tradução</contrib></othercredit>
</authorgroup>
<copyright>
<year>2000</year>
<holder>&Geert.Jansen;</holder>
</copyright>
<legalnotice>&FDLNotice;</legalnotice>
<date>2005-06-07</date>
<releaseinfo>1.00.00</releaseinfo>
<abstract><para>O &tdesu; é um interface gráfico para o comando &UNIX; <command>su</command>.</para></abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>su</keyword>
<keyword>senha</keyword>
<keyword>root</keyword>
</keywordset>
</bookinfo>
<chapter id="introduction">
<title>Introdução</title>
<para>Bem-vindo ao &tdesu;! O &tdesu; é uma interface gráfica para o comando Unix <command>su</command>, para o ambiente de trabalho K. Permite-lhe executar um programa como um utilizador diferente, fornecendo a senha desse utilizador. O &tdesu; é um programa sem privilégios e usa o <command>su</command> do sistema.</para>
<para>O &tdesu; tem uma função adicional: permite ao utilizador recordar as senhas. Se estiver a usar esta funcionalidade, necessita apenas de introduzir a senha uma vez para cada comando. Veja em <xref linkend="sec-password-keeping"/> para mais informações e uma análise à segurança.</para>
<para>Este programa pretende ser executado a partir da linha de comandos ou de ficheiros <filename>.desktop</filename>. Embora seja pedida a senha do <systemitem class="username">root</systemitem>, usando uma janela gráfica, é considerada como sendo mais uma associação linha de comando <-> gráfica em vez de um puro programa gráfico.</para>
</chapter>
<chapter id="using-tdesu">
<title>Usar o &tdesu;</title>
<para>A utilização do &tdesu; é fácil. A sintaxe é a seguinte:</para>
<cmdsynopsis><command>tdesu</command> <group choice="opt"><option>-c</option></group> <group choice="opt"><option>-d</option></group> <group choice="opt"><option>-f</option> <replaceable> ficheiro</replaceable></group> <group choice="opt"><option>-i</option> <replaceable> nome do ícone</replaceable></group> <group choice="opt"><option>-n</option></group> <group choice="opt"><option>-p</option> <replaceable> prioridade</replaceable></group> <group choice="opt"><option>-r</option></group> <group choice="opt"><option>-s</option></group> <group choice="opt"><option>-t</option></group> <group choice="opt"><option>-u</option> <replaceable> utilizador</replaceable></group> <group choice="opt"><option>--nonewdcop</option></group> <group><arg choice="req"><replaceable>comando</replaceable> <arg><replaceable>arg1</replaceable></arg> <arg><replaceable>arg2</replaceable></arg> <arg rep="repeat"><replaceable></replaceable></arg></arg></group> </cmdsynopsis>
<cmdsynopsis><command>tdesu</command> <arg choice="opt">Opções Genéricas do &kde;</arg> <arg choice="opt">Opções Genéricas do Qt</arg> </cmdsynopsis>
<para>As opções da linha de comandos são explicadas em baixo.</para>
<variablelist>
<varlistentry>
<term><option>-c <replaceable>programa</replaceable></option></term>
<listitem><para>Isto indica que o programa é executado como 'root'. Tem de ser passado um argumento. Assim se, por exemplo, quiser iniciar um novo gestor de ficheiros, iria introduzir na linha de comandos: <userinput><command>tdesu<option>-c <replaceable>kfm -sw</replaceable></option></command></userinput></para></listitem>
</varlistentry>
<varlistentry>
<term><option>-d</option></term>
<listitem><para>Mostra informações sobre a depuração.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-f <replaceable>ficheiro</replaceable></option></term>
<listitem><para>Esta opção permite um uso eficiente do &tdesu; em ficheiros <filename>.desktop</filename>. Isto diz ao &tdesu; para examinar o ficheiro indicado em <parameter>ficheiro</parameter>. Se este ficheiro puder ser alterado pelo utilizador actual, o &tdesu; irá executar o comando com esse utilizador. Se não puder ser alterado, o comando é executado com o utilizador <parameter>utilizador</parameter> (o 'root', por omissão).</para>
<para>O <parameter>FICHEIRO</parameter> é avaliado da seguinte maneira: se o <parameter>FICHEIRO</parameter> começar com um "/", é tomado como um nome de ficheiro absoluto. De outra maneira, é tomado como o nome de um ficheiro de configuração global do &kde;. Por exemplo: para configurar o gestor de autenticação do &kde;, <application>tdm</application>, o utilizador poderá emitir um <command>tdesu <option>-c tdmconfig -f tdmrc</option></command></para></listitem>
</varlistentry>
<varlistentry>
<term><option>-i</option> <replaceable>nome do ícone</replaceable></term>
<listitem><para>Indique o ícone a usar na janela da senha. Poderá indicar apenas o nome, sem qualquer extensão.</para>
<para>Por exemplo, para executar o <command>kfmclient</command> e mostrar o ícone do &konqueror; na janela da senha:</para>
<screen><userinput><command>tdesu</command> <option>-i konqueror</option> <command>kfmclient</command></userinput></screen>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-n</option></term>
<listitem><para>Não memorizar a senha. Isto desactiva a opção "<guilabel>Guardar a senha</guilabel>" na janela correspondente.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-p</option> <replaceable>prioridade</replaceable></term>
<listitem>
<para>Indica o valor da prioridade. A prioridade é um número qualquer entre 0 e 100, onde o 100 corresponde à prioridade máxima e o 0 à mínima. O valor por omissão é 50.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-r</option></term>
<listitem><para>Usa o escalonamento em tempo-real.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-s</option></term>
<listitem><para>Pára o servidor do 'tdesu'. Veja em <xref linkend="sec-password-keeping"/>.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-t</option></term>
<listitem><para>Permite enviar o resultado para o terminal. Isto desactiva a memorização de senhas. É largamente usado para efeitos de depuração; se você quiser executar uma aplicação no modo de consola, use o comando "<command>su</command>" normal.</para> </listitem>
</varlistentry>
<varlistentry>
<term><option>-u</option> <replaceable>utilizador</replaceable></term>
<listitem><para>Embora a utilização mais comum do &tdesu; seja correr um comando como super-utilizador, poderá indicar qualquer nome de utilizador e a senha apropriada.</para>
</listitem>
</varlistentry>
</variablelist>
</chapter>
<chapter id="Internals">
<title>Detalhes Internos</title>
<sect1 id="x-authentication">
<title>Autenticação X</title>
<para>O programa que executar irá correr com o utilizador 'root' e, geralmente, não terá autorização para aceder ao seu ecrã do X. O &tdesu; contorna isto, adicionando uma 'cookie' de autenticação para o seu ecrã, num ficheiro temporário <filename>.Xauthority</filename>. Assim que o comando é terminado, o ficheiro é removido. </para>
<para>Se você não usar os 'cookies' do X, então estará por sua conta e risco. O &tdesu; irá detectar isto e não adicionará qualquer 'cookie', contudo dever-se-á certificar que é permitido ao 'root' aceder ao seu ecrã.</para>
</sect1>
<sect1 id="interface-to-su">
<title>Interface para o <command>su</command></title>
<para>O &tdesu; usa o comando <command>su</command> do sistema para obter privilégios. Nesta secção, serão explicados os detalhes de como o &tdesu; faz isso. </para>
<para>Dado que algumas das implementações do <command>su</command> (<abbrev>ex.:</abbrev> a da &RedHat;) não querem ler a senha a partir do <literal>stdin</literal>, o &tdesu; cria um par PTY/TTY e executa o <command>su</command> com os seus descritores-padrão de ficheiros associados ao TTY.</para>
<para>Para executar o comando seleccionado pelo utilizador, em vez de uma linha de comandos interactiva, o &tdesu; usa o argumento <option>-c</option> com o <command>su</command>. Este argumento é entendido por todas as linhas de comando conhecidas, por isso deve funcionar sem problemas. O <command>su</command> passa o argumento <option>-c</option> para a linha de comandos de destino do utilizador, para que esta execute o programa. Um comando de exemplo: <command>su<option>root -c <replaceable>programa</replaceable></option></command>.</para>
<para>Em vez de executar o comando do utilizador directamente com o <command>su</command>, o &tdesu; executa uma pequena porção de programa chamada <application>tdesu_stub</application>. Esta porção (correndo com o utilizador de destino), pede alguma informação ao &tdesu; sobre o canal PTY/TTY (a parte do 'stdin' e 'stdout') e, a seguir, executa o programa do utilizador. A informação recebida é: o ecrã do X, uma 'cookie' de autenticação X (se disponível), o <envar>PATH</envar> e o comando a executar. A razão porque é usada uma parte do programa é que a 'cookie' do X contém informação privada e, por conseguinte, não pode ser passada na linha de comandos.</para>
</sect1>
<sect1 id="password-checking">
<title>Verificação de Senhas</title>
<para>O &tdesu; verificará a senha que o utilizador introduziu e dá uma mensagem de erro se não for correcta. A verificação é feita executando um programa de teste: /bin/true. Se obtiver sucesso, a senha é assumida como correcta.</para>
</sect1>
<sect1 id="sec-password-keeping">
<title>Guardar Senhas</title>
<para>Para o conforto do utilizador, o &tdesu; implementou a função <quote>Guardar a senha</quote>. Se estiver interessado em segurança, deverá ler este parágrafo.</para>
<para>Ao permitir que o &tdesu; guarde as senhas, abre um buraco (pequeno) na segurança do seu sistema. Obviamente, o KDE não permite que qualquer um use as senhas mas apenas o seu ID de utilizador mas, se isto for feito sem precauções, irá diminuir o nível de segurança do <systemitem class="username">root</systemitem> para um utilizador normal (como você próprio). Um 'hacker' que entrar na sua conta, obterá acesso de <systemitem class="username">root</systemitem>. O &tdesu; tenta prevenir isto. O esquema de segurança que usa é razoavelmente seguro e é explicado aqui.</para>
<para>O &tdesu; usa um servidor, chamado <application>tdesud</application>. O servidor espera num 'socket' UNIX em <filename>/tmp</filename> por comandos. O modo de permissões do 'socket' é 0600, de maneira a que apenas o seu utilizador possa ligar-se a ele. Se a opção <quote>Guardar a senha</quote> estiver activada, o &tdesu; executa os comandos através deste servidor. Escreva o comando e a senha do <systemitem class="username">root</systemitem>, para que o 'socket' e o servidor executem o comando, usando o <command>su</command>, como descrito anteriormente. Depois disto, o comando e a senha não serão deitados fora. Em vez disso, são mantidas durante um espaço de tempo. Este é o tempo-limite do módulo de controlo. Se outro pedido para o mesmo comando chegar dentro deste período de tempo, o cliente não terá de fornecer a senha. Para não deixar que os 'hackers' entrem na sua conta, para roubar senhas do servidor (por exemplo, anexando um depurador), o servidor é instalado com 'set-group-id nogroup'. Isto deve fazer com que os utilizadores normais (incluindo você mesmo) não consigam obter senhas do processo <application>tdesud</application>. O servidor define ainda a variável de ambiente <envar>DISPLAY</envar>, com o valor que tinha quando foi iniciado. A única coisa que um 'hacker' pode fazer é executar uma aplicação no seu ecrã.</para>
<para>Um ponto fraco neste esquema é que os programas que você executar não são escritos, provavelmente, tendo em mente a segurança (como os programas que definem um setuid <systemitem class="username">root</systemitem>). Isto significa que eles podem ter sobrecargas de 'buffers' ou outros problemas que um 'hacker' pode explorar.</para>
<para>O uso da função para guardar as senhas é um compromisso entre o conforto e a segurança. Será encorajado a pensar sobre isto e decidir por si mesmo, se quiser usar esta função ou não.</para>
</sect1>
</chapter>
<chapter id="Author">
<title>Autor</title>
<para>&tdesu;</para>
<para>Copyright 2000 &Geert.Jansen;</para>
<para>O &tdesu; foi escrito por &Geert.Jansen;. É baseado no &tdesu; versão 0.3 de Pietro Iglio. O Pietro e eu acordámos que eu faria a manutenção deste programa no futuro.</para>
<para>O autor pode ser contactado através do e-mail em &Geert.Jansen.mail;. Por favor relate quaisquer erros que encontrar, de maneira a que eu os possa arranjar. Se tiver uma sugestão, sinta-se à vontade para me contactar.</para>
&underFDL; &underArtisticLicense; </chapter>
</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
End:
-->
|