nohup

nohup — UNIX-утилита, запускающая указанную команду с игнорированием сигналов потери связи (SIGHUP). Таким образом, команда будет продолжать выполняться в фоновом режиме и после того, как пользователь выйдет из системы.

Подключение к ec2 и проброс порта

Подключаемся к серверу ec2 и пробрасываем порт mysql на свою машину:

 

ssh -i 52.112.16.18.pem   -L 4080:127.0.0.1:3306   ec2-user@52.112.16.18

после этого можно юзать mysql

mysql  -uroot -h 127.0.0.1:4080 -p'password' 

 

 

Обновление ключа

После ребилдинга VM, может быть ошибка

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is

Делаем

ssh-keygen -R hostname

Как настроить vsFTPd с виртуальными пользователями на CentOS 6.6

делать надо так:

# cd /etc/vsftpd
# vim vusers.txt

site1.com
site1_password
site2.com
site2_password

На основе этого файла сгенерируем базу данных Berkley, которая будет использоваться PAM для аутентификации наших виртуальных пользователей и поместим полученный файл в директорию /etc/vsftpd (чтобы по феншую)

# db_load -T -t hash -f vusers.txt vsftpd-virtual-user.db

Шаг 3. Зададим файл конфигурации PAM для vsftpd использующий сгенерированную базу данных. Создадим файл /etc/pam.d/vsftpd-virtual

#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
account required pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
session required pam_loginuid.so

Внимание! Путь к файлу базы данных в конфигурации PAM задаётся без расширения .db, хотя такое расширение у файла имеется! В противном случае, PAM будет говорить о том, что не нашёл указанный файл. Это очень странная особенность с которой приходится считаться

Шаг 4. Теперь необходимо сконфигурировать сам vsftpd. Зададим содержимое файла /etc/vsftpd/vsftpd.conf:

# Отключает анонимный доступ

anonymous_enable=NO

# Включает не-анонимный (sic!) доступ

local_enable=YES

# Активирует поддержку виртуальных пользователей

guest_enable=YES guest_username=ftp

# Виртуальные пользователи используют локальный привилегии (а не анонимные)

virtual_use_local_privs=YES

# Включает поддержку записи

write_enable=YES

# Файл конфигурации PAM для vsftpd. Совпадает с именем файла конфигурации в /etc/pam.d

pam_service_name=vsftpd-virtual

# Следующие две строчки определяют локальные директории для пользователей

# В данном случае это будут /var/www/<имя пользователя>

user_sub_token=$USER
local_root=/var/www/$USER

# Виртуальные пользователи ограничены своим каталогом

chroot_local_user=YES

# Убирает передачу реальных идентификаторов групп и пользователей файлов

hide_ids=YES

# Запустить

# vsftpd listen=YES

# Слушать данные на порту 20

# connect_from_port_20=YES

# Маска для создания новых файлов

local_umask=022

Полный конфиг

listen=YES
listen_port=21
ftp_data_port=20
connect_from_port_20=YES
nopriv_user=ftp
ftp_username=ftp
idle_session_timeout=300
port_enable=YES
anonymous_enable=YES
anon_root=/home/ftp/anonymous
no_anon_password=YES
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_upload_enable=NO
chown_uploads=YES
chown_username=ftp
anon_umask=022
local_enable=YES
local_root=/home/ftp/$USER
chroot_local_user=YES
local_umask=022
chmod_enable=YES
banner_file=/etc/vsftpd/banner
dirmessage_enable=YES
message_file=.message
dirlist_enable=YES
ls_recurse_enable=NO
mdtm_write=YES
deny_file={.message}
use_localtime=YES
guest_enable=YES
guest_username=ftp
user_config_dir=/etc/vsftpd/user_config/$USER
user_sub_token=$USER
download_enable=YES
write_enable=YES
ascii_download_enable=YES
ascii_upload_enable=YES
lock_upload_files=YES
virtual_use_local_privs=YES
pam_service_name=vsftpd
secure_chroot_dir=/var/run/vsftpd

Запоминаем в куках галочку

Плагин

https://raw.githubusercontent.com/carhartl/jquery-cookie/master/src/jquery.cookie.js

            // read the current/previous setting
            $("#dont_show_message").each(function() {
                var name = $(this).attr('name');
                if ($.cookie(name) && $.cookie(name) == "true") {
                    $(this).prop('checked', $.cookie(name));
                }
            });
            // event management
            $("#dont_show_message").change(function() {
                var name = $(this).attr("name");
                $.cookie(name, $(this).prop('checked'), {
                    path: '/',
                    expires: 365
                });
            });