LINUX.ORG.RU

Скрипт на bash

 


0

1

Парни, прошу помощи. Кто подскажет как написать скрипт на bash, что бы он записывал в файл

логин: $(openssl passwd -1)\n
И что бы удалить из файла строку, которая начинается на логин

Нужно автоматизировать процесс добавления\удаления пользователя для vsftpd.

P.S Согласен, элементарщина, не кидайте камнями. Спасибо!

Ответ на: комментарий от alexandrovich_ff

./script.sh логин

cat script.sh

echo '$1: $(openssl passwd -1)\n' >> /etc/vsftpd.conf

sed -i '/^$1/d' /etc/vsftpd.conf

Проверить не могу, не за компом. Думаю принцип понятен.

vanoc
()
Ответ на: комментарий от vanoc

Не могу понять, где ошибка. Выручайте парни.

#!/bin/bash

# Проверяет, есть ли у вас нужные привилегии.
if [ "$USER" = "flappy" ]
then

   # Проверяет, есть ли аргумент.
   [ $# -eq 0 ] && { echo >&2 ОШИБКА: Вы можете ввести в качестве аргумента текстовый файл, содержащий пользователей, по одному в строке.; exit 1; }
   # Проверяет наличие файла пользователей.
   [ -f "$1" ] || { echo >&2 ОШИБКА: Файл не существует. ; exit 1; }
   TMPIN="$(mktemp)"
   # Удаляет пустые строки и дубликаты.
   sed '/^$/d' "$1"| sort -g | uniq > "$TMPIN"

   NOW=$(date +"%Y-%m-%d-%X")
   ACCOUNTS="/home/flappy/1"
   LOGFILE="/var/log/vsftpd/register-log-$NOW.log"

   for user in $(more "$TMPIN"); do
      # Проверяет, существует ли пользователь.
      cut -d: -f1 /home/flappy/1 | grep "$user" > /dev/null
      OUT=$?
      if [ $OUT -eq 0 ];then
         echo >&2 "ОШИБКА: \"$user\" уже используется."
         echo >&2 "ОШИБКА: Имя пользователя: \"$user\" уже используется." >> "$LOGFILE"
      else
         # Создание пароля для пользователя
         pass=$(openssl passwd -1)
         # Cохраняет пользователя и пароль в файл
         echo -e $user"\t"$pass >> "$ACCOUNTS"
         echo "Пользователь \"$user\" был создан. Пароль: $pass"
      fi
   done
   rm -f "$TMPIN"
   exit 0
else
   echo >&2 "Ошибка: Вы должны быть использовать учетную запись с привилегиями root."
   exit 1
fi
alexandrovich_ff
() автор топика
Ответ на: комментарий от alexandrovich_ff

Поставь set -x и просмотри. это быстрее.

sniper21 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.