def test_is_user_created(): # Авторизовываемся по SSH: ssh_authorization() # Создаем пользователя: client.exec_command('sudo adduser ' + conf['user']['name']) client.exec_command(conf['user']['password']) client.exec_command(conf['user']['retype_password']) client.exec_command(conf['user']['full_name']) client.exec_command(conf['user']['room_number']) client.exec_command(conf['user']['work_phone']) client.exec_command(conf['user']['home_phone']) client.exec_command(conf['user']['other']) # Подтверждаем, что данные введены корректно: client.exec_command(conf['user']['is_information_correct']) # Создаем каталог ftp: client.exec_command('sudo mkdir /home/' + conf['user']['name'] + '/ftp') # Устанавливаем права на него: client.exec_command('sudo chown nobody:nogroup /home/' + conf['user']['name'] + '/ftp') # Отнимием право на запись в этом каталоге: client.exec_command('sudo chmod a-w /home/' + conf['user']['name'] + '/ftp') # Cоздаем каталог для хранения файлов: client.exec_command('sudo mkdir /home' + conf['user']['name'] + '/ftp/files') # Передаем пользователю права собственности на него: client.exec_command('sudo chown ' + conf['user']['name'] + ':' + conf['user']['name'] + '/home/' + conf['user']['name'] + '/ftp/files') # Проверяем, что пользователь есть в списке FTP пользователей: stdin, stdout, stderr = client.exec_command('cat /etc/vsftpd.userlist') is_user_created = stdout.read() + stderr.read() if conf['user']['name'] in is_user_created.decode(): print('User is successfully created') elif conf['user']['name'] not in is_user_created.decode(): assert False, 'User is not successfully created' else: assert False, 'Something wrong' # Завершаем подключение по SSH: ssh_client_finish()
def test_restart_service(): # Авторизовываемся по SSH: ssh_authorization() # Выполняем restart сервиса dbus stdin, stdout, stderr = client.exec_command( 'sudo -S /etc/init.d/dbus restart') data_restart_service = stdout.read() + stderr.read() # Проверяем был ли сервис dbus перезапущен if "Starting" and "dbus" in data_restart_service.decode(): print('Service was successfully restarted') elif "Starting" and "dbus" not in data_restart_service.decode(): assert False, 'Service was not successfully restarted' else: assert False, 'Something wrong' # Завершаем подключение по SSH: ssh_client_finish()
def test_is_user_deleted(): # Авторизовываемся по SSH: ssh_authorization() # Проверяем, что пользователь есть в списке FTP пользователей stdin, stdout, stderr = client.exec_command('cat /etc/vsftpd.userlist') is_user_created = stdout.read() + stderr.read() # Удаляем пользователя client.exec_command('sudo userdel ' + conf['user']['name']) if conf['user']['add'] not in is_user_created.decode(): print('User is successfully deleted') elif conf['user']['add'] not in is_user_created.decode(): assert False, 'User is not successfully deleted' else: assert False, 'Something wrong' # Завершаем подключение по SSH: ssh_client_finish()
def test_is_vsftpd_installed(): # Авторизовываемся по SSH: ssh_authorization() # Проверяем, что пакет vsftpd установлен stdin, stdout, stderr = client.exec_command('dpkg -s vsftpd') is_vsftpd_installed = stdout.read() + stderr.read() if "Status" and "installed" in is_vsftpd_installed.decode(): print('The vsftpd package has been installed') elif "Status" and "installed" not in is_vsftpd_installed.decode(): stdin, stdout, stderr = client.exec_command('apt-get install vsftpd') is_vsftpd_installed_now = stdout.read() + stderr.read() if "vsftpd" and "newly installed" in is_vsftpd_installed_now(): print('The vsftpd package is just installed now') else: assert False, 'The vsftpd package has not been installed now' else: assert False, 'Something wrong' # Завершаем подключение по SSH: ssh_client_finish()
def test_reboot_system(): # Авторизовываемся по SSH: ssh_authorization() # Проверяем, когда была последняя перезагрузка системы stdin, stdout, stderr = client.exec_command('last reboot') data_before_reboot = stdout.read() + stderr.read() print(data_before_reboot.decode()) # Перезагружаем систему client.exec_command('sudo -S reboot -f') # Завершаем подключение по SSH: ssh_client_finish() # Ожидаем перезагрузку системы time.sleep(20) # Авторизовываемся по SSH: ssh_authorization() # Проверяем, когда была последняя перезагрузка системы stdin, stdout, stderr = client.exec_command('last reboot') data_after_reboot = stdout.read() + stderr.read() print(data_after_reboot.decode()) # Проверяем была ли действительна перезагружена система if data_before_reboot != data_after_reboot: print('System was successfully rebooted') elif data_before_reboot == data_after_reboot: assert False, 'System was not successfully rebooted' else: assert False, 'Something wrong' # Завершаем подключение по SSH: ssh_client_finish()