āĻāĻ āĻāĻŽāĻŋ āĻļā§āĻ¯āĻŧāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ°ā§āĻĒā§āĻ°ā§āĻ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ, āĻāĻ¯āĻŧā§āĻŦāĻ¸āĻžāĻāĻ, āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž, ssh āĻ°āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĻā§āĻŦāĻŋ-āĻĢā§āĻ¯āĻžāĻā§āĻāĻ° āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻŦā§āĻ¨āĨ¤ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¸āĻŽāĻ¨ā§āĻŦāĻ¯āĻŧ āĻāĻžāĻ˛āĻžāĻŦā§: LinOTP + FreeRadiusāĨ¤
āĻā§āĻ¨ āĻ¤āĻŋāĻ¨āĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨?
āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§, āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨, āĻ¤āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§, āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĒāĻā§āĻˇā§āĻ° āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻĨā§āĻā§ āĻ¸ā§āĻŦāĻžāĻ§ā§āĻ¨āĨ¤
āĻāĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻāĻŋ āĻā§āĻŦāĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ, āĻŦā§āĻļ āĻāĻžāĻā§āĻˇā§āĻˇ, āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻĒā§āĻ¨ āĻ¸ā§āĻ°ā§āĻ¸ āĻĒāĻŖā§āĻ¯āĻā§āĻ˛āĻŋāĻ° āĻĨā§āĻā§ āĻāĻŋāĻ¨ā§āĻ¨, āĻāĻŦāĻ āĻāĻāĻŋ āĻŦāĻŋāĻĒā§āĻ˛ āĻ¸āĻāĻā§āĻ¯āĻ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻŦāĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋāĻā§āĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ˛āĻāĻāĻ¨+āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ+(PIN+OTPToken))āĨ¤ API-āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§, āĻāĻāĻŋ āĻāĻ¸āĻāĻŽāĻāĻ¸ āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻā§āĻā§āĻ¤ āĻšāĻ¯āĻŧ (LinOTP Config->Provider Config->SMS āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§), āĻŽā§āĻŦāĻžāĻāĻ˛ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ āĻ¯ā§āĻŽāĻ¨ Google Authentificator āĻāĻŦāĻ āĻāĻ°āĻ āĻ
āĻ¨ā§āĻ āĻāĻŋāĻā§āĨ¤ āĻāĻŽāĻŋ āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻāĻāĻŋ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻā§āĻ¯āĻŧā§ āĻŦā§āĻļāĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ
āĻāĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻāĻŋ Cisco ASA, OpenVPN āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°, Apache2 āĻāĻŦāĻ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ RADIUS āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ āĻāĻŽāĻ¨ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻŦāĻāĻŋāĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ°ā§āĻĒā§āĻ°āĻŋ āĻāĻžāĻ āĻāĻ°ā§ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻĄā§āĻāĻž āĻ¸ā§āĻ¨ā§āĻāĻžāĻ°ā§ SSH-āĻāĻ° āĻāĻ¨ā§āĻ¯)āĨ¤
āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨:
1) āĻĄā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ 8 (āĻā§āĻ¸āĻŋ)- āĻ āĻāĻ¤ā§āĻ¯āĻž ! (āĻĄā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ 9-āĻ āĻā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§āĻ° āĻļā§āĻˇā§ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§)
āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨:
āĻĄā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ 8 āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤
LinOTP āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨:
# echo 'deb http://www.linotp.org/apt/debian jessie linotp' > /etc/apt/sources.list.d/linotp.list
āĻā§ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻā§āĻā§:
# gpg --search-keys 913DFF12F86258E5
āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻāĻāĻŋ "āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ°" āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻĒāĻ°ā§, āĻĄā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°ā§:
gpg: ŅОСдаĐŊ ĐēĐ°ŅĐ°ĐģĐžĐŗ `/root/.gnupg'
gpg: ŅОСдаĐŊ ĐŊОвŅĐš ŅĐ°ĐšĐģ ĐŊĐ°ŅŅŅĐžĐĩĐē `/root/.gnupg/gpg.conf'
gpg: ĐĐĐĐĐĐĐĐ: ĐŋĐ°ŅĐ°ĐŧĐĩŅŅŅ в `/root/.gnupg/gpg.conf' ĐĩŅĐĩ ĐŊĐĩ Đ°ĐēŅивĐŊŅ ĐŋŅи ŅŅĐžĐŧ СаĐŋŅŅĐēĐĩ
gpg: ŅОСдаĐŊĐ° ŅĐ°ĐąĐģиŅĐ° ĐēĐģŅŅĐĩĐš `/root/.gnupg/secring.gpg'
gpg: ŅОСдаĐŊĐ° ŅĐ°ĐąĐģиŅĐ° ĐēĐģŅŅĐĩĐš `/root/.gnupg/pubring.gpg'
gpg: ĐŊĐĩ СадаĐŊŅ ŅĐĩŅвĐĩŅŅ ĐēĐģŅŅĐĩĐš (иŅĐŋĐžĐģŅСŅĐšŅĐĩ --keyserver)
gpg: ŅйОК ĐŋŅи ĐŋОиŅĐēĐĩ ĐŊĐ° ŅĐĩŅвĐĩŅĐĩ ĐēĐģŅŅĐĩĐš: ĐŋĐģĐžŅ
ОК URI
āĻāĻāĻŋ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ gnupg āĻ¸ā§āĻāĻāĻĒāĨ¤ āĻ āĻŋāĻ āĻāĻā§. āĻļā§āĻ§ā§ āĻāĻŦāĻžāĻ° āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¨.
āĻĄā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ā§āĻ° āĻĒā§āĻ°āĻļā§āĻ¨ā§:
gpg: ĐŋОиŅĐē "913DFF12F86258E5" ĐŊĐ° hkp ŅĐĩŅвĐĩŅĐĩ keys.gnupg.net
(1) LSE LinOTP2 Packaging <[email protected]>
2048 bit RSA key F86258E5, ŅОСдаĐŊ: 2010-05-10
Keys 1-1 of 1 for "913DFF12F86258E5". ĐвĐĩдиŅĐĩ ŅиŅĐģĐ°, N) ĐĄĐģĐĩĐ´ŅŅŅиК иĐģи Q) ĐŅŅ
Од>
āĻāĻŽāĻ°āĻž āĻāĻ¤ā§āĻ¤āĻ°: 1
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§:
# gpg --export 913DFF12F86258E5 | apt-key add -
# apt-get update
āĻŽāĻžāĻāĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨āĨ¤ āĻ¤āĻžāĻ¤ā§āĻ¤ā§āĻŦāĻŋāĻāĻāĻžāĻŦā§, āĻāĻĒāĻ¨āĻŋ āĻ āĻ¨ā§āĻ¯ sql āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻ°āĻ˛āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻŋ āĻāĻāĻŋ LinOTP-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦāĨ¤
(āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¤āĻĨā§āĻ¯, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ LinOTP āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž, āĻ
āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§
# apt-get install mysql-server
# apt-get update
(āĻāĻāĻž āĻāĻŦāĻžāĻ° āĻāĻĒāĻĄā§āĻ āĻā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻāĻžāĻ¤ āĻāĻ°āĻŦā§ āĻ¨āĻž)
LinOTP āĻāĻŦāĻ āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨:
# apt-get install linotp
āĻāĻŽāĻ°āĻž āĻāĻ¨āĻ¸ā§āĻāĻ˛āĻžāĻ°ā§āĻ° āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻāĻ¤ā§āĻ¤āĻ° āĻĻāĻŋāĻ:
Apache2 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨: āĻšā§āĻ¯āĻžāĻ
āĻ
ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨ āĻ˛āĻŋāĻ¨ā§āĻāĻĒā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨: "āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ"
āĻ¸ā§āĻŦ-āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°āĻŋāĻ¤ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨?: āĻšā§āĻ¯āĻžāĻ
āĻŽāĻžāĻāĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨?: āĻšā§āĻ¯āĻžāĻ
āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻā§āĻĨāĻžāĻ¯āĻŧ āĻ
āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤: localhost
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻāĻāĻāĻŋ LinOTP āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ (āĻŦā§āĻ¸ āĻ¨āĻžāĻŽ) āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨: LinOTP2
āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨: LinOTP2
āĻāĻŽāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¸ā§āĻ āĻāĻ°āĻŋ: "āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ"
āĻāĻŽāĻŋ āĻāĻāĻ¨ āĻāĻāĻāĻŋ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤? ("āĻāĻĒāĻ¨āĻŋ āĻāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ¨..." āĻāĻ° āĻŽāĻ¤ āĻāĻŋāĻā§): āĻšā§āĻ¯āĻžāĻ
āĻāĻāĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ MySQL āĻ°ā§āĻ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻāĻŋāĻ˛ā§āĻ¨ āĻ¤āĻž āĻ˛āĻŋāĻā§āĻ¨: "āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ"
āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨āĨ¤
(āĻāĻā§āĻāĻŋāĻ, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻž)
# apt-get install linotp-adminclient-cli
(āĻāĻā§āĻāĻŋāĻ, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻž)
# apt-get install libpam-linotp
āĻāĻŦāĻ āĻ¤āĻžāĻ āĻāĻŽāĻžāĻĻā§āĻ° Linotp āĻāĻ¯āĻŧā§āĻŦ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻāĻāĻ¨ āĻāĻāĻžāĻ¨ā§ āĻāĻĒāĻ˛āĻŦā§āĻ§:
"<b>https</b>: //IP_ŅĐĩŅвĐĩŅĐ°/manage"
āĻāĻŽāĻŋ āĻāĻāĻā§ āĻĒāĻ°ā§ āĻāĻ¯āĻŧā§āĻŦ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§āĻ° āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻŦāĨ¤
āĻāĻāĻ¨, āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻāĻŋāĻ¨āĻŋāĻ¸! āĻāĻŽāĻ°āĻž FreeRadius āĻŦāĻžāĻĄāĻŧāĻžāĻ āĻāĻŦāĻ Linotp āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ˛āĻŋāĻā§āĻ āĻāĻ°āĻŋāĨ¤
LinOTP āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ FreeRadius āĻāĻŦāĻ āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨
# apt-get install freeradius linotp-freeradius-perl
āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻŦā§āĻ¯āĻžāĻ¸āĻžāĻ°ā§āĻ§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻŦā§āĻ¯āĻžāĻāĻāĻĒ āĻāĻ°ā§āĻ¨āĨ¤
# mv /etc/freeradius/clients.conf /etc/freeradius/clients.old
# mv /etc/freeradius/users /etc/freeradius/users.old
āĻāĻāĻāĻŋ āĻāĻžāĻ˛āĻŋ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨:
# touch /etc/freeradius/clients.conf
āĻāĻŽāĻžāĻĻā§āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°āĻž āĻšāĻā§āĻā§ (āĻŦā§āĻ¯āĻžāĻ āĻāĻĒ āĻāĻ°āĻž āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§)
# nano /etc/freeradius/clients.conf
client 192.168.188.0/24 {
secret = passwd # ĐŋĐ°ŅĐžĐģŅ Đ´ĐģŅ ĐŋОдĐēĐģŅŅĐĩĐŊиŅ ĐēĐģиĐĩĐŊŅОв
}
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§, āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨:
# touch /etc/freeradius/users
āĻāĻŽāĻ°āĻž āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°āĻŋ, āĻŦā§āĻ¯āĻžāĻ¸āĻžāĻ°ā§āĻ§āĻā§ āĻŦāĻ˛ā§ āĻ¯ā§ āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻžāĻ°ā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦāĨ¤
# nano /etc/freeradius/users
DEFAULT Auth-type := perl
āĻāĻ°āĻĒāĻ°, āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°ā§āĻ¨ /etc/freeradius/modules/perl
# nano /etc/freeradius/modules/perl
āĻāĻŽāĻžāĻĻā§āĻ° āĻŽāĻĄāĻŋāĻāĻ˛ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°ā§ āĻĒāĻžāĻ°ā§āĻ˛ āĻ˛āĻŋāĻ¨ā§āĻāĻĒ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻĒāĻĨāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§:
Perl { .......
.........
<source lang="bash">module = /usr/lib/linotp/radius_linotp.pm
... ..
āĻāĻ° āĻĒāĻ°ā§, āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻŦāĻ˛āĻŋ āĻā§āĻ¨āĻāĻŋ (āĻĄā§āĻŽā§āĻ¨, āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻŦāĻž āĻĢāĻžāĻāĻ˛) āĻĨā§āĻā§ āĻĄā§āĻāĻž āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻŦā§āĨ¤
# touch /etc/linotp2/rlm_perl.ini
# nano /etc/linotp2/rlm_perl.ini
URL=https://IP_ваŅĐĩĐŗĐž_LinOTP_ŅĐĩŅвĐĩŅĐ°(192.168.X.X)/validate/simplecheck
REALM=webusers1c
RESCONF=LocalUser
Debug=True
SSL_CHECK=False
āĻāĻŽāĻŋ āĻāĻāĻžāĻ¨ā§ āĻāĻ°āĻ āĻāĻāĻā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻāĻžāĻ¨āĻžāĻŦ āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ:
āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ¸āĻš āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻŦāĻŋāĻŦāĻ°āĻŖ:
linOTP āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° #IP (āĻāĻŽāĻžāĻĻā§āĻ° LinOTP āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° IP āĻ āĻŋāĻāĻžāĻ¨āĻž)
URL=https://172.17.14.103/validate/simplecheck
#āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ˛āĻžāĻāĻž āĻ¯āĻž āĻāĻŽāĻ°āĻž LinOTP āĻāĻ¯āĻŧā§āĻŦ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦāĨ¤)
REALM=āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ 1
# āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻā§āĻˇā§āĻ ā§āĻ° āĻ¨āĻžāĻŽ āĻ¯ā§āĻāĻŋ LinOTP āĻāĻ¯āĻŧā§āĻŦ āĻŽāĻāĻ˛ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
RESCONF=flat_file
#āĻāĻā§āĻāĻŋāĻ: āĻ¸āĻŦāĻāĻŋāĻā§ āĻ āĻŋāĻāĻ āĻžāĻ āĻāĻžāĻ āĻāĻ°āĻā§ āĻŦāĻ˛ā§ āĻŽāĻ¨ā§ āĻšāĻ˛ā§ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻāĻ°ā§āĻ¨
āĻĄāĻŋāĻŦāĻžāĻ=āĻ¸āĻ¤ā§āĻ¯
#āĻāĻā§āĻāĻŋāĻ: āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻŦ-āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°āĻŋāĻ¤ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ° āĻĨāĻžāĻā§, āĻ
āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻāĻ°ā§āĻ¨ (SSL āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻāĻāĻŋ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ)
SSL_CHECK=āĻŽāĻŋāĻĨā§āĻ¯āĻž
āĻāĻ°āĻĒāĻ°ā§, /etc/freeradius/sites-available/linotp āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
# touch /etc/freeradius/sites-available/linotp
# nano /etc/freeradius/sites-available/linotp
āĻāĻŦāĻ āĻāĻāĻŋāĻ¤ā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°āĻāĻŋ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°ā§āĻ¨ (āĻāĻŋāĻā§ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ):
authorize {
#normalizes maleformed client request before handed on to other modules (see '/etc/freeradius/modules/preprocess')
preprocess
# If you are using multiple kinds of realms, you probably
# want to set "ignore_null = yes" for all of them.
# Otherwise, when the first style of realm doesn't match,
# the other styles won't be checked.
#allows a list of realm (see '/etc/freeradius/modules/realm')
IPASS
#understands something like USER@REALM and can tell the components apart (see '/etc/freeradius/modules/realm')
suffix
#understands USERREALM and can tell the components apart (see '/etc/freeradius/modules/realm')
ntdomain
# Read the 'users' file to learn about special configuration which should be applied for
# certain users (see '/etc/freeradius/modules/files')
files
# allows to let authentification to expire (see '/etc/freeradius/modules/expiration')
expiration
# allows to define valid service-times (see '/etc/freeradius/modules/logintime')
logintime
# We got no radius_shortname_map!
pap
}
#here the linotp perl module is called for further processing
authenticate {
perl
}
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻ¸āĻŋāĻŽ āĻ˛āĻŋāĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦ:
# ln -s ../sites-available/linotp /etc/freeradius/sites-enabled
āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤āĻāĻžāĻŦā§, āĻāĻŽāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻŦā§āĻ¯āĻžāĻ¸āĻžāĻ°ā§āĻ§ āĻ¸āĻžāĻāĻāĻā§āĻ˛āĻŋ āĻŽā§āĻ°ā§ āĻĢā§āĻ˛āĻŋ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻŦāĻž āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ āĻā§āĻˇāĻŽ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
# rm /etc/freeradius/sites-enabled/default
# rm /etc/freeradius/sites-enabled/inner-tunnel
# service freeradius reload
āĻāĻāĻ¨ āĻāĻ¯āĻŧā§āĻŦ āĻĢā§āĻ¸ā§ āĻĢāĻŋāĻ°ā§ āĻāĻ¸āĻž āĻ¯āĻžāĻ āĻāĻŦāĻ āĻāĻāĻā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻāĻžāĻŦā§ āĻĻā§āĻā§āĻ¨:
āĻāĻĒāĻ°ā§āĻ° āĻĄāĻžāĻ¨āĻĻāĻŋāĻā§āĻ° āĻā§āĻŖāĻžāĻ¯āĻŧ LinOTP Config -> UserIdResolvers -> New āĻ āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨
āĻāĻŽāĻ°āĻž āĻ¯āĻž āĻāĻžāĻ āĻ¤āĻž āĻŦā§āĻā§ āĻ¨āĻŋāĻ: LDAP (AD win, LDAP samba), āĻ
āĻĨāĻŦāĻž SQL, āĻ
āĻĨāĻŦāĻž Flatfile āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ°āĻžāĨ¤
āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻŖ āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻ°āĻĒāĻ° āĻāĻŽāĻ°āĻž REALMS āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ:
āĻāĻĒāĻ°ā§āĻ° āĻĄāĻžāĻ¨āĻĻāĻŋāĻā§āĻ° āĻā§āĻŖāĻžāĻ¯āĻŧ, LinOTP Config -> Realms -> New āĻ āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° REALMS-āĻ āĻāĻāĻāĻŋ āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¨ āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻŦā§ āĻ¤ā§āĻ°āĻŋ UserIdResolvers-āĻ āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨āĨ¤
FreeRadius-āĻāĻ° /etc/linotp2/rlm_perl.ini āĻĢāĻžāĻāĻ˛ā§ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨, āĻ¯ā§āĻŽāĻ¨āĻāĻŋ āĻāĻŽāĻŋ āĻāĻĒāĻ°ā§ āĻ˛āĻŋāĻā§āĻāĻŋ, āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ¨āĻž āĻāĻ°ā§ āĻĨāĻžāĻā§āĻ¨ āĻ¤āĻŦā§ āĻāĻāĻ¨āĻ āĻāĻ°ā§āĻ¨āĨ¤
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ¸āĻŦ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ.
āĻ¸āĻŽā§āĻĒā§āĻ°āĻ:
āĻĄā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ 9 āĻ LinOTP āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž āĻšāĻā§āĻā§:
āĻ¸ā§āĻāĻŋāĻ:
# echo 'deb http://linotp.org/apt/debian stretch linotp' > /etc/apt/sources.list.d/linotp.list
# apt-get install dirmngr
# apt-key adv --recv-keys 913DFF12F86258E5
# apt-get update
# apt-get install mysql-server
(āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, āĻĄā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ 9 mysql-āĻ (mariaDB) āĻāĻāĻāĻŋ āĻ°ā§āĻ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¸ā§āĻ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻĻā§āĻ¯āĻŧ āĻ¨āĻž, āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻāĻžāĻ˛āĻŋ āĻ°āĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŦāĻ°āĻāĻŋ āĻĒāĻĄāĻŧā§āĻ¨ āĻ¤āĻŦā§ āĻāĻāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ "āĻŽāĻšāĻžāĻāĻžāĻŦā§āĻ¯ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ°" āĻĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻŋāĻ¤ āĻāĻ°ā§, āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž āĻāĻāĻŋ āĻ¸ā§āĻ āĻāĻ°āĻŦ āĻ¯āĻžāĻ āĻšā§āĻ)
# mysql -u root -p
use mysql;
UPDATE user SET Password = PASSWORD('ŅŅŅ_ĐŋĐ°ŅĐžĐģŅ') WHERE User = 'root';
exit
# apt-get install linotp
# apt-get install linotp-adminclient-cli
# apt-get install python-ldap
# apt install freeradius
# nano /etc/freeradius/3.0/sites-enabled/linotp
āĻā§āĻĄ āĻĒā§āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨ (āĻā§āĻ°āĻŋāĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°ā§āĻ°āĻŋāĻ¤, āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¤āĻžāĻā§ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ!):
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° linotp {
āĻļā§āĻ¨ā§ {
ipaddr = *
āĻĒā§āĻ°ā§āĻ = 1812
type=auth
}
āĻļā§āĻ¨ā§ {
ipaddr = *
āĻĒā§āĻ°ā§āĻ = 1813
type = acct
}
āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻāĻ°āĻž {
āĻĒā§āĻ°ā§āĻŦ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž
āĻšāĻžāĻ˛āĻ¨āĻžāĻāĻžāĻĻ {
&āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ:āĻĒā§āĻ°āĻŽāĻžāĻŖ-āĻĒā§āĻ°āĻāĻžāĻ° := āĻĒāĻžāĻ°ā§āĻ˛
}
}
āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ {
āĻ āĻĨ-āĻāĻžāĻāĻĒ āĻĒāĻžāĻ°ā§āĻ˛ {
Perl
}
}
āĻšāĻŋāĻ¸āĻžāĻŦ {
UNIX
}
}
āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°ā§āĻ¨ /etc/freeradius/3.0/mods-enabled/perl
āĻĒāĻžāĻ°ā§āĻ˛ {
āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¨āĻžāĻŽ = /usr/share/linotp/radius_linotp.pm
func_authenticate = āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ
func_authorize = āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨
}
āĻĻā§āĻ°ā§āĻāĻžāĻā§āĻ¯āĻŦāĻļāĻ¤, āĻĄā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ 9-āĻ radius_linotp.pm āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĨā§āĻā§ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻ¨ā§āĻ, āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž āĻāĻāĻŋ āĻāĻŋāĻĨā§āĻŦ āĻĨā§āĻā§ āĻ¨ā§āĻŦāĨ¤
# apt install git
# git clone https://github.com/LinOTP/linotp-auth-freeradius-perl
# cd linotp-auth-freeradius-perl/
# cp radius_linotp.pm /usr/share/linotp/radius_linotp.pm
āĻāĻāĻ¨ āĻāĻ¸ā§āĻ¨ /etc/freeradius/3.0/clients.conf āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°āĻŋ
āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° {
ipaddr = 192.168.188.0/24
āĻā§āĻĒāĻ¨ = āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ
}
āĻāĻāĻ¨ āĻ¨ā§āĻ¯āĻžāĻ¨ā§ /etc/linotp2/rlm_perl.ini āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°āĻž āĻ¯āĻžāĻ
āĻāĻŽāĻ°āĻž āĻĄā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ 8 āĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻ āĻā§āĻĄ āĻĒā§āĻ¸ā§āĻ āĻāĻ°āĻŋ (āĻāĻĒāĻ°ā§ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤)
āĻ¯ā§ āĻ¸āĻŦ āĻ§āĻžāĻ°āĻŖāĻž āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§. (āĻāĻāĻ¨āĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ)
āĻāĻŽāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻ˛āĻŋāĻā§āĻ āĻ¨ā§āĻā§ āĻ°ā§āĻā§ āĻĻā§āĻŦ āĻ¯āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻĻā§āĻŦāĻŋ-āĻĢā§āĻ¯āĻžāĻā§āĻāĻ° āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸ā§āĻ°āĻā§āĻˇāĻŋāĻ¤ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨:
āĻĻā§āĻŦāĻŋ-āĻĢā§āĻ¯āĻžāĻā§āĻāĻ° āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻ¸āĻŽāĻ¨ā§āĻŦāĻ¯āĻŧ
āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻ
āĻ¨ā§āĻ āĻ¸āĻžāĻāĻā§āĻ° āĻ¸ā§āĻŽāĻŋ āĻā§-āĻĢā§āĻ¯āĻžāĻā§āĻāĻ° āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ (āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻĒā§āĻ°ā§āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯, LinOTP-āĻāĻ° āĻāĻ¨ā§āĻ¯āĻ āĻāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻŦāĻŋāĻļā§āĻˇ āĻŽāĻĄāĻŋāĻāĻ˛ āĻ°āĻ¯āĻŧā§āĻā§
āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻāĻāĻ¨āĻž! Google āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖāĻāĻžāĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ "āĻā§āĻāĻ˛ āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖāĻāĻžāĻ°ā§" āĻŦāĻā§āĻ¸āĻāĻŋ āĻā§āĻ āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻž! āĻ¤āĻāĻ¨ QR āĻā§āĻĄ āĻĒāĻĄāĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž... (āĻ
āĻĻā§āĻā§āĻ¤ āĻāĻāĻ¨āĻž)
āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻ˛āĻŋāĻāĻ¤ā§, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛:
āĻ˛ā§āĻāĻāĻĻā§āĻ° āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ.
āĻāĻ¤ā§āĻ¸: www.habr.com