{"id":68057,"date":"2024-07-04T01:12:04","date_gmt":"2024-07-03T21:42:04","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/automated-user-management-script-for-linux-systems-2olo\/"},"modified":"2024-07-04T01:12:04","modified_gmt":"2024-07-03T21:42:04","slug":"automated-user-management-script-for-linux-systems-2olo","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/automated-user-management-script-for-linux-systems-2olo\/","title":{"rendered":"\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0645\u062f\u06cc\u0631\u06cc\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u06a9\u0627\u0631\u0628\u0631 \u0628\u0631\u0627\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0647\u0627\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633"},"content":{"rendered":"<div data-article-id=\"1910830\" id=\"article-body\">\n<p>\u0627\u0645\u0631\u0648\u0632\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0635\u062d\u06cc\u062d \u062d\u0633\u0627\u0628 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u06cc \u0628\u0631\u0627\u06cc \u0645\u062a\u062e\u0635\u0635\u0627\u0646 DevOps \u06a9\u0647 \u062f\u0631 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u067e\u0648\u06cc\u0627 IT \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u0646\u062f \u0628\u0633\u06cc\u0627\u0631 \u0645\u0647\u0645 \u0627\u0633\u062a. <br \/>\u0645\u0632\u06cc\u062a \u0627\u0631\u0627\u0626\u0647 \u06a9\u0627\u0631\u0628\u0631 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0627\u0639\u062b \u0635\u0631\u0641\u0647 \u062c\u0648\u06cc\u06cc \u062f\u0631 \u0632\u0645\u0627\u0646\u060c \u062a\u0636\u0645\u06cc\u0646 \u062b\u0628\u0627\u062a\u060c \u0627\u0645\u0646\u06cc\u062a \u062f\u0631 \u0633\u0631\u0627\u0633\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0647\u0627 \u0648 \u0628\u0647\u0628\u0648\u062f \u06a9\u0627\u0631\u0627\u06cc\u06cc \u0645\u06cc \u0634\u0648\u062f \u0632\u06cc\u0631\u0627 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0641\u0631\u0622\u06cc\u0646\u062f\u0647\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u062e\u0648\u062f\u06a9\u0627\u0631 \u0634\u0648\u0646\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u062f\u0631 \u0645\u0648\u0631\u062f \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a bash \u0648 \u0646\u062d\u0648\u0647 \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a bash \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u062d\u0633\u0627\u0628 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u062f\u0631 \u0633\u0631\u0648\u0631\u0647\u0627\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u0648\u062f\u060c \u0635\u062d\u0628\u062a \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0645\u0627 \u06cc\u06a9 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0645\u06cc \u0646\u0648\u06cc\u0633\u06cc\u0645 \u06a9\u0647 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0645\u062a\u0646\u06cc \u062d\u0627\u0648\u06cc \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648 \u0646\u0627\u0645 \u06af\u0631\u0648\u0647 \u06a9\u0627\u0631\u0645\u0646\u062f \u0631\u0627 \u0645\u06cc \u062e\u0648\u0627\u0646\u062f\u060c \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u0647\u0631 \u062e\u0637 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 &#8220;user;groups&#8221; \u0642\u0627\u0644\u0628 \u0628\u0646\u062f\u06cc \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>\u0627\u06cc\u0646 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0648 \u06af\u0631\u0648\u0647\u200c\u0647\u0627\u06cc\u06cc \u0631\u0627 \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u0645\u0634\u062e\u0635 \u0634\u062f\u0647 \u0627\u0633\u062a \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc\u200c\u0647\u0627\u06cc \u062e\u0627\u0646\u06af\u06cc \u0631\u0627 \u0628\u0627 \u0645\u062c\u0648\u0632\u0647\u0627 \u0648 \u0645\u0627\u0644\u06a9\u06cc\u062a \u0645\u0646\u0627\u0633\u0628 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0631\u0645\u0632\u0647\u0627\u06cc \u0639\u0628\u0648\u0631 \u062a\u0635\u0627\u062f\u0641\u06cc \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0647\u0645\u0647 \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u0631\u0627 \u062b\u0628\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f. <em>var\/log\/user_management.log<\/em><\/p>\n<p>\u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646\u060c \u0631\u0645\u0632\u0647\u0627\u06cc \u0639\u0628\u0648\u0631 \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0627\u06cc\u0645\u0646 \u062f\u0631 \u0622\u0646 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f <em>\/var\/secure\/user_passwords.txt<\/em>.<br \/>\u0645\u0627 \u0627\u0632 \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u062e\u0637\u0627 \u0628\u0631\u0627\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0645\u0648\u062c\u0648\u062f \u062a\u0648\u0633\u0637 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f.<\/p>\n<ul>\n<li>\n<p>\u0647\u0631 \u06a9\u0627\u0631\u0628\u0631 \u06cc\u06a9 \u06af\u0631\u0648\u0647 \u0634\u062e\u0635\u06cc \u0628\u0627 \u0646\u0627\u0645 \u06af\u0631\u0648\u0647 \u0645\u0634\u0627\u0628\u0647 \u0628\u0627 \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u062e\u0648\u0627\u0647\u062f \u062f\u0627\u0634\u062a\u060c \u0627\u06cc\u0646 \u0646\u0627\u0645 \u06af\u0631\u0648\u0647 \u062f\u0631 \u0641\u0627\u06cc\u0644 \u0645\u062a\u0646\u06cc \u0646\u0648\u0634\u062a\u0647 \u0646\u062e\u0648\u0627\u0647\u062f \u0634\u062f.<\/p>\n<\/li>\n<li>\n<p>\u06cc\u06a9 \u06a9\u0627\u0631\u0628\u0631 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0686\u0646\u062f\u06cc\u0646 \u06af\u0631\u0648\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f \u06a9\u0647 \u0647\u0631 \u06af\u0631\u0648\u0647 \u0628\u0627 \u06a9\u0627\u0645\u0627 &#8220;,&#8221;<\/p>\n<\/li>\n<li>\n<p>\u0646\u0627\u0645 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648 \u06af\u0631\u0648\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u06cc \u0628\u0627 \u0646\u0642\u0637\u0647 \u0648\u06cc\u0631\u06af\u0648\u0644 &#8220;;&#8221; \u0627\u0632 \u0647\u0645 \u062c\u062f\u0627 \u0645\u06cc \u0634\u0648\u0646\u062f.<br \/>\u0645\u062b\u0644\u0627\u061b<\/p>\n<\/li>\n<\/ul>\n<ol>\n<li>\u0633\u0628\u06a9\u061b  sudo,dev,www-data<\/li>\n<li>\u0627\u06cc\u062f\u06cc\u0645\u0627;  \u0645\u0646 \u0639\u0631\u0642 \u0645\u06cc \u06a9\u0646\u0645<\/li>\n<li>\u0645\u0627\u06cc\u0648\u0648\u0627  \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u0647\u060c www-data<\/li>\n<\/ol>\n<p>\u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0646\u0648\u0631 \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0627\u0633\u062a \u0648 \u06af\u0631\u0648\u0647\u200c\u0647\u0627 sudo\u060c dev\u060c www-data \u0647\u0633\u062a\u0646\u062f<br \/>\u0627\u0648\u0644\u0627\u060c<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>#!\/bin\/bash\n# Check if script is run as root\nif [ \"$EUID\" -ne 0 ]; then\n  echo \"Please run as root\"\n  exit 1\nfi\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>#!\/bin\/bash \u0646\u0645\u0627\u062f shebang \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u0645\u06cc \u06af\u0648\u06cc\u062f \u0627\u0632 \u06a9\u062f\u0627\u0645 \u0645\u062a\u0631\u062c\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u062f \u0648 \u062f\u0631 \u0645\u0648\u0631\u062f \u0645\u0627 \u0627\u0632 \u067e\u0648\u0633\u062a\u0647 bash \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u062f \u06a9\u0631\u062f.<\/p>\n<p>\u0627\u06af\u0631 [ &#8220;$EUID&#8221; -ne 0 ];  \u0628\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 \u00ab\u0631\u06cc\u0634\u0647\u00bb \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0632\u06cc\u0631\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0645\u0627 \u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u06a9\u0627\u0631\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0647 \u0627\u0645\u062a\u06cc\u0627\u0632\u0627\u062a \u0641\u0648\u0642\u200c\u0627\u0644\u0639\u0627\u062f\u0647 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u0646\u062f \u062f\u0633\u062a\u0631\u0633\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a\u06cc \u062f\u0627\u0631\u06cc\u0645 \u06a9\u0647 \u0645\u0642\u062f\u0627\u0631 ID \u0628\u0647 \u0635\u0641\u0631 (\u06f0) \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<br \/>EUID \u0628\u0647 \u0645\u0639\u0646\u0627\u06cc \u0634\u0646\u0627\u0633\u0647 \u06a9\u0627\u0631\u0628\u0631 \u0645\u0624\u062b\u0631 \u0648 -ne \u0627\u0633\u062a (\u0645\u0642\u0627\u06cc\u0633\u0647 \u0639\u062f\u062f\u06cc \u06a9\u0647 \u0628\u0647 \u0645\u0639\u0646\u0627\u06cc \u0628\u0631\u0627\u0628\u0631 \u0646\u06cc\u0633\u062a)<\/p>\n<p>\u0628\u0639\u062f\u061b<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code># Check if the input file is provided\nif [ -z \"$1\" ]; then\n  echo \"Usage: bash create_users.sh <name-of-text-file>\"\n  exit 1\nfi\n<\/name-of-text-file><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u06cc\u06a9 \u0622\u0631\u06af\u0648\u0645\u0627\u0646 \u0645\u0648\u0642\u0639\u06cc\u062a\u06cc \u0628\u0647 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u0634\u0648\u062f \u0648 \u062f\u0631 \u0635\u0648\u0631\u062a \u0639\u062f\u0645 \u062a\u0635\u0648\u06cc\u0628\u060c \u0627\u0632 (1) \u062e\u0627\u0631\u062c \u0645\u06cc \u0634\u0648\u062f \u0648 \u067e\u06cc\u0627\u0645 \u0631\u0627 \u062a\u06a9\u0631\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f.  <strong>&#8220;\u0627\u0633\u062a\u0641\u0627\u062f\u0647: bash create_user.sh&#8221;<\/strong>\u060c \u0628\u0631\u0627\u06cc \u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 \u06a9\u0627\u0631\u0628\u0631 \u0628\u0631\u0627\u06cc \u0639\u0628\u0648\u0631 \u0622\u0631\u06af\u0648\u0645\u0627\u0646 \u0645\u0646\u0627\u0633\u0628. <\/p>\n<p><em>-z \u06cc\u06a9 \u0645\u0642\u062f\u0627\u0631 \u0631\u0634\u062a\u0647 \u0627\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0637\u0648\u0644 \u0645\u0642\u062f\u0627\u0631 \u0635\u0641\u0631 \u0627\u0633\u062a<\/em> \u0648 <em>&#8220;$1&#8221; \u0627\u0648\u0644\u06cc\u0646 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 \u0628\u0639\u062f \u0627\u0632 \u0646\u0627\u0645 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f ($0)<\/em> \u06a9\u0647 \u0646\u0627\u0645 \u0645\u062a\u063a\u06cc\u0631 INPUT_FILE \u0628\u0647 \u0622\u0646 \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.  \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u0627\u0648\u0644\u06cc\u0646 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 \u0645\u0648\u0642\u0639\u06cc\u062a\u06cc \u062e\u0627\u0644\u06cc \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631.<\/p>\n<p>\u0628\u0639\u062f\u061b<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>INPUT_FILE=\"$1\"\nLOG_FILE=\"\/var\/log\/user_management.log\"\nPASSWORD_FILE=\"\/var\/secure\/user_passwords.txt\"\n\n# Ensure log and password files exist and have the correct permissions\ntouch $LOG_FILE\nchmod 644 $LOG_FILE\n\nmkdir -p \/var\/secure\ntouch $PASSWORD_FILE\nchmod 600 $PASSWORD_FILE\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0645\u0627 \u06cc\u06a9 directory_ \/var\/secure \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u06cc\u0645 <em>\u0648 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 _user_password.txt \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/em> \u062f\u0631 \u0622\u0646 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u0645 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u06a9\u0627\u0631\u0628\u0631 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0634\u06cc \u0627\u0645\u0646 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0645\u062c\u0648\u0632 &#8220;600&#8221; \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u0645\u060c \u0627\u062c\u0627\u0632\u0647 \u062e\u0648\u0627\u0646\u062f\u0646 (rw) \u0631\u0627 \u0641\u0642\u0637 \u0628\u0647 \u0645\u0627\u0644\u06a9 \u0627\u0639\u0637\u0627 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u0648 \u0641\u0627\u06cc\u0644 management.log \u0631\u0627 \u062f\u0631 \u0641\u0647\u0631\u0633\u062a \/var\/log \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0647\u0645\u0647 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627 \u0631\u0627 \u062b\u0628\u062a \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u0627\u0648\u0644\u06cc\u0646 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 \u0645\u0648\u0642\u0639\u06cc\u062a\u06cc ($1) \u0628\u0647 INPUT_FILE \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062a\u063a\u06cc\u0631 \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f<\/p>\n<p>\u0628\u0639\u062f\u061b<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code># Function to generate random password\ngenerate_password() {\n  openssl rand -base64 12\n}\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u0627 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 OpenSSL \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f  <strong>\u0631\u0646\u062f<\/strong> \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0631\u0645\u0632\u0646\u06af\u0627\u0631\u06cc \u0628\u0627 \u06a9\u062f base64 (\u0642\u0648\u06cc \u0648 \u0645\u0642\u0627\u0648\u0645 \u0686\u0648\u0646 \u062d\u0627\u0648\u06cc \u062d\u0631\u0648\u0641\u060c \u0627\u0639\u062f\u0627\u062f \u0648 \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631\u0647\u0627 \u0627\u0633\u062a).<br \/>\u0627\u06cc\u0646 \u062a\u0627\u0628\u0639 \u0642\u0631\u0627\u0631 \u0627\u0633\u062a \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0631\u0627 \u062a\u0648\u0644\u06cc\u062f \u06a9\u0646\u062f \u0648 \u0645\u0627 \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u0628\u0639\u062f\u061b<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code># Process the input file\nwhile IFS=';' read -r username groups; do\n  # Create personal group for the user\n  if ! getent group \"$username\" &amp;&gt;\/dev\/null; then\n    groupadd \"$username\"\n    echo \"Created group $username\" | tee -a $LOG_FILE\n  fi\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0641\u0627\u06cc\u0644 \u0648\u0631\u0648\u062f\u06cc \u0631\u0627 \u067e\u0631\u062f\u0627\u0632\u0634 \u06a9\u0646\u06cc\u0645.<\/p>\n<blockquote>\n<p>IFS \u0628\u0647 \u0645\u0639\u0646\u0627\u06cc \u062c\u062f\u0627\u06a9\u0646\u0646\u062f\u0647 \u0645\u06cc\u062f\u0627\u0646 \u062f\u0627\u062e\u0644\u06cc \u0627\u0633\u062a.  \u0627\u06cc\u0646 \u06cc\u06a9 \u0645\u062a\u063a\u06cc\u0631 \u0645\u062d\u06cc\u0637\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0644\u06cc\u0633\u062a\u06cc \u0627\u0632 \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631\u0647\u0627\u06cc\u06cc \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u067e\u0648\u0633\u062a\u0647 Bash \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062c\u062f\u0627\u06a9\u0646\u0646\u062f\u0647 \u0641\u06cc\u0644\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f.  \u0627\u06cc\u0646\u0647\u0627 \u0634\u0627\u0645\u0644 \u0641\u0636\u0627\u060c \u062a\u0628\u060c \u062e\u0637 \u062c\u062f\u06cc\u062f \u0627\u0633\u062a.<\/p>\n<\/blockquote>\n<p>\u0627\u0632 \u0634\u0631\u0637 while \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646 \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648 \u06af\u0631\u0648\u0647 \u06cc\u0627\u062f\u062f\u0627\u0634\u062a \u062c\u062f\u0627\u06a9\u0646\u0646\u062f\u0647 \u0647\u0627 \u062a\u0648\u0633\u0637 IFS \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0645\u0627 \u06cc\u06a9 \u06af\u0631\u0648\u0647 \u0634\u062e\u0635\u06cc \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 \u0627\u06cc\u062c\u0627\u062f \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f\u060c \u0627\u0645\u0627 \u0642\u0628\u0644 \u0627\u0632 \u0622\u0646\u060c \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u06af\u0631\u0648\u0647 \u0633\u06cc\u0633\u062a\u0645 (\/etc\/group) \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <em>\u062f\u0631\u06cc\u0627\u0641\u062a<\/em> \u062f\u0633\u062a\u0648\u0631 \u0628\u0631\u0627\u06cc \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0639\u062f\u0645 \u062d\u0636\u0648\u0631 \u06af\u0631\u0648\u0647.<\/p>\n<p>\u0627\u0644\u0641 \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645 <em>\u0639\u0645\u0644\u06af\u0631 \u0646\u0641\u06cc (!)<\/em> \u06a9\u0647 \u0639\u0628\u0627\u0631\u062a \u0631\u0627 \u0646\u0641\u06cc \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0622\u0646 \u0631\u0627 True \u0645\u06cc \u06a9\u0646\u062f\u060c \u0627\u06af\u0631 \u06af\u0631\u0648\u0647 $ \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f \u0648 \u062f\u0631 \u0646\u062a\u06cc\u062c\u0647 \u0628\u0627\u0639\u062b \u0627\u06cc\u062c\u0627\u062f \u06af\u0631\u0648\u0647 \u062f\u0631 \u0635\u0648\u0631\u062a \u0639\u062f\u0645 \u0648\u062c\u0648\u062f \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <em>\u06af\u0631\u0648\u0647 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646<\/em> \u0641\u0631\u0645\u0627\u0646<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code># Check if user already exists\n  if id \"$username\" &amp;&gt;\/dev\/null; then\n    echo \"User $username already exists. Skipping...\" | tee -a $LOG_FILE\n    continue\n  fi\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06af\u0631 \u06a9\u0627\u0631\u0628\u0631 \u0627\u0632 \u0642\u0628\u0644 \u0648\u062c\u0648\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f\u060c \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u067e\u0648\u0633\u062a\u0647 \u0645\u0627 \u06cc\u06a9 \u067e\u06cc\u063a\u0627\u0645 \u062e\u0637\u0627\u06cc\u06cc \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0627\u0631\u0628\u0631 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u0627\u0645\u0627 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u0686\u0646\u06cc\u0646 \u062e\u0631\u0648\u062c\u06cc (\u062e\u0637\u0627\u06cc \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u06cc\u0627 \u062e\u0631\u0648\u062c\u06cc) \u0631\u0627 \u0628\u0647 <em>\/dev\/null<\/em> \u0648 \u0633\u0647 \u0631\u0627\u0647\u06cc \u062e\u0631\u0648\u062c\u06cc \u0631\u0627 \u0645\u06cc \u062e\u0648\u0627\u0646\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u06cc \u0635\u062f\u0627 \u062f\u0631 $LOG_FILE \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0633\u067e\u0633 \u0627\u0632 \u0627\u062f\u0627\u0645\u0647 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0627\u0631\u0628\u0631 \u062f\u0631 \u0635\u0648\u0631\u062a \u0639\u062f\u0645 \u0648\u062c\u0648\u062f \u06a9\u0627\u0631\u0628\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code># Create user and personal group\n  useradd -m -s \/bin\/bash -g \"$username\" \"$username\"\n  if [ $? -eq 0 ]; then\n    echo \"Created user $username with a personal group $username\" | tee -a $LOG_FILE\n  else\n    echo \"Failed to create user $username\" | tee -a $LOG_FILE\n    continue\n  fi\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f user user \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645 \u0648 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0645\u062d\u0628\u0648\u0628 \u0628\u0647 \u06af\u0631\u0648\u0647 \u0634\u062e\u0635\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645 <em>useradd<\/em> \u0648 \u0627\u0632 -m(\u0628\u0631\u0627\u06cc \u0627\u0641\u0632\u0648\u062f\u0646 \u06cc\u06a9 \u0641\u0647\u0631\u0633\u062a \u0627\u0635\u0644\u06cc \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u060c -s (\u0628\u0631\u0627\u06cc \u062a\u0646\u0638\u06cc\u0645 \u067e\u0648\u0633\u062a\u0647 \u0628\u0647 \/bin\/bash) \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0627\u06af\u0631 \u06a9\u0627\u0631\u0628\u0631 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0627\u06cc\u062c\u0627\u062f \u0648 \u0628\u0647 \u06af\u0631\u0648\u0647 \u0634\u062e\u0635\u06cc \u0627\u0636\u0627\u0641\u0647 \u0634\u0648\u062f\u060c \u0648\u0636\u0639\u06cc\u062a \u062e\u0631\u0648\u062c ($?) \u0628\u0631\u0627\u0628\u0631 \u0628\u0627 \u0635\u0641\u0631 (0) \u0645\u06cc \u0634\u0648\u062f \u0648 \u067e\u06cc\u0627\u0645 \u0645\u0648\u0641\u0642\u06cc\u062a \u0622\u0645\u06cc\u0632 &#8220;Created user $username with a personal group $username&#8221; \u0631\u0627 \u062f\u0631 $LOG_FILE \u0686\u0627\u067e \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0627\u06af\u0631 \u0646\u0647 \u0627\u06cc\u0646\u06a9\u0647 \u062f\u0633\u062a\u0648\u0631 else \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u062f.<\/p>\n<p>\u0628\u0639\u062f\u061b<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code> # Generate password and set it for the user\n  password=$(generate_password)\n  echo \"$username:$password\" | chpasswd\n  if [ $? -eq 0 ]; then\n    echo \"$username,$password\" &gt;&gt; $PASSWORD_FILE\n    echo \"Set password for $username\" | tee -a $LOG_FILE\n  else\n    echo \"Failed to set password for $username\" | tee -a $LOG_FILE\n  fi\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u062a\u0627\u0628\u0639 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0648\u0644\u06cc\u062f \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u0645 \u0648 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 chpasswd (\u062a\u063a\u06cc\u06cc\u0631 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631) \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u0645\u060c \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc\u060c \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0631\u0627 \u062f\u0631 $PASSWORD_FILE \u0628\u0646\u0648\u06cc\u0633\u06cc\u0645 \u0648 \u0622\u0646 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u0645.<\/p>\n<blockquote>\n<p>chpasswd \u0628\u0631\u0627\u06cc \u067e\u0631\u062f\u0627\u0632\u0634 \u0686\u0646\u062f\u06cc\u0646 \u062c\u0641\u062a \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0627\u0632 \u0648\u0631\u0648\u062f\u06cc \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f (\u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0627\u0632 \u0637\u0631\u06cc\u0642 \u06cc\u06a9 \u0644\u0648\u0644\u0647 | \u06cc\u0627 \u06cc\u06a9 \u062a\u063a\u06cc\u06cc\u0631 \u0645\u0633\u06cc\u0631) \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<\/blockquote>\n<p>\u0628\u0639\u062f\u060c<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code># Create additional groups if specified\n  if [ -n \"$groups\" ]; then\n    IFS=',' read -ra group_array \/dev\/null; then\n        groupadd \"$group\"\n        echo \"Created group $group\" | tee -a $LOG_FILE\n      fi\n  fi\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u0627 \u06af\u0631\u0648\u0647 \u062f\u06cc\u06af\u0631\u06cc \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f \u06a9\u0647 \u06a9\u0627\u0631\u0628\u0631 \u0628\u0627 \u0627\u0631\u0633\u0627\u0644 $groups \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0622\u0631\u0627\u06cc\u0647 \u0648 \u062a\u06a9\u0631\u0627\u0631 \u0631\u0648\u06cc \u0622\u0646 \u062a\u0648\u0633\u0637 &#8220;${group_array&#8221; \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f.[@]}&#8221; \u06a9\u0647 \u062f\u0631 \u0622\u0646 &#8220;@&#8221; \u0647\u0631 \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631\u06cc \u0631\u0627 \u0627\u0644\u0642\u0627 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u06a9\u0627\u0631\u0627\u06a9\u062a\u0631 -n \u0646\u06cc\u0632 \u0634\u0628\u06cc\u0647 \u0628\u0647 -z \u0627\u0633\u062a \u0641\u0642\u0637 \u0628\u0647 \u0627\u06cc\u0646 \u062f\u0644\u06cc\u0644 \u06a9\u0647 \u0645\u0642\u062f\u0627\u0631 \u0637\u0648\u0644 \u0622\u0646 \u0628\u0632\u0631\u06af\u062a\u0631 \u0627\u0632 \u0635\u0641\u0631 \u0627\u0633\u062a<\/p>\n<p>\u0645\u0627 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u06af\u0631\u0648\u0647 \u0633\u06cc\u0633\u062a\u0645 (\/etc\/group) \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 getent \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u0627\u0645\u0627 \u06cc\u06a9 \u0639\u0645\u0644\u06af\u0631 \u0646\u0641\u06cc (!) \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0639\u0628\u0627\u0631\u062a \u0631\u0627 \u0646\u0641\u06cc \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0622\u0646 \u0631\u0627 True \u0645\u06cc \u06a9\u0646\u062f\u060c \u0627\u06af\u0631 \u06af\u0631\u0648\u0647 $ \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f \u0648 \u062f\u0631 \u0646\u062a\u06cc\u062c\u0647 \u0628\u0627\u0639\u062b \u0627\u06cc\u062c\u0627\u062f \u06af\u0631\u0648\u0647 \u0645\u06cc \u0634\u0648\u062f. \u0627\u06af\u0631 \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 groupadd \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u0642\u0628\u0644\u0627\u064b \u0628\u062d\u062b \u0634\u062f.<\/p>\n<p>\u0628\u0639\u062f\u061b<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>usermod -aG \"$group\" \"$username\"\n      if [ $? -eq 0 ]; then\n        echo \"Added $username to group $group\" | tee -a $LOG_FILE\n      else\n        echo \"Failed to add $username to group $group\" | tee -a $LOG_FILE\n      fi\n    done\n  fi\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0633\u067e\u0633 \u06a9\u0627\u0631\u0628\u0631 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 usermod -aG \u0628\u0647 \u06af\u0631\u0648\u0647 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645<br \/>\u0633\u0631\u0627\u0646\u062c\u0627\u0645\u060c<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>done <\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0634\u0631\u0637 \u062d\u0644\u0642\u0647 while \u062e\u0648\u062f \u0631\u0627 \u0645\u06cc \u0628\u0646\u062f\u06cc\u0645 \u0648 $INPUT_FILE \u0631\u0627 \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646 \u062e\u0637\u0648\u0637 \u0627\u0632 \u0622\u0646 \u067e\u0627\u0633 \u0645\u06cc \u06a9\u0646\u06cc\u0645.<br \/>\u06cc\u06a9 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f\u060c \u0641\u0627\u06cc\u0644\u06cc \u0628\u0647 \u0646\u0627\u0645 create.sh (\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u067e\u0648\u0633\u062a\u0647) \u0631\u0627 \u062f\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0644\u0645\u0633 \u06a9\u0646\u06cc\u062f \u0648 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0642\u0627\u0628\u0644 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>sudo mkdir -p ~\/bash-script\nsudo chmod +x ~\/bash-script\/create_users.sh\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u062c\u0627\u062f \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u06cc\u0646 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0631\u0627 \u0628\u0686\u0633\u0628\u0627\u0646\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>#!\/bin\/bash\n#check if script is run as root\nif [ \"$EUID\" -ne 0 ]; then\n  echo \"Please run as root\"\n  exit 1\nfi\n\n# Check if the input file is provided\nif [ -z \"$1\" ]; then\n  echo \"Usage: bash create_users.sh <name-of-text-file>\"\n  exit 1\nfi\n\nINPUT_FILE=\"$1\"\nLOG_FILE=\"\/var\/log\/user_management.log\"\nPASSWORD_FILE=\"\/var\/secure\/user_passwords.txt\"\n\n# Ensure log and password files exist and have the correct permissions\ntouch $LOG_FILE\nchmod 644 $LOG_FILE\n\nmkdir -p \/var\/secure\ntouch $PASSWORD_FILE\nchmod 600 $PASSWORD_FILE\n\n# Function to generate random password\ngenerate_password() {\n  openssl rand -base64 12\n}\n\n# Process the input file\nwhile IFS=';' read -r username groups; do\n  # Create personal group for the user\n  if ! getent group \"$username\" &amp;&gt;\/dev\/null; then\n    groupadd \"$username\"\n    echo \"Created group $username\" | tee -a $LOG_FILE\n  fi\n\n  # Check if user already exists\n  if id \"$username\" &amp;&gt;\/dev\/null; then\n    echo \"User $username already exists. Skipping...\" | tee -a $LOG_FILE\n    continue\n  fi\n\n  # Create user and personal group\n  useradd -m -s \/bin\/bash -g \"$username\" \"$username\"\n  if [ $? -eq 0 ]; then\n    echo \"Created user $username with a personal group $username\" | tee -a $LOG_FILE\n  else\n    echo \"Failed to create user $username\" | tee -a $LOG_FILE\n    continue\n  fi\n\n  # Generate password and set it for the user\n  password=$(generate_password)\n  echo \"$username:$password\" | chpasswd\n  if [ $? -eq 0 ]; then\n    echo \"$username,$password\" &gt;&gt; $PASSWORD_FILE\n    echo \"Set password for $username\" | tee -a $LOG_FILE\n  else\n    echo \"Failed to set password for $username\" | tee -a $LOG_FILE\n  fi\n\n  # Create additional groups if specified\n  if [ -n \"$groups\" ]; then\n    IFS=',' read -ra group_array \/dev\/null; then\n        groupadd \"$group\"\n        echo \"Created group $group\" | tee -a $LOG_FILE\n      fi\n\n      usermod -aG \"$group\" \"$username\"\n      if [ $? -eq 0 ]; then\n        echo \"Added $username to group $group\" | tee -a $LOG_FILE\n      else\n        echo \"Failed to add $username to group $group\" | tee -a $LOG_FILE\n      fi\n    done\n  fi\ndone <\/name-of-text-file><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u06cc\u06a9 \u0641\u0627\u06cc\u0644 (input_file.txt) \u062d\u0627\u0648\u06cc \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc\u061b \u06af\u0631\u0648\u0647 \u0647\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>light; sudo,dev,www-data\nidimma; sudo\nmayowa; dev,www-data\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u0648 input_file.txt \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0622\u0631\u06af\u0648\u0645\u0627\u0646 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0645\u0637\u0627\u0644\u0639\u0647 \u06a9\u0631\u062f\u06cc\u062f \u0645\u062a\u0634\u06a9\u0631\u06cc\u0645\u060c \u0628\u0631\u0627\u06cc \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0628\u06cc\u0634\u062a\u0631 \u0644\u0637\u0641\u0627\u064b \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u06a9\u0627\u0631\u0622\u0645\u0648\u0632\u06cc HNG \u0628\u067e\u06cc\u0648\u0646\u062f\u06cc\u062f \u062a\u0627 \u0645\u0647\u0627\u0631\u062a \u0647\u0627\u06cc \u0641\u0646\u06cc \u062e\u0648\u062f \u0631\u0627 \u0627\u0631\u062a\u0642\u0627 \u062f\u0647\u06cc\u062f \u0648 \u0634\u063a\u0644 \u0631\u0648\u06cc\u0627\u06cc\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u062f\u0633\u062a \u0622\u0648\u0631\u06cc\u062f.<br \/>\u0627\u06cc\u0646 \u0644\u06cc\u0646\u06a9 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f<br \/>https:\/\/hng.tech\/internship\u060c <br \/>https:\/\/hng.tech\/hire<\/p>\n<p>hsh<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0627\u0645\u0631\u0648\u0632\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0635\u062d\u06cc\u062d \u062d\u0633\u0627\u0628 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u06cc \u0628\u0631\u0627\u06cc \u0645\u062a\u062e\u0635\u0635\u0627\u0646 DevOps \u06a9\u0647 \u062f\u0631 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u067e\u0648\u06cc\u0627 IT \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u0646\u062f \u0628\u0633\u06cc\u0627\u0631 \u0645\u0647\u0645 \u0627\u0633\u062a. \u0645\u0632\u06cc\u062a \u0627\u0631\u0627\u0626\u0647 \u06a9\u0627\u0631\u0628\u0631 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0627\u0639\u062b \u0635\u0631\u0641\u0647 \u062c\u0648\u06cc\u06cc \u062f\u0631 \u0632\u0645\u0627\u0646\u060c \u062a\u0636\u0645\u06cc\u0646 \u062b\u0628\u0627\u062a\u060c \u0627\u0645\u0646\u06cc\u062a \u062f\u0631 \u0633\u0631\u0627\u0633\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0647\u0627 \u0648 \u0628\u0647\u0628\u0648\u062f \u06a9\u0627\u0631\u0627\u06cc\u06cc \u0645\u06cc \u0634\u0648\u062f \u0632\u06cc\u0631\u0627 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0641\u0631\u0622\u06cc\u0646\u062f\u0647\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u062e\u0648\u062f\u06a9\u0627\u0631 \u0634\u0648\u0646\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u062f\u0631 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":68058,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-68057","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/68057","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=68057"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/68057\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/68058"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=68057"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=68057"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=68057"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}