Advertisement
D0cEvil

Linux - Create a user

Sep 19th, 2022
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.11 KB | Software | 0 0
  1. #!/bin/bash
  2.  
  3. ########## Создание нового пользователя ##########
  4.  
  5. ###### Основные переменные ######
  6.  
  7. # c - Комментарий
  8. # n - Имя пользователя
  9. # PASS - Пароль
  10. # q - Количество подключений пользователя
  11. # e -Адрес электронной почты, куда отправлять логин/пасс
  12.  
  13. homedir='/var/data'         # Корневой каталог FTP-сервера
  14. logdir='/var/log/usergen'   # Каталог, в котором будут храниться протоколы работы скрипта
  15. g='ftpusers'                # g - Основная группа
  16. s='/usr/sbin/nologin'       # s - Шелл пользователя. По умолчанию /usr/sbin/nologin
  17. basedir='/root/ftp/users'   # Каталог с базой пользователей
  18. basename='users'
  19.  
  20. ###### Проверка наличия директорий и файлов ######
  21.  
  22. # Проверка наличлия корневой директории FTP-сервера
  23.  
  24. if ! [ -d /var/data ]; then
  25.     echo 'No ftp-root directory!'
  26. fi
  27.  
  28. # Проверка наличия директории лог-файлов
  29.  
  30. #if ! [ -d /var/log/usergen ]; then
  31. #   echo 'No log directory!'
  32. #fi
  33.  
  34. ###### Создание пользователя ######
  35.  
  36. # Генерируется пароль
  37.  
  38. PASS=`pwgen -n1 -A`
  39.  
  40. # Текстовое меню
  41.  
  42. echo 'Введите имя пользователя'
  43. read n
  44.  
  45. ###### Проверка существования пользователя ######
  46.  
  47. grep "$n:" /etc/passwd # >/dev/null
  48. if [ $? -ne 1 ]; then
  49. echo 'User exist!'
  50. exit 0
  51. fi
  52.  
  53. echo 'ВНИМАНИЕ! Пользователь будет добавлен в группу ftpusers'
  54. echo 'Shell по умолчанию /usr/sbin/nologin'
  55. echo 'Введите описание пользователя'
  56. read c
  57. echo 'Количество подключений'
  58. read q
  59. echo 'Адерс электронной почты Организации'
  60. read e
  61.  
  62. # -b - базовый каталог. В нем будет создан каталог пользователя
  63. # -g - основная группа. Для пользователей FTP основной группой явзялется ftpusers
  64. # -G - Дополнительные группы
  65. # -m - Создать каталог пользователя
  66. # -s - оболочка пользователя
  67. # -N - Не  создавать группу с таким же именем, что и у пользователя
  68.  
  69. useradd -b $homedir -c "$c" -g $g -G users -m -N -s $s $n
  70.  
  71. #Изменение пароля пользователя
  72.  
  73. echo "$n:$PASS"| chpasswd
  74.  
  75. #Установка корректных прав на каталог
  76.  
  77. chown root.ftpusers $homedir/$n
  78. chmod g+w $homedir/$n
  79.  
  80. #Удаление скрытых файлов
  81.  
  82. rm -rf $homedir/$n/.*
  83.  
  84. #Запись в базу
  85.  
  86. tme=`date +%H:%M:%S`
  87. dte=`date +%d.%m.%Y`
  88.  
  89. echo "$n $PASS $q $e $tme $dte comment: $c" >> /tmp/users2.txt
  90. #echo "$n $PASS $q $e $tme dte comment: $c " >> $basedir/basename
  91. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement