āĻ†āĻ¨ā§āĻ¤āĻ°ā§āĻœāĻžāĻ¤āĻŋāĻ• āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§‹āĻ—āĻŋāĻ¤āĻž SSH āĻāĻŦāĻ‚ sudo āĻāĻ° āĻŦāĻŋāĻœāĻ¯āĻŧā§€āĻ°āĻž āĻ†āĻŦāĻžāĻ° āĻŽāĻžā§āĻšā§‡āĨ¤ āĻŦāĻŋāĻļāĻŋāĻˇā§āĻŸ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ•āĻ¨ā§āĻĄāĻžāĻ•ā§āĻŸāĻ°ā§‡āĻ° āĻ¨ā§‡āĻ¤ā§ƒāĻ¤ā§āĻŦā§‡

āĻāĻ¤āĻŋāĻšāĻžāĻ¸āĻŋāĻ•āĻ­āĻžāĻŦā§‡, sudo āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ /etc/sudoers.d и visudo, āĻāĻŦāĻ‚ āĻ•ā§€ āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŦāĻžāĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ ~/.ssh/authorized_keys. āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ…āĻŦāĻ•āĻžāĻ āĻžāĻŽā§‹ āĻŦā§ƒāĻĻā§āĻ§āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ āĻ•ā§‡āĻ¨ā§āĻĻā§āĻ°ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻāĻ‡ āĻ…āĻ§āĻŋāĻ•āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻ‡āĻšā§āĻ›āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ†āĻœ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

  • āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻŽā§‡āĻ¨ā§āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ - āĻŽāĻžāĻĨāĻž, āĻĒā§āĻ¤ā§āĻ˛, Ansible, āĻ˛āĻŦāĻŖ
  • āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ + āĻāĻ¸āĻāĻ¸āĻĄāĻŋ
  • āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻāĻŦāĻ‚ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻžāĻ° āĻ†āĻ•āĻžāĻ°ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻŦāĻŋāĻ•ā§ƒāĻ¤āĻŋ

āĻ†āĻŽāĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻ—āĻ¤ āĻŽāĻ¤āĻžāĻŽāĻ¤, āĻ•ā§‡āĻ¨ā§āĻĻā§āĻ°ā§€āĻ­ā§‚āĻ¤ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°ā§āĻŦā§‹āĻ¤ā§āĻ¤āĻŽ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻāĻ–āĻ¨āĻ“ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻŽāĻŋāĻļā§āĻ°āĻŖ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ + āĻāĻ¸āĻāĻ¸āĻĄāĻŋ. āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻ˛:

  • āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻ•ā§‡āĻ¨ā§āĻĻā§āĻ°ā§€āĻ­ā§‚āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĨ¤
  • āĻ…āĻ§āĻŋāĻ•āĻžāĻ° āĻŦāĻŖā§āĻŸāĻ¨ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ—ā§‹āĻˇā§āĻ ā§€āĻ¤ā§‡ āĻāĻ•āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¨ā§‡āĻŽā§‡ āĻ†āĻ¸ā§‡āĨ¤
  • āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ“āĻāĻ¸ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻšā§‡āĻ• āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤

āĻ†āĻœāĻ•ā§‡āĻ° āĻ¸ā§āĻ¯ā§āĻŸāĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇāĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ—ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰ā§ŽāĻ¸āĻ°ā§āĻ— āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ + āĻāĻ¸āĻāĻ¸āĻĄāĻŋ āĻ…āĻ§āĻŋāĻ•āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ SSH āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡ āĻ•ā§€āĨ¤
āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻšāĻ˛āĻŸāĻŋ āĻ‰āĻ¤ā§āĻ¤ā§‡āĻœāĻ¨āĻžāĻĒā§‚āĻ°ā§āĻŖ āĻ¨ā§€āĻ°āĻŦāĻ¤āĻžāĻ¯āĻŧ āĻ¨āĻŋāĻĨāĻ° āĻšāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ˛, āĻ•āĻ¨ā§āĻĄāĻžāĻ•ā§āĻŸāĻ° āĻ¤āĻžāĻ° āĻ˛āĻžāĻ āĻŋ āĻ¤ā§āĻ˛āĻ˛, āĻāĻŦāĻ‚ āĻ…āĻ°ā§āĻ•ā§‡āĻ¸ā§āĻŸā§āĻ°āĻž āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻšāĻ˛āĨ¤
āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž.

āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ˛ā§‡
- āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĄā§‹āĻŽā§‡āĻ¨ testopf.local āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° 2012 R2 āĻāĨ¤
- āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻšā§‹āĻ¸ā§āĻŸ āĻ¸ā§‡āĻ¨ā§āĻŸā§‹āĻ¸ 7 āĻšāĻžāĻ˛āĻžāĻšā§āĻ›ā§‡
- āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻ¸āĻāĻ¸āĻĄāĻŋ
āĻ‰āĻ­āĻ¯āĻŧ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ•āĻžāĻœā§‡āĻ° āĻĒāĻ°āĻŋāĻ•āĻžāĻ āĻžāĻŽā§‹āĻ¤ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻŽāĻŋ āĻ¨ā§‹āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻĒāĻ•ā§āĻˇā§‡, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻāĻŦāĻ‚ āĻļā§āĻ°ā§‡āĻŖā§€āĻ—ā§āĻ˛āĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ā§ˇ

āĻ…ā§āĻ¯āĻžāĻ•āĻļāĻ¨ 1: āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ­ā§‚āĻŽāĻŋāĻ•āĻž āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ.

āĻ¸āĻžāĻ°ā§āĻ•āĻŋāĻŸ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ°āĻŋāĻ˛āĻŋāĻœ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ — 1.8.27 āĻ†āĻœ āĻĨā§‡āĻ•ā§‡āĨ¤ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ†āĻ¨āĻĒā§āĻ¯āĻžāĻ• āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°ā§āĻ¨ schema.ActiveDirectory ./doc āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻĄā§‹āĻŽā§‡āĻ¨ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°ā§‡āĨ¤ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¸ā§‡āĻ‡ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻļāĻžāĻ¸āĻ•ā§‡āĻ° āĻ…āĻ§āĻŋāĻ•āĻžāĻ° āĻ¸āĻš āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻĨā§‡āĻ•ā§‡, āĻšāĻžāĻ˛āĻžāĻ¨:
ldifde -i -f schema.ActiveDirectory -c dc=X dc=testopf,dc=local
(āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ­ā§āĻ˛āĻŦā§‡āĻ¨ āĻ¨āĻž)
āĻ–ā§āĻ˛āĻ¤ā§‡ adsiedit.msc āĻāĻŦāĻ‚ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—ā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨:
āĻĄā§‹āĻŽā§‡āĻ¨ā§‡āĻ° āĻŽā§‚āĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻ— āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ sudoers. (āĻŦā§āĻ°ā§āĻœā§‹āĻ¯āĻŧāĻžāĻ°āĻž āĻāĻ•āĻ—ā§āĻāĻ¯āĻŧā§‡āĻ­āĻžāĻŦā§‡ āĻĻāĻžāĻŦāĻŋ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻāĻ‡ āĻ‡āĻ‰āĻ¨āĻŋāĻŸā§‡āĻ‡ āĻ°āĻžāĻ•ā§āĻˇāĻ¸ āĻāĻ¸āĻāĻ¸āĻĄāĻŋ āĻāĻ•āĻŸāĻŋ āĻ†āĻ‡āĻŸā§‡āĻŽ āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ sudoRole āĻŦāĻ¸ā§āĻ¤ā§ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ˛āĻ—āĻ—ā§āĻ˛āĻŋ āĻ…āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¯ā§‡ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨āĻŸāĻŋ āĻĒā§āĻ°ā§‹ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ—āĻžāĻ› āĻœā§āĻĄāĻŧā§‡ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤)
āĻ†āĻŽāĻ°āĻž āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ—āĻ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ sudoRole. āĻ¨āĻžāĻŽāĻŸāĻŋ āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻšāĻžāĻ°ā§‡ āĻŦā§‡āĻ›ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ• āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤
āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡, āĻĒā§āĻ°āĻ§āĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋ āĻšāĻ˛:

  • sudoCommand — āĻšā§‹āĻ¸ā§āĻŸā§‡ āĻ•ā§‹āĻ¨ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻŦā§‡ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤
  • sudoHost — āĻāĻ‡ āĻ­ā§‚āĻŽāĻŋāĻ•āĻž āĻ•ā§‹āĻ¨ āĻšā§‹āĻ¸ā§āĻŸā§‡ āĻĒā§āĻ°āĻ¯ā§‹āĻœā§āĻ¯ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¸āĻŦ, āĻāĻŦāĻ‚ āĻ¨āĻžāĻŽā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° āĻšā§‹āĻ¸ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻŽāĻžāĻ¸ā§āĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ“ āĻ¸āĻŽā§āĻ­āĻŦāĨ¤
  • sudo āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ — āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§āĻ¨ āĻ•ā§‹āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻ†āĻ›ā§‡ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§.
    āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ—ā§āĻ°ā§āĻĒ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§‡āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¨āĻžāĻŽā§‡āĻ° āĻļā§āĻ°ā§āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ "%" āĻšāĻŋāĻšā§āĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ—ā§āĻ°ā§āĻĒā§‡āĻ° āĻ¨āĻžāĻŽā§‡ āĻ¸ā§āĻĒā§‡āĻ¸ āĻĨāĻžāĻ•āĻ˛ā§‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻžāĻ° āĻ•āĻŋāĻ›ā§ āĻ¨ā§‡āĻ‡āĨ¤ āĻ˛āĻ— āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻŋāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ¸ā§āĻĒā§‡āĻ¸ āĻĒāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ•āĻžāĻœāĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻāĻ¸āĻāĻ¸āĻĄāĻŋ.

āĻ†āĻ¨ā§āĻ¤āĻ°ā§āĻœāĻžāĻ¤āĻŋāĻ• āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§‹āĻ—āĻŋāĻ¤āĻž SSH āĻāĻŦāĻ‚ sudo āĻāĻ° āĻŦāĻŋāĻœāĻ¯āĻŧā§€āĻ°āĻž āĻ†āĻŦāĻžāĻ° āĻŽāĻžā§āĻšā§‡āĨ¤ āĻŦāĻŋāĻļāĻŋāĻˇā§āĻŸ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ•āĻ¨ā§āĻĄāĻžāĻ•ā§āĻŸāĻ°ā§‡āĻ° āĻ¨ā§‡āĻ¤ā§ƒāĻ¤ā§āĻŦā§‡
āĻšāĻŋāĻ¤ā§āĻ° 1. āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻ°ā§āĻŸā§‡ sudoers āĻ¸āĻžāĻŦāĻĄāĻŋāĻ­āĻŋāĻļāĻ¨ā§‡ sudoRole āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ

āĻ†āĻ¨ā§āĻ¤āĻ°ā§āĻœāĻžāĻ¤āĻŋāĻ• āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§‹āĻ—āĻŋāĻ¤āĻž SSH āĻāĻŦāĻ‚ sudo āĻāĻ° āĻŦāĻŋāĻœāĻ¯āĻŧā§€āĻ°āĻž āĻ†āĻŦāĻžāĻ° āĻŽāĻžā§āĻšā§‡āĨ¤ āĻŦāĻŋāĻļāĻŋāĻˇā§āĻŸ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ•āĻ¨ā§āĻĄāĻžāĻ•ā§āĻŸāĻ°ā§‡āĻ° āĻ¨ā§‡āĻ¤ā§ƒāĻ¤ā§āĻŦā§‡
āĻšāĻŋāĻ¤ā§āĻ° 2. sudoRole āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ—ā§‹āĻˇā§āĻ ā§€āĻ° āĻ¸āĻĻāĻ¸ā§āĻ¯āĻĒāĻĻāĨ¤

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸ā§‡āĻŸāĻ†āĻĒāĻŸāĻŋ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻĒāĻžāĻļā§‡ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
āĻĢāĻžāĻ‡āĻ˛ā§‡ /etc/nsswitch.conf āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻļā§‡āĻˇā§‡ āĻ˛āĻžāĻ‡āĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨:

