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
|
'\" t
.\" Title: login
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
.\" Date: 06/13/2019
.\" Manual: Пользовательские команды
.\" Source: shadow-utils 4.7
.\" Language: Russian
.\"
.TH "login" "1" "06/13/2019" "shadow\-utils 4\&.7" "Пользовательские команды"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "НАЗВАНИЕ"
login \- начинает сеанс в системе
.SH "СИНТАКСИС"
.HP \w'\fBlogin\fR\ 'u
\fBlogin\fR [\-p] [\-h\ \fIузел\fR] [\fIимя_пользователя\fR] [\fIПЕРЕМЕННАЯ_ОКРУЖЕНИЯ=ЗНАЧЕНИЕ\fR...]
.HP \w'\fBlogin\fR\ 'u
\fBlogin\fR [\-p] [\-h\ \fIузел\fR] \-f \fIимя_пользователя\fR
.HP \w'\fBlogin\fR\ 'u
\fBlogin\fR [\-p] \-r\ \fIузел\fR
.SH "ОПИСАНИЕ"
.PP
Программа
\fBlogin\fR
используется для запуска нового сеанса в системе\&. Как правило, эта программа вызывается автоматически и выводит приглашение
\fIlogin:\fR
на терминал пользователя\&. Программа
\fBlogin\fR
может восприниматься оболочкой командной строки не как простая программа и вызываться не как подпроцесс\&. При вызове из оболочки
\fBlogin\fR
должна запускаться посредством вызова
\fBexec login\fR, что приводит к завершению работы пользователя в текущей оболочке (и, таким образом, вновь входящий в систему пользователь не попадёт в сеанс вызвавшего)\&. Попытка запустить
\fBlogin\fR
из любой оболочки, отличной от регистрационной, приводит к сообщению об ошибке\&.
.PP
В какой\-то момент пользователя попросят ввести свой пароль\&. Чтобы не допустить раскрытия, символы при вводе пароля не отображаются\&. Разрешено очень маленькое количество попыток ввода неправильного пароля, перед тем как
\fBlogin\fR
закончит работу и прервёт подключение\&.
.PP
Если включён механизм устаревания пароля учётной записи, то перед входом в систему может потребоваться смена пароля\&. Для этого нужно ввести старый пароль и новый пароль\&. Подробней об этом написано в
\fBpasswd\fR(1)\&.
.PP
После успешного входа в систему, будут показаны сообщения от системы и о наличии почты\&. Можно отключить вывод файла системных сообщений из файла
/etc/motd, создав в домашнем каталоге файл нулевой длины с именем
\&.hushlogin\&. Сообщение о наличии почты может быть одним из: \(Fo\fIУ вас есть новая почта\&.\fR\(Fc, \(Fo\fIУ вас есть почта\&.\fR\(Fc или \(Fo\fIУ вас нет почты\&.\fR\(Fc, в зависимости от наполненности почтового ящика\&.
.PP
Значение идентификатора учётной записи и группы будет взято из файла
/etc/passwd\&. Значения переменных
\fB$HOME\fR,
\fB$SHELL\fR,
\fB$PATH\fR,
\fB$LOGNAME\fR
и
\fB$MAIL\fR
устанавливаются согласно соответствующим полям учётной записи пользователя\&. Также могут быть установлены значения ulimit, umask и nice из поля GECOS\&.
.PP
В некоторых системах переменной окружения
\fB$TERM\fR
будет присвоен тип терминала линии tty, согласно данным из файла
/etc/ttytype\&.
.PP
Также может быть выполнен сценарий инициализации пользовательского интерпретатора команд\&. Подробней об этой функции смотрите соответствующую справочную страницу\&.
.PP
Субсистемный вход в систему можно распознать по наличию символа \(Fo*\(Fc в начале регистрационной оболочки\&. Заданный домашний каталог будет использован как корень новой файловой системы, в которой регистрируется пользователь\&.
.PP
Программа
\fBlogin\fR
НЕ удаляет записи о пользователях из файла utmp\&. Эта задача программ
\fBgetty\fR(8)
и
\fBinit\fR(8)
\(em удалять записи о владельце терминального сеанса\&. Если
\fBlogin\fR
запускается из командной строки без
\fBexec\fR, то пользователь продолжает находиться в системе даже после завершения работы в \(Foпорождённом сеансе\(Fc\&.
.SH "ПАРАМЕТРЫ"
.PP
\fB\-f\fR
.RS 4
Не выполнять аутентификацию, пользователь уже прошёл проверку\&.
.sp
Замечание: в этом случае
\fIимя_пользователя\fR
обязательно\&.
.RE
.PP
\fB\-h\fR
.RS 4
Имя удалённого узла, на который нужно войти\&.
.RE
.PP
\fB\-p\fR
.RS 4
Сохранить окружение\&.
.RE
.PP
\fB\-r\fR
.RS 4
Выполнить протокол autologin для rlogin\&.
.RE
.PP
Параметры
\fB\-r\fR,
\fB\-h\fR
и
\fB\-f\fR
используются только если
\fBlogin\fR
запускается суперпользователем\&.
.SH "ПРЕДОСТЕРЕЖЕНИЯ"
.PP
Данная версия
\fBlogin\fR
может быть собрана с разными параметрами и только некоторые из них смогут быть использованы на любой машине\&.
.PP
Расположение файлов может отличаться на разных системах\&.
.PP
Программа
\fBlogin\fR
НЕ удаляет записи о пользователях из файла utmp\&. Эта задача программ
\fBgetty\fR(8)
и
\fBinit\fR(8)
\(em удалять записи о владельце терминального сеанса\&. Если
\fBlogin\fR
запускается из командной строки без
\fBexec\fR, то пользователь продолжает находиться в системе даже после завершения работы в \(Foпорождённом сеансе\(Fc\&.
.PP
Как и для любой программы, запуск
\fBlogin\fR
может быть подделан\&. Если неуполномоченные пользователи имеют физический доступ к машине, то атакующий может использовать это для получения пароля следующего человека, который будет работать за машиной\&. Под Linux пользователи могут использовать механизм SAK для установления достоверного пути и таким образом предотвращения атаки\&.
.SH "НАСТРОЙКА"
.PP
На работу этого инструмента влияют следующие переменные настройки из
/etc/login\&.defs:
.PP
\fBCONSOLE\fR (строка)
.RS 4
Если определена, то значение равно или полному пути к файлу с именами устройств (одно на строку), или списку имён устройств, перечисленных через \(Fo:\(Fc\&. Вход суперпользователя будет разрешён только с этих устройств\&.
.sp
Если не определена, то суперпользователь может входить в систему с любого устройства\&.
.sp
Устройства должны указываться без начального префикса /dev/\&.
.RE
.PP
\fBCONSOLE_GROUPS\fR (строка)
.RS 4
Список групп для добавления к набору пользовательских дополнительных групп при входе с консоли (определяемой переменной CONSOLE)\&. По умолчанию не указана\&.
Используйте осторожно \(em может дать пользователям постоянный доступ к этим группам, даже если они не входили с консоли\&.
.RE
.PP
\fBDEFAULT_HOME\fR (логический)
.RS 4
Определяет, можно ли войти в систему, если нельзя выполнить cd в домашний каталог\&. По умолчанию \(Fono\(Fc\&.
.sp
Если равно
\fIyes\fR, то пользователь будет попадать в корневой каталог (/), если невозможно выполнить cd в его домашний каталог\&.
.RE
.PP
\fBENV_HZ\fR (строка)
.RS 4
Если установлена, то будет использоваться для определения переменной окружения HZ при входе пользователя в систему\&. Значение должно начинаться с
\fIHZ=\fR\&. Обычное значение для Linux \(em
\fIHZ=100\fR\&.
.RE
.PP
\fBENV_PATH\fR (строка)
.RS 4
If set, it will be used to define the PATH environment variable when a regular user login\&. The value is a colon separated list of paths (for example
\fI/bin:/usr/bin\fR) and can be preceded by
\fIPATH=\fR\&. The default value is
\fIPATH=/bin:/usr/bin\fR\&.
.RE
.PP
\fBENV_SUPATH\fR (строка)
.RS 4
If set, it will be used to define the PATH environment variable when the superuser login\&. The value is a colon separated list of paths (for example
\fI/sbin:/bin:/usr/sbin:/usr/bin\fR) and can be preceded by
\fIPATH=\fR\&. The default value is
\fIPATH=/sbin:/bin:/usr/sbin:/usr/bin\fR\&.
.RE
.PP
\fBENV_TZ\fR (строка)
.RS 4
Если установлена, то будет использоваться для определения переменной окружения TZ при входе пользователя\&. Значение может быть равно имени часового пояса, начинающегося
\fITZ=\fR
(например,
\fITZ=CST6CDT\fR), или полному пути к файлу с параметрами часового пояса (например,
/etc/tzname)\&.
.sp
Если указан полный путь, но файл не существует или недоступен для чтения, то используется значение по умолчанию:
\fITZ=CST6CDT\fR\&.
.RE
.PP
\fBENVIRON_FILE\fR (строка)
.RS 4
Если этот файл существует и доступ для чтения, то из него читает регистрационное окружение\&. Каждая строка должна иметь формат: имя=значение\&.
.sp
Строки, начинающиеся с #, считаются комментарием и игнорируются\&.
.RE
.PP
\fBERASECHAR\fR (число)
.RS 4
Символ ERASE у терминала (\fI010\fR
= backspace,
\fI0177\fR
= DEL)\&.
.sp
Значение может начинаться с \(Fo0\(Fc при указании значения в восьмеричной системе счисления или \(Fo0x\(Fc при указании значения в шестнадцатеричной системе счисления\&.
.RE
.PP
\fBFAIL_DELAY\fR (число)
.RS 4
Задержка в секундах перед повторной попыткой после неудачного входа\&.
.RE
.PP
\fBFAILLOG_ENAB\fR (логический)
.RS 4
Включить протоколирование и показ информации о неудачных входах из
/var/log/faillog\&.
.RE
.PP
\fBFAKE_SHELL\fR (строка)
.RS 4
Если установлена, то программа
\fBlogin\fR
запустит указанную оболочку вместо пользовательской оболочки заданной в
/etc/passwd\&.
.RE
.PP
\fBFTMP_FILE\fR (строка)
.RS 4
Если определена, то неудачные попытки входа будут протоколироваться в этот файл в формате utmp\&.
.RE
.PP
\fBHUSHLOGIN_FILE\fR (строка)
.RS 4
Если определена, то этот файл может заблокировать все обычные переговоры (chatter) при входе\&. Если указан полный путь к файлу, то будет включён сокращённый (hushed) режим, если в этом файле указано имя пользователя или оболочка\&. Если указан не полный путь, то будет включён сокращённый (hushed) режим, если файл находится в домашнем каталоге пользователя\&.
.RE
.PP
\fBISSUE_FILE\fR (строка)
.RS 4
Если определена, то этот файл будет показан перед каждым появлением приглашения на вход\&.
.RE
.PP
\fBKILLCHAR\fR (число)
.RS 4
Символ KILL у терминала (\fI025\fR
= CTRL/U)\&.
.sp
Значение может начинаться с \(Fo0\(Fc при указании значения в восьмеричной системе счисления или \(Fo0x\(Fc при указании значения в шестнадцатеричной системе счисления\&.
.RE
.PP
\fBLASTLOG_ENAB\fR (логический)
.RS 4
Включить протоколирование и показ информации о времени входа из /var/log/lastlog\&.
.RE
.PP
\fBLOGIN_RETRIES\fR (число)
.RS 4
Максимальное количество попыток входа при вводе неверного пароля\&.
.RE
.PP
\fBLOGIN_STRING\fR (строка)
.RS 4
Строка\-приглашение к вводу пароля\&. Значение по умолчанию: \(FoPassword:\(Fc или перевод этой строки на разные языки\&. Если вы измените эту переменную, то перевод будет отсутствовать\&.
.sp
Если в строке содержится подстрока
\fI%s\fR, то она будет заменена на имя пользователя\&.
.RE
.PP
\fBLOGIN_TIMEOUT\fR (число)
.RS 4
Максимальное время в секундах, отведённое на вход\&.
.RE
.PP
\fBLOG_OK_LOGINS\fR (логический)
.RS 4
Включить протоколирование успешных входов\&.
.RE
.PP
\fBLOG_UNKFAIL_ENAB\fR (логический)
.RS 4
Включить показ неизвестных имён пользователей при записи неудачных попыток входа\&.
.sp
Замечание: протоколирование неизвестных имён пользователя может привести к проблемам с безопасностью, если пользователь введёт свой пароль вместо своего имени\&.
.RE
.PP
\fBMAIL_CHECK_ENAB\fR (логический)
.RS 4
Включает проверку и показ состояния почтового ящика при входе\&.
.sp
Вы должны выключить это, если почтовый ящик проверяется из файлов автозапуска оболочки (\(Fomailx \-e\(Fc или похожей командой)\&.
.RE
.PP
\fBMAIL_DIR\fR (строка)
.RS 4
Почтовый каталог\&. Данный параметр нужен для управления почтовым ящиком при изменении или удалении учётной записи пользователя\&. Если параметр не задан, то используется значение указанное при сборке\&.
.RE
.PP
\fBMAIL_FILE\fR (строка)
.RS 4
Определяет расположение почтовых файлов пользователя относительно домашнего каталога\&.
.RE
.PP
Переменные
\fBMAIL_DIR\fR
и
\fBMAIL_FILE\fR
используются командами
\fBuseradd\fR,
\fBusermod\fR
и
\fBuserdel\fR
для создания, перемещения или удаления почты пользователя\&.
.PP
Если значение
\fBMAIL_CHECK_ENAB\fR
равно
\fIyes\fR, то они также используются для определения переменной окружения
\fBMAIL\fR\&.
.PP
\fBMOTD_FILE\fR (строка)
.RS 4
Если определена, то при входе будет показано \(Foсообщение дня\(Fc из файла со списком значений, разделённых \(Fo:\(Fc\&.
.RE
.PP
\fBNOLOGINS_FILE\fR (строка)
.RS 4
Если определена, значение равно имени файла, чьё существование запретит вход для не суперпользователей\&. В файле должно содержаться сообщение, описывающее почему запрещён вход\&.
.RE
.PP
\fBPORTTIME_CHECKS_ENAB\fR (логический)
.RS 4
Включить проверку временных ограничений, заданных в
/etc/porttime\&.
.RE
.PP
\fBQUOTAS_ENAB\fR (логический)
.RS 4
Включает установку ограничений ресурсов из
/etc/limits
и ulimit, umask и niceness из поля gecos файла passwd\&.
.RE
.PP
\fBTTYGROUP\fR (строка), \fBTTYPERM\fR (строка)
.RS 4
Права терминала: tty входа будет принадлежать группе
\fBTTYGROUP\fR, а права будут назначены в соответствии с
\fBTTYPERM\fR\&.
.sp
По умолчанию, терминалом владеет первичная группа пользователя, а права устанавливаются в
\fI0600\fR\&.
.sp
В
\fBTTYGROUP\fR
может задаваться или имя группы, или числовой идентификатор группы\&.
.sp
Если ваша программа
\fBwrite\fR
имеет \(Fosetgid\(Fc со специальной группой, которой принадлежат терминалы, то присвойте TTYGROUP номер этой группы, а TTYPERM значение 0620\&. В противном случае оставьте TTYGROUP закомментированной и назначьте TTYPERM значение 622 или 600\&.
.RE
.PP
\fBTTYTYPE_FILE\fR (строка)
.RS 4
Если определена, то в ней указывается имя файла, в котором описано соответствие между линией tty и параметром окружения TERM\&. Каждая строка файла имеет формат вида \(Fovt100 tty01\(Fc\&.
.RE
.PP
\fBULIMIT\fR (число)
.RS 4
Значение
\fBulimit\fR
по умолчанию\&.
.RE
.PP
\fBUMASK\fR (число)
.RS 4
Задаёт начальное значение маски доступа для создаваемых файлов\&. Если не указано, то маска устанавливается в 022\&.
.sp
Команды
\fBuseradd\fR
и
\fBnewusers\fR
используют эту маску для установки прав доступа к домашнему каталогу, который они создают\&.
.sp
Также она используется программой
\fBlogin\fR
для задания начального значения umask пользователя\&. Заметим, что эта маска может быть переопределена из пользовательской строки GECOS (если установлена переменная
\fBQUOTAS_ENAB\fR) или указанием ограничения с идентификатором
\fIK\fR, в
\fBlimits\fR(5)\&.
.RE
.PP
\fBUSERGROUPS_ENAB\fR (логический)
.RS 4
Включает установку группы битов umask равной битам владельца (пример: 022 \-> 002, 077 \-> 007) для не суперпользователей, если uid равен gid и имя пользователя совпадает с именем первичной группы\&.
.sp
Если значение равно
\fIyes\fR, то
\fBuserdel\fR
удаляет пользовательскую группу, если в ней нет больше членов, а
\fBuseradd\fR
по умолчанию создаёт группу с именем пользователя\&.
.RE
.SH "ФАЙЛЫ"
.PP
/var/run/utmp
.RS 4
содержит список работающих сеансов в системе
.RE
.PP
/var/log/wtmp
.RS 4
содержит список завершённых сеансов работы с системой
.RE
.PP
/etc/passwd
.RS 4
содержит информацию о пользователях
.RE
.PP
/etc/shadow
.RS 4
содержит защищаемую информацию о пользователях
.RE
.PP
/etc/motd
.RS 4
содержит системные сообщения за день
.RE
.PP
/etc/nologin
.RS 4
при существовании файла блокируется доступ в систему обычным пользователям
.RE
.PP
/etc/ttytype
.RS 4
содержит список типов терминалов
.RE
.PP
$HOME/\&.hushlogin
.RS 4
при существовании файла системные сообщения при входе в систему не выводятся
.RE
.PP
/etc/login\&.defs
.RS 4
содержит конфигурацию подсистемы теневых паролей
.RE
.SH "СМОТРИТЕ ТАКЖЕ"
.PP
\fBmail\fR(1),
\fBpasswd\fR(1),
\fBsh\fR(1),
\fBsu\fR(1),
\fBlogin.defs\fR(5),
\fBnologin\fR(5),
\fBpasswd\fR(5),
\fBsecuretty\fR(5),
\fBgetty\fR(8)\&.
|