{"id":337,"date":"2017-12-27T09:34:10","date_gmt":"2017-12-27T09:34:10","guid":{"rendered":"http:\/\/www.liutianfeng.com\/?p=337"},"modified":"2018-01-12T12:43:04","modified_gmt":"2018-01-12T12:43:04","slug":"case%e5%9c%a8%e8%84%9a%e6%9c%ac%e4%b8%ad%e6%b7%bb%e5%8a%a0%e5%bc%80%e5%85%b3","status":"publish","type":"post","link":"https:\/\/www.liutianfeng.com\/?p=337","title":{"rendered":"case\u5728\u811a\u672c\u4e2d\u6dfb\u52a0\u5f00\u5173"},"content":{"rendered":"<p>\u5f00\u5173\uff08switch\uff09\u5728\u811a\u672c\u4e2d\u4f7f\u7528\u5f88\u591a\u3002\u901a\u5e38\uff0c\u5728\u7279\u5b9a\u7684\u6761\u4ef6\u4e0b\uff0c\u5c06switch\u7684\u503c\u505a\u6539\u53d8\uff0c\u5f00\u5173\u7684\u503c\u5bf9\u540e\u7eed\u7684\u4ee3\u7801\u6709\u76f4\u63a5\u7684\u5f71\u54cd\uff0c\u4ece\u800c\u4ea7\u751f\u76f8\u5e94\u7684\u64cd\u4f5c\u3002<\/p>\n<p>\u6bd4\u5982\uff0c\u6211\u4eec\u5236\u4f5c\u4e00\u4e2a\u811a\u672c\uff0c\u5f53\u9009\u9879\u662f\uff1a<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\">-a|--add: \u6dfb\u52a0\u7528\u6237\uff08\u53c2\u6570\u540e\u7684\u7528\u6237\u5217\u8868\uff09\r\n\r\n-d|--del: \u5220\u9664\u7528\u6237\r\n\r\n-h|--help: \u6253\u5370\u5e2e\u52a9\u4fe1\u606f\r\n\r\n\u5176\u4ed6\uff1a\u6253\u5370\u5e2e\u52a9\u4fe1\u606f\uff0c\u63d0\u793a\u53c2\u6570\u9519\u8bef\u3002<\/code><\/pre>\n<p>\u8fd9\u65f6\u5019\uff0c\u663e\u7136\uff0ccase\u8bed\u53e5\u9002\u5408\u8fd9\u4e48\u591a\u7684\u9009\u9879\u63a7\u5236\uff0c\u53e6\u5916\uff0c\u8fd8\u8981\u6839\u636e\u53c2\u6570\u7684\u4e0d\u540c\uff0c\u6765\u6dfb\u52a0\u4e0d\u540c\u7684\u5f00\u5173\uff0c\u811a\u672c\u5982\u4e0b\uff1a<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\">#!\/bin\/bash\r\n# Usage:\r\n# Date: 2017-12-27\r\n# ScriptName: adduser1.sh\r\n# Author: Liemer_Lius\r\ndeclare -i ADD=0\r\ndeclare -i DEL=0\r\ndeclare -i DEBUG=0\r\nREPEAT=$[$#-1]\r\nfor i in `seq $REPEAT`; do\r\n  case $1 in\r\n  -v|--verbose)\r\n    DEBUG=1\r\n    shift\r\n    ;;\r\n  -a|--add)\r\n    ADD=1\r\n    shift\r\n    ;;\r\n  -d|--del)\r\n    DEL=1\r\n    shift\r\n    ;;\r\n  -h|--help)\r\n    echo \"Usage: `basename $0` -v|--verbose|-a|--add|-d|--del|-h|--help USER1,USER2,USER3...\"\r\n    exit 0\r\n    ;;\r\n  *)\r\n    echo \"Usage: `basename $0` -v|--verbose|-a|--add|-d|--del|-h|--help USER1,USER2,USER3...\"\r\n    exit 5\r\n    ;;\r\n  esac\r\ndone\r\n\r\nUSERS=`echo $@ |cut -d' ' -f-1 | sed 's@,@ @g'`\r\nif [ $ADD -eq 1 ] &amp;&amp; [ $DEL -eq 1 ]; then\r\n  echo \"Add and delete users can't be exacuted in the same time. Exit!\"\r\n  exit 7\r\nfi\r\n\r\nif [ $ADD -eq 1 ]; then\r\n  for k in $USERS; do\r\n    if id -u $k &amp;&gt; \/dev\/null; then\r\n      echo \"User $k exit. Skip!\"    \r\n      continue\r\n    else\r\n      useradd -M -s \/sbin\/nologin $k &amp;&gt; \/dev\/null\r\n      if [ $? -eq 0 ] &amp;&amp; [ $DEBUG -eq 1 ]; then\r\n        echo \"Add user $k finished.\"\r\n      fi\r\n    fi\r\n  done\r\nelif [ $DEL -eq 1 ]; then\r\n  for l in $USERS; do\r\n    if ! id -u $l &amp;&gt; \/dev\/null; then\r\n      echo \"No user named $l. Exit!\"\r\n      continue\r\n    else\r\n      userdel -r $l &amp;&gt; \/dev\/null\r\n      if [ $? -eq 0 ] &amp;&amp; [ $DEBUG -eq 1 ]; then\r\n        echo \"Delete user $l finished.\"\r\n      fi\r\n    fi\r\n  done\r\nelse\r\n  echo \"Usage: `basename $0` -v|--verbose|-a|--add|-d|--del|-h|--help USER1,USER2,USER3...\"\r\n  exit 6\r\nfi<\/code><\/pre>\n<p><strong>\u6267\u884c\u7ed3\u679c\uff1a<\/strong><\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\">[root@rs1 ~]# tail -2 \/etc\/passwd\r\nnginx:x:497:497:Nginx web server:\/var\/lib\/nginx:\/sbin\/nologin\r\nlius:x:501:501::\/home\/lius:\/bin\/bash\r\n[root@rs1 ~]# .\/adduser1.sh -v -a user1,user2\r\nAdd user user1 finished.\r\nAdd user user2 finished.\r\n[root@rs1 ~]# tail -2 \/etc\/passwd\r\nuser1:x:502:502::\/home\/user1:\/sbin\/nologin\r\nuser2:x:503:503::\/home\/user2:\/sbin\/nologin\r\n[root@rs1 ~]# .\/adduser1.sh -v -d user1,user2\r\nDelete user user1 finished.\r\nDelete user user2 finished.\r\n[root@rs1 ~]# tail -2 \/etc\/passwd\r\nnginx:x:497:497:Nginx web server:\/var\/lib\/nginx:\/sbin\/nologin\r\nlius:x:501:501::\/home\/lius:\/bin\/bash\r\n[root@rs1 ~]# .\/adduser1.sh -v -d -a user1,user2\r\nAdd and delete users can't be exacuted in the same time. Exit!\r\n[root@rs1 ~]# .\/adduser1.sh -v\r\nUsage: adduser1.sh -v|--verbose|-a|--add|-d|--del|-h|--help USER1,USER2,USER3...\r\n[root@rs1 ~]# .\/adduser1.sh --help\r\nUsage: adduser1.sh -v|--verbose|-a|--add|-d|--del|-h|--help USER1,USER2,USER3...\r\n<\/code><\/pre>\n<p>\u6ce8\uff1a\u811a\u672c\u4e2d\u6709\u5404\u79cd\u5224\u65ad\uff0cadd\u548cdel\u4e0d\u80fd\u540c\u65f6\u6267\u884c\uff0c\u5f53\u6709-v\u6216&#8211;verbose\u7684\u65f6\u5019\uff0c\u5f00\u5173DEBUG=1\uff0c\u51b3\u5b9a\u540e\u7eed\u6253\u5370\u7528\u6237\u6dfb\u52a0\u3001\u5220\u9664\u6210\u529f\u7684\u4fe1\u606f\u3002<\/p>\n<p>\u53e6\u5916\uff0c\u8fd8\u53ef\u4ee5\u63a7\u5236\u540c\u65f6\u8fdb\u884c\u6dfb\u52a0\u548c\u5220\u9664\u7528\u6237\uff0c\u811a\u672c\u7684\u4e00\u90e8\u5206\u5982\u4e0b\uff1a<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\">#!\/bin\/bash\r\n# Usage:\r\n# Date: 2017-12-27\r\n# ScriptName: useradmin.sh\r\n# Author: Liemer_Lius\r\nDEBUG=0\r\nADD=0\r\nDEL=0\r\nfor i in `seq 1 $#`; do\r\n  if [ $# -gt 0 ]; then\r\n    case $1 in\r\n    -v|--verbose)\r\n      DEBUG=1\r\n      shift\r\n      ;;\r\n    -h|--help)\r\n      echo \"Usage: \"\r\n      exit 0\r\n      ;;\r\n    -a|--add)\r\n      ADD=1\r\n      ADDUSERS=$2\r\n      shift 2\r\n      ;;\r\n    -d|--del)\r\n      DEL=1\r\n      DELUSERS=$2\r\n      shift 2\r\n      ;;\r\n    *)\r\n      echo \"Usage: \"\r\n      exit 7\r\n      ;;\r\n    esac\r\n  fi\r\ndone\r\necho $ADD $DEL $DEBUG $ADDUSERS $DELUSERS\r\n<\/code><\/pre>\n<p>\u5728\u5982\u4e0a\u7684\u811a\u672c\u4e2d\uff0c-a|&#8211;add \u540e\u9762\u7d27\u8ddf\u7684\u53c2\u6570\u5c31\u662f\u8981\u6dfb\u52a0\u7684\u7528\u6237\uff0c-d|&#8211;del\u540e\u9762\u7684\u662f\u8981\u5220\u9664\u7684\u7528\u6237\u5217\u8868\u3002<\/p>\n<p><strong>\u6267\u884c\u7ed3\u679c\uff1a<\/strong><\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\">[root@rs1 ~]# .\/useradmin.sh -v -a user1,user2 -d user3,user5\r\n1 1 1 user1,user2 user3,user5\r\n<\/code><\/pre>\n<p>\u7531\u4e0a\u9762\u7684\u7ed3\u679c\u53ef\u4ee5\u770b\u5230\uff0c\u5f00\u5173\u5168\u90e8\u6253\u5f00\u4e86\uff0c\u5e76\u4e14\u4e24\u4e2a\u7528\u6237\u5217\u8868\u4e5f\u5207\u5272\u51fa\u6765\u4e86\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u8f6c\u8f7d\u8bf7\u6ce8\u660e\uff1a<a href=\"https:\/\/www.liutianfeng.com\">liutianfeng.com<\/a> &raquo; <a href=\"https:\/\/www.liutianfeng.com\/?p=337\">case\u5728\u811a\u672c\u4e2d\u6dfb\u52a0\u5f00\u5173<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>\u5f00\u5173\uff08switch\uff09\u5728\u811a\u672c\u4e2d\u4f7f\u7528\u5f88\u591a\u3002\u901a\u5e38\uff0c\u5728\u7279\u5b9a\u7684\u6761\u4ef6\u4e0b\uff0c\u5c06switch\u7684\u503c\u505a\u6539\u53d8\uff0c\u5f00\u5173\u7684\u503c\u5bf9\u540e\u7eed\u7684\u4ee3\u7801\u6709\u76f4 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[31],"tags":[],"_links":{"self":[{"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=\/wp\/v2\/posts\/337"}],"collection":[{"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=337"}],"version-history":[{"count":5,"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=\/wp\/v2\/posts\/337\/revisions"}],"predecessor-version":[{"id":390,"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=\/wp\/v2\/posts\/337\/revisions\/390"}],"wp:attachment":[{"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=337"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=337"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=337"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}