ΠΠ΅Π½Π°ΡΡ ΠΠΎΡΠ΅ΡΠΈΠ½Π³
ΠΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ Π΄ΠΎΠ°ΡΠ° Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΠΎ ΡΠ»ΠΈΠΊΠΈ, ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π²ΠΎ ΠΊΠΎΠΈ ΡΠ΅ ΡΠΈΡΡΠΈΡΠ°Π½ΠΈ. ΠΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΡΠ΅ ΠΈΠ½Π³Π΅ΡΠ΅Π½ΡΠΈΠΈ ΡΠ΅ Π²ΡΠ·Π°Π½ΠΈ Π·Π° Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ Π½Π°ΠΌΠ΅ΡΡΠΎ Π·Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ - Π½Π°ΠΌΠ΅ΡΡΠΎ /etc/passwd ΠΈ /etc/shadow
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΊΠ»ΡΡΡΠ²Π°Π°Ρ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΈ SSH, ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π±ΠΈΠΎΠΌΠ΅ΡΡΠΈΡΠΊΠ° Π°Π²ΡΠ΅Π½ΡΠΈΠΊΠ°ΡΠΈΡΠ°, ΡΠ»ΠΈΠΊΠ°, Π΅-ΠΏΠΎΡΡΠ°, Π°Π΄ΡΠ΅ΡΠ°, Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠ° Π·ΠΎΠ½Π°, ΡΠ°Π·ΠΈΠΊ, ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π·Π½Π°ΠΌΠ΅Π½ΡΠ° Π·Π° ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅ (nodev, noexec, nosuid), ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΈ IMAP/SMTP , ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈ, ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΎΠΏΡΠΈΠΈ ΠΈΡΠ½. ΠΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ΠΎ Π΅ API Π·Π° Π±Π°ΡΠ°ΡΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅
ΠΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅ΡΠΎ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° UID/GID ΡΠ΅ Π²ΡΡΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ Π½Π° ΡΠ΅ΠΊΠΎΡ Π»ΠΎΠΊΠ°Π»Π΅Π½ ΡΠΈΡΡΠ΅ΠΌ Π½Π° ΠΊΠΎΡ Π΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ. ΠΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ Π·Π°Π΄ΡΠΆΠΈ ΡΠ²ΠΎΡΠΎΡ Π΄ΠΎΠΌΠ°ΡΠ΅Π½ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ ΡΠΎ ΡΠ΅Π±Π΅, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΡΠ»Π΅Ρ-ΡΡΠ΅Π΄, ΠΈ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ½Π° ΡΡΠ΅Π΄ΠΈΠ½Π° Π½Π° ΠΊΠΎΡ Π±ΠΈΠ»ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π±Π΅Π· Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ° ΡΠΌΠ΅ΡΠΊΠ° Π½Π° Π½Π΅Π³ΠΎ (ΠΏΡΠΈΡΡΡΡΠ²ΠΎ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΠΎ ΡΠ»ΠΈΠΊΠ° Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ Π΄ΠΎΠ²Π΅Π΄ΡΠ²Π° Π΄ΠΎ ΡΠΈΠ½ΡΠ΅Π·Π° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ).
Π‘Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΡ LUKS2 Π·Π° ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π½ΠΎ systemd-homed ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Π΄ΡΡΠ³ΠΈ Π·Π°Π΄Π½ΠΈ Π΄Π΅Π»ΠΎΠ²ΠΈ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π½Π΅ΡΠΈΡΡΠΈΡΠ°Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ, Btrfs, Fscrypt ΠΈ CIFS ΠΌΡΠ΅ΠΆΠ½ΠΈ ΠΏΠ°ΡΡΠΈΡΠΈΠΈ. ΠΠ° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΏΡΠ΅Π½ΠΎΡΠ»ΠΈΠ²ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ Π°Π»Π°ΡΠΊΠ°ΡΠ° homectl, ΠΊΠΎΡΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΡΠ»ΠΈΠΊΠΈ ΠΎΠ΄ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ Π΄Π° ΡΠ° ΠΌΠ΅Π½ΡΠ²Π°ΡΠ΅ Π½ΠΈΠ²Π½Π°ΡΠ° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° ΠΈ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ Π»ΠΎΠ·ΠΈΠ½ΠΊΠ°.
ΠΠ° Π½ΠΈΠ²ΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ, ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° ΠΎΠ΄ ΡΠ»Π΅Π΄Π½ΠΈΠ²Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ:
- systemd-homed.service - ΡΠΏΡΠ°Π²ΡΠ²Π° ΡΠΎ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ ΠΈ Π³ΠΈ Π²Π³ΡΠ°Π΄ΡΠ²Π° Π·Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΎΠ΄ JSON Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π²ΠΎ ΡΠ»ΠΈΠΊΠΈΡΠ΅ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ;
- pam_systemd - ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΠΎΠ΄ JSON ΠΏΡΠΎΡΠΈΠ»ΠΎΡ ΠΊΠΎΠ³Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΡΠ΅ Π½Π°ΡΠ°Π²ΡΠ²Π° ΠΈ Π³ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π° Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π½Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π°ΡΠ° ΡΠ΅ΡΠΈΡΠ° (Π²ΡΡΠΈ Π°Π²ΡΠ΅Π½ΡΠΈΠΊΠ°ΡΠΈΡΠ°, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° ΠΈΡΠ½.);
- systemd-logind.service - ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΠΎΠ΄ JSON ΠΏΡΠΎΡΠΈΠ»ΠΎΡ ΠΊΠΎΠ³Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΡΠ΅ Π½Π°ΡΠ°Π²ΡΠ²Π°, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΡΠ΅ΡΡΡΡΠΈ ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ°;
- nss-systemd - NSS ΠΌΠΎΠ΄ΡΠ» Π·Π° glibc, ΡΠΈΠ½ΡΠ΅ΡΠΈΠ·ΠΈΡΠ° ΠΊΠ»Π°ΡΠΈΡΠ½ΠΈ NSS Π·Π°ΠΏΠΈΡΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° JSON ΠΏΡΠΎΡΠΈΠ», ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΡΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ Π½Π°Π½Π°Π·Π°Π΄ ΡΠΎ UNIX ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΠΊΠΈ API (/etc/password);
- PID 1 - Π΄ΠΈΠ½Π°ΠΌΠΈΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π²Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ (ΡΠΈΠ½ΡΠ΅ΡΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ° ΡΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° DynamicUser Π²ΠΎ Π΅Π΄ΠΈΠ½ΠΈΡΠΈ) ΠΈ Π³ΠΈ ΠΏΡΠ°Π²ΠΈ Π²ΠΈΠ΄Π»ΠΈΠ²ΠΈ Π·Π° ΠΎΡΡΠ°ΡΠΎΠΊΠΎΡ ΠΎΠ΄ ΡΠΈΡΡΠ΅ΠΌΠΎΡ;
- systemd-userdbd.service - Π³ΠΈ ΠΏΡΠ΅Π²Π΅Π΄ΡΠ²Π° ΡΠΌΠ΅ΡΠΊΠΈΡΠ΅ Π½Π° UNIX/glibc NSS Π²ΠΎ Π·Π°ΠΏΠΈΡΠΈ JSON ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½ Varlink API Π·Π° Π±Π°ΡΠ°ΡΠ΅ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ²Π°ΡΠ΅ ΠΏΡΠ΅ΠΊΡ Π·Π°ΠΏΠΈΡΠΈΡΠ΅.
ΠΡΠ΅Π΄Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Π²ΠΊΠ»ΡΡΡΠ²Π°Π°Ρ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΠΏΡΠΈ ΠΌΠΎΠ½ΡΠΈΡΠ°ΡΠ΅ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌΠΎΡ /etc Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΠΌΠΎ Π·Π° ΡΠΈΡΠ°ΡΠ΅, ΠΎΡΡΡΡΡΠ²ΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π° ΠΎΠ΄ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ (UID/GID) ΠΏΠΎΠΌΠ΅ΡΡ ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅, Π½Π΅Π·Π°Π²ΠΈΡΠ½ΠΎΡΡ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΠΎΠ΄ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠΎΡ Π½Π° ΠΌΠΈΡΡΠ²Π°ΡΠ΅, ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π°Π²ΡΠ΅Π½ΡΠΈΠΊΠ°ΡΠΈΡΠ°. ΠΠ»Π°Π½ΠΈΡΠ°Π½ΠΎ Π΅ Systemd-homed Π΄Π° Π±ΠΈΠ΄Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ Π²ΠΎ ΠΌΠ΅ΡΠ½ΡΡΡΠΈΠΌ Π½Π° systemd Π²ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ 244 ΠΈΠ»ΠΈ 245.
ΠΡΠΈΠΌΠ΅Ρ JSON ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠΈΠ»:
"autoLogin" : ΡΠΎΡΠ½ΠΎ,
"ΠΎΠ±Π²ΡΠ·ΡΠ²Π°ΡΠΊΠΈ" : {
Β«15e19cd24e004b949ddaac60c74aa165Β» : {
"fileSystemType" : "ext4"
Β«fileSystemUUIDΒ» : Β«758e88c8-5851-4a2a-b98f-e7474279c111Β»,
"gid": 60232,
"homeDirectory" : "/home/test",
"imagePath" : "/home/test.home",
"luksCipher" : "aes",
"luksCipherMode" : "xts-plain64",
Β«luksUUIDΒ» : Β«e63581ba-79fa-4226-b9de-1888393f7573Β»,
"luksVolumeKeySize": 32,
Β«partitionUUIDΒ» : Β«41f9ce04-c927-4b74-a981-c669f93eb4dcΒ»,
"ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅" : "Π»ΡΠΊΡ",
"uid": 60233
}
},
"Π΄ΠΈΡΠΏΠΎΠ·ΠΈΡΠΈΡΠ°" : "ΡΠ΅Π΄ΠΎΠ²Π½ΠΎ",
"enforcePasswordPolicy" : Π»Π°ΠΆΠ½ΠΎ,
"lastChangeUSec": 1565951024279735,
"ΡΠ»Π΅Π½ Π½Π°" : [
"ΡΡΠΊΠ°Π»ΠΎ"
],
"ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠ°Π½" : {
"hashedPassword" : [
Β«$6$WHBKvAFFT9jKPA4k$OPY4D5β¦/Β»
] },
"ΠΏΠΎΡΠΏΠΈΡ" : [
{
"data" : "LU/HeVrPZSzi3M3J...==",
"key" : "ββ BEGIN PUBLIC KEYββ\nMCowBQADK2VwAyβ¦=\nββΠΠ ΠΠ ΠΠΠΠΠ ΠΠΠ£Π§ββ\n"
}
],
"ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΎ ΠΈΠΌΠ΅" : "ΡΠ΅ΡΡ",
"ΡΡΠ°ΡΡΡ" : {
Β«15e19cf24e004b949dfaac60c74aa165Β» : {
"goodAuthenticationCounter": 16,
"lastGoodAuthenticationUSec": 1566309343044322,
"rateLimitBeginUSec" : 1566309342341723,
"rateLimitCount" : 1,
"ΡΠΎΡΡΠΎΡΠ±Π°" : "Π½Π΅Π°ΠΊΡΠΈΠ²Π½Π°",
"ΡΠ΅ΡΠ²ΠΈΡ" : "io.systemd.Home",
"ΠΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° Π΄ΠΈΡΠΊΠΎΡ": 161218667776,
"diskCeiling": 191371729408,
"diskFloor": 5242780,
"signedLocally" : ΡΠΎΡΠ½ΠΎ
}
}
ΠΠ·Π²ΠΎΡ: opennet.ru