Advertisement
aecio-barreto-junior

Learn about GIT - Commit logs activity

Feb 19th, 2018
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 13.68 KB | None | 0 0
  1. [root@osboxes customUserAdd]# git log
  2. commit 763190b4417b63d0e5e0647b1914fdc0c58cc894 (HEAD -> master, gitlab/master, github/master, github/HEAD, bitbucket/master)
  3. Merge: 31081b1 3064c53
  4. Author: Aecio P Barreto Jr <aecio.barreto.junior@concrete.com.br>
  5. Date:   Fri Feb 16 14:24:59 2018 -0500
  6.  
  7.     Merge branch 'release/1.1'
  8.  
  9. commit 3064c530c11ca326909304935f5731f4afbccf67 (tag: 1.1, github/release/1.1)
  10. Author: Aecio P Barreto Jr <aecio.barreto.junior@concrete.com.br>
  11. Date:   Fri Feb 16 14:21:20 2018 -0500
  12.  
  13.     V1.1 - Usage feature
  14.  
  15. commit 76413d5416dad25539b2d29f0ff2c6aad3b3f320 (tag: v1.1)
  16. Author: Aecio P Barreto Jr <aecio.barreto.junior@concrete.com.br>
  17. Date:   Fri Feb 16 13:53:30 2018 -0500
  18.  
  19.     2o commit - Usage function defined
  20.  
  21. commit 31081b1e7e6789843619e6c55f9b1356b3db3849
  22. Author: Aecio P Barreto Jr <aecio.barreto.junior@concrete.com.br>
  23. Date:   Fri Feb 16 13:09:34 2018 -0500
  24.  
  25.     1o Commit
  26. [root@osboxes customUserAdd]#
  27. [root@osboxes customUserAdd]#
  28. [root@osboxes customUserAdd]# git log -p
  29. commit 763190b4417b63d0e5e0647b1914fdc0c58cc894 (HEAD -> master, gitlab/master, github/master, github/HEAD, bitbucket/master)
  30. Merge: 31081b1 3064c53
  31. Author: Aecio P Barreto Jr <aecio.barreto.junior@concrete.com.br>
  32. Date:   Fri Feb 16 14:24:59 2018 -0500
  33.  
  34.     Merge branch 'release/1.1'
  35.  
  36. commit 3064c530c11ca326909304935f5731f4afbccf67 (tag: 1.1, github/release/1.1)
  37. Author: Aecio P Barreto Jr <aecio.barreto.junior@concrete.com.br>
  38. Date:   Fri Feb 16 14:21:20 2018 -0500
  39.  
  40.     V1.1 - Usage feature
  41.  
  42. diff --git a/customUserAdd.sh b/customUserAdd.sh
  43. index 5515841..7f8a1be 100644
  44. --- a/customUserAdd.sh
  45. +++ b/customUserAdd.sh
  46. @@ -8,6 +8,8 @@
  47.  # Autor         : Aecio Junior <aecio.barreto.junior@concrete.com.br>
  48.  # Data          : Fri Feb  2 12:49:13 EST 2018
  49.  # Versao        : v1.0
  50. +# Data          : Fri Feb 16 14:17:26 EST 2018
  51. +# Versao        : v1.1
  52.  # Usage         : ssh -p22 -T sshuser@endereco.IP < ./CustomUserAdd.sh username
  53.  
  54.  ##----------------- Variaveis -----------------##
  55.  
  56. commit 76413d5416dad25539b2d29f0ff2c6aad3b3f320 (tag: v1.1)
  57. Author: Aecio P Barreto Jr <aecio.barreto.junior@concrete.com.br>
  58. Date:   Fri Feb 16 13:53:30 2018 -0500
  59.  
  60.     2o commit - Usage function defined
  61.  
  62. diff --git a/customUserAdd.sh b/customUserAdd.sh
  63. index 98eb057..5515841 100644
  64. --- a/customUserAdd.sh
  65. +++ b/customUserAdd.sh
  66. @@ -121,80 +121,94 @@ _MudaAtributos(){
  67.  
  68.     return $RC
  69.  }
  70. -
  71. +
  72. +_FuncionUsage(){
  73. +    echo -e "Usage: \n\t CustomUserAdd.sh [username|--help|-U]"
  74. +    return 2
  75. +}
  76. +
  77.  ##------------------- Inicio do Script --------------------#
  78. +
  79. +if [ $# -eq 1 ]; then
  80. +   if [ "$1" == "--usage" -o "$1" == "-U" ]; then
  81. +      _FuncionUsage
  82. +   else
  83. +
  84. +      ### Desativa bit imutavel
  85. +      sudo test -f /root/unlock && sudo /root/unlock || { _MudaAtributos off || echo erro desativando atributos; }
  86.  
  87. -### Desativa bit imutavel
  88. -sudo test -f /root/unlock && sudo /root/unlock || { _MudaAtributos off || echo erro desativando atributos; }
  89. -
  90. -### Verifica se o usuario existe, do contrario, adicionar.
  91. -if _VerificaUsuario $Usuario
  92. -then
  93. -   echo Usuario ja cadastrado
  94. -else
  95. -   if _AdicionaUsuario $Usuario
  96. -   then
  97. -      echo usuario adicionado com sucesso
  98. -      if _AtualizaSenha $Usuario
  99. +      ### Verifica se o usuario existe, do contrario, adicionar.
  100. +      if _VerificaUsuario $Usuario
  101.        then
  102. -         echo senha atualizada conforme padrao inicial
  103. +         echo Usuario ja cadastrado
  104.        else
  105. -         echo erro na atualizacao da senha. fazer manualemnte
  106. +         if _AdicionaUsuario $Usuario
  107. +         then
  108. +            echo usuario adicionado com sucesso
  109. +            if _AtualizaSenha $Usuario
  110. +            then
  111. +               echo senha atualizada conforme padrao inicial
  112. +            else
  113. +               echo erro na atualizacao da senha. fazer manualemnte
  114. +            fi
  115. +         else
  116. +            echo erro no cadastro do usuario
  117. +         fi
  118.        fi
  119. -   else
  120. -      echo erro no cadastro do usuario
  121. -   fi
  122. -fi
  123.  
  124. -### Verifica se o acesso ssh esta autorizado ao usuario, senão, autorizar.
  125. -if _VerificaSSH $Usuario
  126. -then
  127. -   if _ReiniciarSSH
  128. -   then
  129. -      echo ssh daemon reinciado por precaucao
  130. -   else
  131. -      echo erro reiniciando ssh
  132. -   fi
  133. -else
  134. -   if _BackupArquivoConfiguracao /etc/ssh/sshd_config
  135. -   then
  136. -      if _AutorizarSSH $Usuario
  137. +      ### Verifica se o acesso ssh esta autorizado ao usuario, senão, autorizar.
  138. +      if _VerificaSSH $Usuario
  139.        then
  140. -         echo usuario adicionado no ssh
  141.           if _ReiniciarSSH
  142.           then
  143. -            echo ssh reinciado apos adicao de usuario na configuracao
  144. +            echo ssh daemon reinciado por precaucao
  145.           else
  146. -            echo problemas reinciando ssh
  147. +            echo erro reiniciando ssh
  148.           fi
  149.        else
  150. -         echo erro autorizando ssh
  151. +         if _BackupArquivoConfiguracao /etc/ssh/sshd_config
  152. +         then
  153. +            if _AutorizarSSH $Usuario
  154. +            then
  155. +               echo usuario adicionado no ssh
  156. +               if _ReiniciarSSH
  157. +               then
  158. +                  echo ssh reinciado apos adicao de usuario na configuracao
  159. +               else
  160. +                  echo problemas reinciando ssh
  161. +               fi
  162. +            else
  163. +               echo erro autorizando ssh
  164. +            fi
  165. +         else
  166. +            echo erro backupeando arquivo de configuracao /etc/ssh/sshd_config
  167. +         fi
  168.        fi
  169. -   else
  170. -      echo erro backupeando arquivo de configuracao /etc/ssh/sshd_config
  171. -   fi
  172. -fi
  173.  
  174. -### Verifica se o usuario esta no sudosh, senão, adicionar.
  175. -if _VerificaSUDO $Usuario
  176. -then
  177. -   echo Usuario ja cadastrado no sudo
  178. -else
  179. -   if _BackupArquivoConfiguracao /etc/sudoers
  180. -   then
  181. -      echo arquivo sudoers backupeado
  182. -      if _AutorizarSUDO $Usuario
  183. +      ### Verifica se o usuario esta no sudosh, senão, adicionar.
  184. +      if _VerificaSUDO $Usuario
  185.        then
  186. -         echo sudo autorizado
  187. +         echo Usuario ja cadastrado no sudo
  188.        else
  189. -         echo erro autorizando o sudo
  190. +         if _BackupArquivoConfiguracao /etc/sudoers
  191. +         then
  192. +            echo arquivo sudoers backupeado
  193. +            if _AutorizarSUDO $Usuario
  194. +            then
  195. +               echo sudo autorizado
  196. +            else
  197. +               echo erro autorizando o sudo
  198. +            fi
  199. +         else
  200. +            echo erro no backup do arquivo
  201. +         fi
  202.        fi
  203. -   else
  204. -      echo erro no backup do arquivo
  205. +
  206. +      ### Ativa bit imutavel
  207. +      sudo test -f /root/lock && sudo /root/lock || { _MudaAtributos on || echo erro ativando atributos; }
  208.     fi
  209. +else
  210. +   _FuncionUsage
  211.  fi
  212. -
  213. -### Ativa bit imutavel
  214. -sudo test -f /root/lock && sudo /root/lock || { _MudaAtributos on || echo erro ativando atributos; }
  215. -
  216. +
  217.  #-------------------- Fim do Script --------------------#
  218.  
  219. commit 31081b1e7e6789843619e6c55f9b1356b3db3849
  220. Author: Aecio P Barreto Jr <aecio.barreto.junior@concrete.com.br>
  221. Date:   Fri Feb 16 13:09:34 2018 -0500
  222.  
  223.     1o Commit
  224.  
  225. diff --git a/README.md b/README.md
  226. new file mode 100644
  227. index 0000000..ea98dbd
  228. --- /dev/null
  229. +++ b/README.md
  230. @@ -0,0 +1,35 @@
  231. +# [customUserAdd.sh](https://github.com/concrete-aecio-barreto-junior/customUserAdd/blob/master/customUserAdd.sh)
  232. +
  233. +## Description
  234. +
  235. +Script for adding users with customized access with secure config files handling.
  236. +
  237. +## Operation/workflow
  238. +
  239. +1. Useradd
  240. +       - Check if user already exist else add;
  241. +       - Set a initial password;
  242. +
  243. +2. SSH config
  244. +       - Check if user's into "sshd.config" file, else add;
  245. +       - Restart SSH daemon;
  246. +
  247. +3. Sudoers
  248. +       - Check if user's into "sudoers" file, else add;
  249. +
  250. +## Usage
  251. +
  252. +Running on remote host:
  253. +
  254. +```
  255. +ssh -p22 -T sshuser@IP address < ./customUserAdd.sh username
  256. +```
  257. +
  258. +## Notes
  259. +
  260. +This script:
  261. +
  262. +* ... considers return codes to assure right flow;
  263. +* ... check file contents before change it;
  264. +* ... script do backup files before handle it;
  265. +* ... script assure secure attributes about files (chattr);
  266. diff --git a/customUserAdd.sh b/customUserAdd.sh
  267. new file mode 100644
  268. index 0000000..98eb057
  269. --- /dev/null
  270. +++ b/customUserAdd.sh
  271. @@ -0,0 +1,200 @@
  272. +#!/bin/bash
  273. +
  274. +# Titulo        : "CustomUserAdd.sh"
  275. +# Descricao     : Este script garante a adicao segura de usuarios:
  276. +#                    1. Cria usuario
  277. +#                    2. Acrescenta ao sudoers
  278. +#                    3. Autoriza no sshd.conf
  279. +# Autor         : Aecio Junior <aecio.barreto.junior@concrete.com.br>
  280. +# Data          : Fri Feb  2 12:49:13 EST 2018
  281. +# Versao        : v1.0
  282. +# Usage         : ssh -p22 -T sshuser@endereco.IP < ./CustomUserAdd.sh username
  283. +
  284. +##----------------- Variaveis -----------------##
  285. +
  286. +## Usuario a ser cadastrado.
  287. +Usuario="$1"
  288. +
  289. +## Referencias de usuarios contidos no sudoers
  290. +UserRef1="fulano"
  291. +UserRef2="ciclano"
  292. +UserRef3="beltrano"
  293. +
  294. +##------------------ Funcoes ------------------##
  295. +## Funcao para verificar existencia de um dado usuario
  296. +_VerificaUsuario(){
  297. +   local RC=0
  298. +   local Usuario=$1
  299. +   id $Usuario || local RC=$?
  300. +   return $RC
  301. +}
  302. +
  303. +## Funcao para cadastrar usuario
  304. +_AdicionaUsuario(){
  305. +   local RC=0
  306. +   local Usuario=$1
  307. +   local Comentario="User added by `basename $0`"
  308. +   local DirHome=/home/$Usuario
  309. +   local Shell="/bin/bash"
  310. +   sudo /usr/sbin/useradd --create-home --comment "$Comentario" --home "$DirHome" --shell "$Shell" $Usuario || local RC=$?
  311. +   return $RC
  312. +}
  313. +
  314. +## Atualiza senha do usuario para senha inicial padrao
  315. +## Solicitar troca de senha no primeiro acesso;
  316. +_AtualizaSenha(){
  317. +   local RC=0
  318. +   local Usuario=$1
  319. +   local SenhaInicial='p@ssw0rd'
  320. +   echo "$Usuario:$SenhaInicial" | sudo /usr/sbin/chpasswd || local RC=$?
  321. +   return $RC
  322. +}
  323. +
  324. +## Verifica se o acesso ssh esta autorizado para dado usuario
  325. +_VerificaSSH(){
  326. +   local RC=0
  327. +   local Usuario=$1
  328. +   sudo grep -E "^AllowUsers.*$Usuario" /etc/ssh/sshd_config || local RC=$?
  329. +   return $RC
  330. +}
  331. +
  332. +## Realiza backup de arquivo de configuracao fornecido como argumento
  333. +_BackupArquivoConfiguracao(){
  334. +   local RC=0
  335. +   local Arquivo=$1
  336. +   sudo cp -Rfa $Arquivo{,.`date "+%Y%m%d-%H%M"`} || local RC=$?
  337. +   return $RC
  338. +}
  339. +
  340. +## Acrescenta usuario no arq. config. do SSH autorizando acesso
  341. +_AutorizarSSH(){
  342. +   local RC=0
  343. +   local Usuario=$1
  344. +   sudo sed -i "/^AllowUsers/s/.*/& $Usuario/" /etc/ssh/sshd_config || local RC=$?
  345. +   return $RC
  346. +}
  347. +
  348. +## Reinicia o ssh daemon
  349. +_ReiniciarSSH(){
  350. +   local RC=0
  351. +
  352. +   { sudo test -f /etc/init.d/ssh && sudo /etc/init.d/ssh restart; } || \
  353. +   { sudo test -f /etc/init.d/sshd && sudo /etc/init.d/sshd restart; } || \
  354. +   local RC=$?
  355. +
  356. +   return $RC
  357. +}
  358. +
  359. +## Verifica se dado usuario encontra-se no sudo
  360. +_VerificaSUDO(){
  361. +   local RC=0
  362. +   local Usuario=$1
  363. +   sudo grep -E -e "$UserRef1.*$1" -e "$UserRef2.*$1" -e "$UserRef3.*$1" /etc/sudoers || local RC=$?
  364. +   return $RC
  365. +}
  366. +
  367. +## Acrescenta usuario CIT no sudoers
  368. +_AutorizarSUDO(){
  369. +   local RC=0
  370. +   local Usuario=$1
  371. +   sudo sed -i "/$UserRef1\|$UserRef2\|$UserRef3/s/.*/&,$Usuario/" /etc/sudoers || local RC=$?
  372. +   return $RC
  373. +}
  374. +
  375. +## Muda atributos de bit imutavel (on/off)
  376. +_MudaAtributos(){
  377. +
  378. +   local RC=0
  379. +   local ST="$1"
  380. +   if [ "$ST" == "on" ]; then
  381. +      local State='+i'
  382. +   elif [ "$ST" == "off" ]; then
  383. +      local State='-i'
  384. +   fi
  385. +
  386. +   sudo chattr $State /etc/ssh/sshd_config || local RC=$?
  387. +   sudo chattr $State /etc/sudoers || local RC=$?
  388. +   sudo chattr $State /etc/passwd || local RC=$?
  389. +   sudo chattr $State /etc/shadow || local RC=$?
  390. +   sudo chattr $State /etc/gshadow || local RC=$?
  391. +   sudo chattr $State /etc/group || local RC=$?
  392. +
  393. +   return $RC
  394. +}
  395. +
  396. +##------------------- Inicio do Script --------------------#
  397. +
  398. +### Desativa bit imutavel
  399. +sudo test -f /root/unlock && sudo /root/unlock || { _MudaAtributos off || echo erro desativando atributos; }
  400. +
  401. +### Verifica se o usuario existe, do contrario, adicionar.
  402. +if _VerificaUsuario $Usuario
  403. +then
  404. +   echo Usuario ja cadastrado
  405. +else
  406. +   if _AdicionaUsuario $Usuario
  407. +   then
  408. +      echo usuario adicionado com sucesso
  409. +      if _AtualizaSenha $Usuario
  410. +      then
  411. +         echo senha atualizada conforme padrao inicial
  412. +      else
  413. +         echo erro na atualizacao da senha. fazer manualemnte
  414. +      fi
  415. +   else
  416. +      echo erro no cadastro do usuario
  417. +   fi
  418. +fi
  419. +
  420. +### Verifica se o acesso ssh esta autorizado ao usuario, senão, autorizar.
  421. +if _VerificaSSH $Usuario
  422. +then
  423. +   if _ReiniciarSSH
  424. +   then
  425. +      echo ssh daemon reinciado por precaucao
  426. +   else
  427. +      echo erro reiniciando ssh
  428. +   fi
  429. +else
  430. +   if _BackupArquivoConfiguracao /etc/ssh/sshd_config
  431. +   then
  432. +      if _AutorizarSSH $Usuario
  433. +      then
  434. +         echo usuario adicionado no ssh
  435. +         if _ReiniciarSSH
  436. +         then
  437. +            echo ssh reinciado apos adicao de usuario na configuracao
  438. +         else
  439. +            echo problemas reinciando ssh
  440. +         fi
  441. +      else
  442. +         echo erro autorizando ssh
  443. +      fi
  444. +   else
  445. +      echo erro backupeando arquivo de configuracao /etc/ssh/sshd_config
  446. +   fi
  447. +fi
  448. +
  449. +### Verifica se o usuario esta no sudosh, senão, adicionar.
  450. +if _VerificaSUDO $Usuario
  451. +then
  452. +   echo Usuario ja cadastrado no sudo
  453. +else
  454. +   if _BackupArquivoConfiguracao /etc/sudoers
  455. +   then
  456. +      echo arquivo sudoers backupeado
  457. +      if _AutorizarSUDO $Usuario
  458. +      then
  459. +         echo sudo autorizado
  460. +      else
  461. +         echo erro autorizando o sudo
  462. +      fi
  463. +   else
  464. +      echo erro no backup do arquivo
  465. +   fi
  466. +fi
  467. +
  468. +### Ativa bit imutavel
  469. +sudo test -f /root/lock && sudo /root/lock || { _MudaAtributos on || echo erro ativando atributos; }
  470. +
  471. +#-------------------- Fim do Script --------------------#
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement