{"id":1942,"date":"2018-08-31T03:48:08","date_gmt":"2018-08-31T00:48:08","guid":{"rendered":"http:\/\/journal.gendar.ru\/?p=1942"},"modified":"2018-09-07T14:54:54","modified_gmt":"2018-09-07T11:54:54","slug":"bash-script-for-creating-new-user-generating-key-and-adding-to-another-server-oh-and-also-its-send-email","status":"publish","type":"post","link":"https:\/\/journal.gendar.ru\/?p=1942","title":{"rendered":"Bash script for creating new user generating key and adding to another server (oh, and also it`s send email)"},"content":{"rendered":"<p>\u0411\u0430\u0448 \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u043a\u043b\u044e\u0447\u0430 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043a\u043b\u044e\u0447\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440.<\/p>\n<p>\u0421\u0440\u0430\u0437\u0443 \u043f\u0440\u0438\u0437\u043d\u0430\u044e\u0441\u044c \u043d\u0435 \u0432\u0435\u0441\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u043c\u043e\u0439, \u044f \u0432\u0437\u044f\u043b \u0447\u0430\u0441\u0442\u044c \u0441 stackoverflow \u0438 \u0437\u0430\u0430\u043f\u0433\u0440\u0435\u0439\u0434\u0438\u043b \u0435\u0435.<\/p>\n<p><!--more--><br \/>\n#!\/bin\/bash<br \/>\n#Creating a script that creates a new user<\/p>\n<p>ROOT_UID=0      #Root has $UID 0<br \/>\nSUCCESS=0<br \/>\nE_USEREXISTS=70<br \/>\nE_NOTROOT=65        #Not root<\/p>\n<p>#Run as root, and this checks to see if the creater is in root. If not, will not run<br \/>\nif [ &#171;$UID&#187; -ne &#171;$ROOT_UID&#187; ]; then<br \/>\n    echo &#171;Sorry must be in root to run this script&#187;<br \/>\n    exit $E_NOTROOT<br \/>\nfi<\/p>\n<p>read -p &#171;Enter username : &#187; username<br \/>\nread -p &#171;Enter password for user :&#187; passwd<br \/>\n#        if [ $# -eq 2 ]; then<br \/>\n#        username=$1<br \/>\n#        pass=$2<br \/>\n#        grep -q &#171;$username&#187; \/etc\/passwd<br \/>\ncat \/etc\/passwd |  grep -q &#171;$username&#187;<\/p>\n<p>if [ $? -eq $SUCCESS ];<br \/>\nthen<br \/>\n    echo &#171;User $username already exists&#187;<br \/>\n    echo &#171;Please choose another username&#187;<br \/>\n    exit $E_USEREXISTS<br \/>\nelse<br \/>\n    useradd $username -d \/home\/$username -m ;<br \/>\n    echo $passwd | passwd $username &#8212;stdin;<br \/>\n    mkdir -p \/home\/$username\/.ssl\/<br \/>\n    ssh-keygen -t rsa -N &#171;&#187; -f \/home\/$username\/.ssl\/my.key<br \/>\n    chown -R $username \/home\/$username\/.ssl\/<br \/>\n    cat \/home\/$username\/.ssl\/my.key.pub | sshpass -p &#171;your_password&#187; ssh remote_username@ip_of_remote_server &#8216;dd of=.ssh\/authorized_keys oflag=append conv=notrunc&#8217;<br \/>\n    usermod -aG wheel $username<br \/>\n    mail -s &#171;user=$username passwd=$passwd&#187; -a \/home\/$username\/.ssl\/my.key -a \/home\/$username\/.ssl\/my.key.pub your@email < \/dev\/null\n    echo \"the account is setup\"\n    exit 1\nfi\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0411\u0430\u0448 \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u043a\u043b\u044e\u0447\u0430 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043a\u043b\u044e\u0447\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440. \u0421\u0440\u0430\u0437\u0443 \u043f\u0440\u0438\u0437\u043d\u0430\u044e\u0441\u044c \u043d\u0435 \u0432\u0435\u0441\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u043c\u043e\u0439, \u044f \u0432\u0437\u044f\u043b \u0447\u0430\u0441\u0442\u044c \u0441 stackoverflow \u0438 \u0437\u0430\u0430\u043f\u0433\u0440\u0435\u0439\u0434\u0438\u043b \u0435\u0435.<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[30],"tags":[],"class_list":["post-1942","post","type-post","status-publish","format-standard","hentry","category-dybr"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8ebaf-vk","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/journal.gendar.ru\/index.php?rest_route=\/wp\/v2\/posts\/1942","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/journal.gendar.ru\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/journal.gendar.ru\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/journal.gendar.ru\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/journal.gendar.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1942"}],"version-history":[{"count":2,"href":"https:\/\/journal.gendar.ru\/index.php?rest_route=\/wp\/v2\/posts\/1942\/revisions"}],"predecessor-version":[{"id":1950,"href":"https:\/\/journal.gendar.ru\/index.php?rest_route=\/wp\/v2\/posts\/1942\/revisions\/1950"}],"wp:attachment":[{"href":"https:\/\/journal.gendar.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1942"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/journal.gendar.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1942"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/journal.gendar.ru\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1942"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}