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
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
|
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY kappname "&kdesu;">
<!ENTITY package "kdebase">
<!ENTITY % addindex "IGNORE">
<!ENTITY % Portuguese "INCLUDE"
> <!-- change language only here -->
]>
<book lang="&language;">
<bookinfo>
<title
>Manual do &kdesu;</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 &kdesu; é 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 &kdesu;! O &kdesu; é 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 &kdesu; é um programa sem privilégios e usa o <command
>su</command
> do sistema.</para>
<para
>O &kdesu; 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-kdesu">
<title
>Usar o &kdesu;</title>
<para
>A utilização do &kdesu; é fácil. A sintaxe é a seguinte:</para>
<cmdsynopsis
><command
>kdesu</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
>kdesu</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
>kdesu<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 &kdesu; em ficheiros <filename
>.desktop</filename
>. Isto diz ao &kdesu; para examinar o ficheiro indicado em <parameter
>ficheiro</parameter
>. Se este ficheiro puder ser alterado pelo utilizador actual, o &kdesu; 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
>kdm</application
>, o utilizador poderá emitir um <command
>kdesu <option
>-c kdmconfig -f kdmrc</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
>kdesu</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 'kdesu'. 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 &kdesu; 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 &kdesu; 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 &kdesu; 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 &kdesu; usa o comando <command
>su</command
> do sistema para obter privilégios. Nesta secção, serão explicados os detalhes de como o &kdesu; 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 &kdesu; 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 &kdesu; 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 &kdesu; executa uma pequena porção de programa chamada <application
>kdesu_stub</application
>. Esta porção (correndo com o utilizador de destino), pede alguma informação ao &kdesu; 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 &kdesu; 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 &kdesu; 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 &kdesu; 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 &kdesu; tenta prevenir isto. O esquema de segurança que usa é razoavelmente seguro e é explicado aqui.</para>
<para
>O &kdesu; usa um servidor, chamado <application
>kdesud</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 &kdesu; 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
>kdesud</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
>&kdesu;</para>
<para
>Copyright 2000 &Geert.Jansen;</para>
<para
>O &kdesu; foi escrito por &Geert.Jansen;. É baseado no &kdesu; 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:
-->
|