sudoers: files sss

āĻĢāĻžāĻ‡āĻ˛ā§‡ /etc/sssd/sssd.conf āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ [āĻāĻ¸āĻāĻ¸āĻāĻ¸āĻĄāĻŋ] āĻ¸ā§‡āĻŦāĻž āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§

cat /etc/sssd/sssd.conf | grep services
services = nss, pam, sudo

āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻĒāĻ°ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ sssd āĻĄā§‡āĻŽāĻ¨ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ¸āĻžāĻĢ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ†āĻĒāĻĄā§‡āĻŸ āĻĒā§āĻ°āĻ¤āĻŋ 6 āĻ˜āĻ¨ā§āĻŸāĻž āĻšāĻ¯āĻŧ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻ¨ āĻāĻŸāĻŋ āĻšāĻžāĻ‡ āĻ¤āĻ–āĻ¨ āĻ•ā§‡āĻ¨ āĻ†āĻŽāĻ°āĻž āĻāĻ¤ āĻĻā§€āĻ°ā§āĻ˜ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŦ?

sss_cache -E

āĻāĻŸāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ‡ āĻ˜āĻŸā§‡ āĻ¯ā§‡ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ¸āĻžāĻĢ āĻ•āĻ°āĻž āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻŋ, āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻļā§āĻ°ā§ āĻ•āĻ°āĻŋāĨ¤

service sssd stop
rm -rf /var/lib/sss/db/*
service sssd start

āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ sudo āĻāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ¤āĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻ•ā§€ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŋ:

su user1
[user1@testsshad log]$ id
uid=1109801141(user1) gid=1109800513(domain users) groups=1109800513(domain users),1109801132(admins_)
[user1@testsshad log]$ sudo -l
[sudo] password for user1:
Matching Defaults entries for user1 on testsshad:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin,
    env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS",
    env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
    env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
    env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
    env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin:/bin:/usr/sbin:/usr/bin

User user1 may run the following commands on testsshad:
    (root) /usr/bin/ls, /usr/bin/cat

āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŋ:

su user2
[user2@testsshad log]$ id
uid=1109801142(user2) gid=1109800513(domain users) groups=1109800513(domain users),1109801138(sudo_root)
[user2@testsshad log]$ sudo -l
Matching Defaults entries for user2 on testsshad:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin,
    env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS",
    env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
    env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
    env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
    env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin:/bin:/usr/sbin:/usr/bin

User user2 may run the following commands on testsshad:
    (root) ALL

āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ—ā§‹āĻˇā§āĻ ā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻĄā§‹ āĻ­ā§‚āĻŽāĻŋāĻ•āĻž āĻ•ā§‡āĻ¨ā§āĻĻā§āĻ°ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ ssh āĻ•ā§€āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž

āĻ¸ā§āĻ•āĻŋāĻŽā§‡āĻ° āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŖā§‡āĻ° āĻ¸āĻžāĻĨā§‡, āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ ssh āĻ•ā§€āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ Linux āĻšā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦāĨ¤

sssd āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ•āĨ¤
āĻāĻ•āĻŸāĻŋ PowerShell āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤
AddsshPublicKeyAttribute.ps1āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¨āĻ¤ā§āĻ¨-āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸāĻ†āĻ‡āĻĄāĻŋ {
$Prefix="1.2.840.113556.1.8000.2554"
$GUID=[System.Guid]::NewGuid().ToString()
$Parts=@()
$Parts+=[UInt64]::āĻĒāĻžāĻ°ā§āĻ¸($guid.SubString(0,4),"AllowHexSpecifier")
$Parts+=[UInt64]::āĻĒāĻžāĻ°ā§āĻ¸($guid.SubString(4,4),"AllowHexSpecifier")
$Parts+=[UInt64]::āĻĒāĻžāĻ°ā§āĻ¸($guid.SubString(9,4),"AllowHexSpecifier")
$Parts+=[UInt64]::āĻĒāĻžāĻ°ā§āĻ¸($guid.SubString(14,4),"AllowHexSpecifier")
$Parts+=[UInt64]::āĻĒāĻžāĻ°ā§āĻ¸($guid.SubString(19,4),"AllowHexSpecifier")
$Parts+=[UInt64]::āĻĒāĻžāĻ°ā§āĻ¸($guid.SubString(24,6),"AllowHexSpecifier")
$Parts+=[UInt64]::āĻĒāĻžāĻ°ā§āĻ¸($guid.SubString(30,6),"AllowHexSpecifier")
$oid=[String]::Format(ÂĢ{0}.{1}.{2}.{3}.{4}.{5}.{6}.{7}Âģ,$prefix,$Parts[0],
$Parts[1],$Parts[2],$Parts[3],$Parts[4],$Parts[5],$Parts[6])
$oid
}
$schemaPath = (Get-ADRootDSE).schemaNamingContext
$oid = āĻ¨āĻ¤ā§āĻ¨-āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ†āĻ‡āĻĄāĻŋ
$attributes = @{
lDAPDisplayName = 'sshPublicKey';
attributeId = $oid;
oMSyntax = 22;
attributeSyntax = "2.5.5.5";
isSingleValued = $true;
adminDescription = 'SSH āĻ˛āĻ—āĻ‡āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‡āĻ‰āĻœāĻžāĻ° āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻ•ā§€';
}

āĻ¨āĻ¤ā§āĻ¨-ADObject -āĻ¨āĻžāĻŽ sshPublicKey -Type attributeSchema -Path $schemapath -OtherAttributes $attributes
$userSchema = get-adobject -SearchBase $schemapath -Filter 'name -eq "user"'
$userSchema | āĻ¸ā§‡āĻŸ-ADObject -āĻ…ā§āĻ¯āĻžāĻĄ @{mayContain = 'sshPublicKey'}

āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĄā§‹āĻŽā§‡āĻ¨ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤
āĻšāĻ˛ā§āĻ¨ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻāĻ—āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ• āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ ssh āĻ¸āĻ‚āĻ¯ā§‹āĻ—ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ•ā§€ āĻœā§‹āĻĄāĻŧāĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦāĨ¤
āĻ†āĻŽāĻ°āĻž āĻĒā§āĻŸāĻŋāĻœā§‡āĻ¨ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻŋ, "āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸ" āĻŦā§‹āĻ¤āĻžāĻŽ āĻŸāĻŋāĻĒā§āĻ¨ āĻāĻŦāĻ‚ āĻ–āĻžāĻ˛āĻŋ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŽāĻžāĻ‰āĻ¸āĻŸāĻŋāĻ•ā§‡ āĻ‰āĻ¨ā§āĻŽāĻ¤ā§āĻ¤āĻ­āĻžāĻŦā§‡ āĻ¸āĻ°āĻžāĻ¨āĨ¤
āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ•ā§€āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ, āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡ āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻ•ā§€ āĻ†āĻĒāĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻ‰āĻĒāĻ­ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻ•ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ "OpenSSH authorized_keys āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ†āĻŸāĻ•āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻ•ā§€:"āĨ¤
āĻ†āĻ¨ā§āĻ¤āĻ°ā§āĻœāĻžāĻ¤āĻŋāĻ• āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§‹āĻ—āĻŋāĻ¤āĻž SSH āĻāĻŦāĻ‚ sudo āĻāĻ° āĻŦāĻŋāĻœāĻ¯āĻŧā§€āĻ°āĻž āĻ†āĻŦāĻžāĻ° āĻŽāĻžā§āĻšā§‡āĨ¤ āĻŦāĻŋāĻļāĻŋāĻˇā§āĻŸ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ•āĻ¨ā§āĻĄāĻžāĻ•ā§āĻŸāĻ°ā§‡āĻ° āĻ¨ā§‡āĻ¤ā§ƒāĻ¤ā§āĻŦā§‡
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡ āĻ•ā§€ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤
āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ 1 - GUI:
āĻ†āĻ¨ā§āĻ¤āĻ°ā§āĻœāĻžāĻ¤āĻŋāĻ• āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§‹āĻ—āĻŋāĻ¤āĻž SSH āĻāĻŦāĻ‚ sudo āĻāĻ° āĻŦāĻŋāĻœāĻ¯āĻŧā§€āĻ°āĻž āĻ†āĻŦāĻžāĻ° āĻŽāĻžā§āĻšā§‡āĨ¤ āĻŦāĻŋāĻļāĻŋāĻˇā§āĻŸ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ•āĻ¨ā§āĻĄāĻžāĻ•ā§āĻŸāĻ°ā§‡āĻ° āĻ¨ā§‡āĻ¤ā§ƒāĻ¤ā§āĻŦā§‡
āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ 2 - āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ°āĻļā§‡āĻ˛:
get-aduser user1 | set-aduser -add @{sshPublicKey = 'AAAAB...XAVnX9ZRJJ0p/Q=='}
āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡: sshPublicKey āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸āĻš āĻāĻ•āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€, āĻ•ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻĒā§āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĨ¤ āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ°āĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡: āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻ•ā§€ āĻŦā§‡āĻ° āĻ•āĻ°āĻ¤ā§‡ sshd āĻĄā§‡āĻŽāĻ¨āĻ•ā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŦāĻžāĻ§ā§āĻ¯ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻŦā§āĻ°ā§āĻœā§‹āĻ¯āĻŧāĻž āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻŽā§‹āĻ•āĻžāĻŦā§‡āĻ˛āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

cat /usr/local/bin/fetchSSHKeysFromLDAP
#!/bin/sh
ldapsearch -h testmdt.testopf.local -xb "dc=testopf,dc=local" '(sAMAccountName='"${1%@*}"')' -D [email protected] -w superSecretPassword 'sshPublicKey' | sed -n '/^ /{H;d};/sshPublicKey:/x;$g;s/n *//g;s/sshPublicKey: //gp'

āĻ†āĻŽāĻ°āĻž āĻ°ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ 0500 āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤

chmod 0500  /usr/local/bin/fetchSSHKeysFromLDAP

āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻļāĻžāĻ¸āĻ• āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ†āĻŦāĻĻā§āĻ§ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¯ā§āĻĻā§āĻ§ā§‡āĻ° āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻ…āĻ§āĻŋāĻ•āĻžāĻ°ā§‡āĻ° āĻ¸ā§‡āĻŸ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤
āĻ…āĻ§āĻŋāĻ•āĻžāĻ° āĻ¸ā§‡āĻŸ āĻĨāĻžāĻ•āĻž āĻ¸āĻ¤ā§āĻ¤ā§āĻŦā§‡āĻ“ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ āĻŦāĻŋāĻļā§āĻĻā§āĻ§ āĻ†āĻ•āĻžāĻ°ā§‡ āĻĒāĻžāĻ¸āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄā§‡āĻ° āĻŽā§āĻšā§‚āĻ°ā§āĻ¤āĻŸāĻŋ āĻĻā§‡āĻ–ā§‡ āĻ†āĻŽāĻŋ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻ–ā§āĻŦ āĻŦāĻŋāĻ­ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻ›āĻŋāĻ˛āĻžāĻŽāĨ¤
āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ:

  • āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻĒāĻžāĻ¸āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻŋ:
    echo -n Supersecretpassword > /usr/local/etc/secretpass

  • āĻ†āĻŽāĻŋ āĻ°ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ 0500 āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡āĻ›āĻŋ
    chmod 0500 /usr/local/etc/secretpass

  • ldapsearch āĻ˛āĻžā§āĻš āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡: āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° -w superSecretPassword āĻ†āĻŽāĻŋ āĻāĻŸāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ -y/usr/local/etc/secretpass

āĻ†āĻœāĻ•ā§‡āĻ° āĻ¸ā§āĻ¯ā§āĻŸā§‡āĻ° āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻœā§āĻ¯āĻž āĻšāĻ˛ sshd_config āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°āĻž

cat /etc/ssh/sshd_config | egrep -v -E "#|^$" | grep -E "AuthorizedKeysCommand|PubkeyAuthe"
PubkeyAuthentication yes
AuthorizedKeysCommand /usr/local/bin/fetchSSHKeysFromLDAP
AuthorizedKeysCommandUser root

āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻ°āĻž ssh āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻ•ā§€ āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻ¨ āĻ¸āĻš āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•ā§āĻ°āĻŽāĻŸāĻŋ āĻĒāĻžāĻ‡:

  1. āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¤āĻžāĻ° āĻ˛āĻ—āĻ‡āĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡āĨ¤
  2. sshd āĻĄā§‡āĻŽāĻ¨, āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡, āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻ•ā§€ āĻŽāĻžāĻ¨ āĻŦā§‡āĻ° āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ•ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻ¨ āĻ•āĻ°ā§‡āĨ¤
  3. sssd āĻĄā§‡āĻŽāĻ¨ āĻ—ā§āĻ°ā§āĻĒ āĻ¸āĻĻāĻ¸ā§āĻ¯āĻ¤āĻžāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻĒā§āĻ°āĻŽāĻžāĻŖā§€āĻ•āĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻŽāĻ¨ā§‹āĻ¯ā§‹āĻ—! āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻ¨āĻž āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻĄā§‹āĻŽā§‡āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻšā§‹āĻ¸ā§āĻŸā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĨ¤
  4. āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ sudo āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ¨, sssd āĻĄā§‡āĻŽāĻ¨ āĻ­ā§‚āĻŽāĻŋāĻ•āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ­ā§‚āĻŽāĻŋāĻ•āĻž āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻ•āĻ˛ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ—ā§āĻŖāĻžāĻŦāĻ˛ā§€ āĻāĻŦāĻ‚ āĻ—ā§‹āĻˇā§āĻ ā§€ āĻ¸āĻĻāĻ¸ā§āĻ¯āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ (āĻ¯āĻĻāĻŋ sudoRoles āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ—ā§‹āĻˇā§āĻ ā§€āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ)

āĻĢāĻ˛āĻžāĻĢāĻ˛āĨ¤

āĻāĻ‡āĻ­āĻžāĻŦā§‡, āĻ•ā§€āĻ—ā§āĻ˛āĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻŸāĻŋāĻ­ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯, āĻ¸ā§āĻĄā§‹ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ - āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡, āĻĄā§‹āĻŽā§‡āĻ¨ āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻšā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻŸāĻŋāĻ­ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ—ā§āĻ°ā§āĻĒā§‡ āĻ¸āĻĻāĻ¸ā§āĻ¯āĻ¤āĻž āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°ā§‡ āĻŦāĻžāĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻ•āĻ¨ā§āĻĄāĻžāĻ•ā§āĻŸāĻ°ā§‡āĻ° āĻ˛āĻžāĻ āĻŋāĻ° āĻļā§‡āĻˇ āĻĸā§‡āĻ‰ - āĻāĻŦāĻ‚ āĻšāĻ˛ āĻļā§āĻ°āĻĻā§āĻ§āĻžāĻ° āĻ¨ā§€āĻ°āĻŦāĻ¤āĻžāĻ¯āĻŧ āĻœāĻŽā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ¸āĻŽā§āĻĒāĻĻ:

āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸ā§āĻĄā§‹
āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ Ssh āĻ•ā§€
āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ°āĻļā§‡āĻ˛ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ, āĻ…ā§āĻ¯āĻžāĻ•ā§āĻŸāĻŋāĻ­ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¸ā§āĻ•āĻŋāĻŽāĻžāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡
sudo āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§€āĻ˛ āĻŽā§āĻ•ā§āĻ¤āĻŋ

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