Translate

Показ дописів із міткою network. Показати всі дописи
Показ дописів із міткою network. Показати всі дописи

пʼятниця, 25 липня 2014 р.

Samba сервер на Debian Wheezy

Будем настраивать защищенный Samba сервер.

Для начала установим необходимые пакеты:

apt-get -y install samba samba-common libcups2

затем создаем группу smbgrp и пользователя test.

groupadd smbgrp
useradd test -G smbgrp
smbpasswd -a test

root@server1:/samba# smbpasswd -a test
New SMB password:
Retype new SMB password:
Added user test.
root@server1:/samba#


Создадим папку для работы:
mkdir -p /work/documents
cd /work
chmod -R 0770 documents/

Поправим конфигурационный файл:
vi /etc/samba/smb.conf


[documents]
 path = /work/documents
 valid users = @smbgrp
 guest ok = no
 writable = yes
 browsable = yes


root@server1:service samba restart 


Запустим команду:
root@server1:~# testparm

которая выведет нам информацию про настройки сервера.

Если при попытке отобразить содержимое папки на сервере будет ошибка, что нет прав доступа, то тогда:

cd /work
chown -R test:smbgrp documents/


пʼятниця, 4 жовтня 2013 р.

Примеры использования синтаксиса scp.



  • С помощью scp скопируем файл «testfile.txt» с удаленного хоста на локальный: $ scp username@remotehost.ru:testfile.txt /local/directory
    В данном случае можно воспользоваться вместо /local/directory той же ~ для обозначения домашнего каталога.
  • Скопируем файл «testfile.txt» с локального хоста на удаленный при помощи scp: $ scp testfile.txt username@remotehost.ru:/remote/directory
    Тоже самое касаемо ~ в качестве домашней директории пользователя на удаленном хосте — этот знак можно использовать вместо /remote/directory
  • Скопируем директорию «localdir» со всем ее содержимым с локального хоста в директорию «remotedir» на удаленном компьютере: $ scp -r localdir your_username@remotehost.ru:/remote/directory/remotedir
  • Безопасно скопируем файл «testfile.txt» с одного удаленного хоста под названием «remotehost1.ru» на удаленный компьютер под названием «remotehost2.ru»: $ scp username@remotehost1.ru:/remote/directory/testfile.txt username@rh2.ru:/remote/directory/
    Хочу обратить внимание, что эта команда будет работать, например, между серверами на CentOS, но у меня в том случае, когда remotehost1 был под управлением Ubuntu, ничего не выгорело. На этот счет на launchpad уже есть соответствующий баг. Может быть я где-то заблуждаюсь, поэтому буду рад, если меня поправят.
  • Скопируем файлы test.txt и file.txt с локального компьютера в свою домашнюю директорию на удаленном хосте: $ scp test.txt file.txt username@remotehost.ru:~
  • Скопируем несколько файлов test1.txt, test2.txt, test3.txt с удаленного хоста в свою домашнюю директорию локального компьютера: $ scp username@remotehost.ru:/remote/directory/\{test1.txt,test2.txt,test3.txt\} ~
  • По поводу производительности scp: по умолчанию scp использует алгоритм Triple-DES для шифрования передаваемых данных, но если использовать Blowfish, то можно добиться более высокой скорости передачи данных. Для этого нужно добавить ключ -c blowfish: $ scp -c blowfish testfile.txt username@remotehost.ru:~
    Также для повышения скорости передачи данных рекомендуется использовать компрессию (сжатие). За это отвечает ключ -C, но, конечно же, увеличится нагрузка на процессор.
    Пример использования scp с шифрованием алгоритмом blowfish и компрессией данных:
    $ scp -c blowfish -C local_testfile.txt username@remotehost.ru:~

    Контроль удаленного доступа с помощью pam_access.



         Для начала надо включить pam_access модуль. Раскомментировать строку в /etc/pam.d/login и /etc/pam.d/sshd:

    account  required       pam_access.so

     

    Защищаем административный логин:

         Изменяем /etc/security/access.conf для запрета удаленных соединений к административным и к другим аккаунтам:
    #
    # Disallow non-root logins on tty1
    #
    - : ALL EXCEPT root : tty1
    #
    # Allow root login on tty1
    + : root : tty1
    #
    # Disallow console logins
    - : ALL : LOCAL
    #
    # ...
    #
    # User "root" should be denied to get access from all
    # other sources
    - : root : ALL

     

    Защищаем сетевые соединения:

         Задаем группу, которой будет разрешен удаленный доступ (через ssh).
    groupadd -r sshusers


    Изменяем /etc/security/access.conf in order to allow only sshusers group network access.
    # Allow group 'sshusers' get access from everythere
    + : (sshusers) : ALL
    #
    # All other users should be denied to get access from
    # all sources.
    - : ALL : ALL

    Настройки беcпарольного доступа.

         Если необходимо настроить так, чтобы можно было логиниться на хост без ввода пароля, нужно сделать следующее:

    1. Сгенерировать частный и общественный ключи:
          
    user1@host1:~$ ssh-keygen -t rsa
         
    Generating public/private rsa key pair.

    Enter file in which to save the key (/home/user1/.ssh/id_rsa):

    Created directory '/home/user1/.ssh'.

    Enter passphrase (empty for no passphrase):

    Enter same passphrase again:

    Your identification has been saved in /home/user1/.ssh/id_rsa.

    Your public key has been saved in /home/user1/.ssh/id_rsa.pub.

    The key fingerprint is:

    81:95:1a:bd:32:89:3b:c7:34:da:a2:a0:14:24:26:73 user1@host1

    The key's randomart image is:

    +--[ RSA 2048]----+

    |       ...       |

    |+oE   .oo        |

    |=o   ..+..       |

    | .  . B ..       |

    |  .  * +S        |

    |..  = +          |

    |o. . +           |

    |. .              |

    |                 |

    +-----------------+


    2. Теперь надо "дать знать" ssh ваш общественный ключ, путем копирования его на сервер:

    scp  ~/.ssh/id_rsa.pub username@hostname: ~/.ssh/authorized_keys



    3. Защищаем ssh директорию от несанкционированного доступа другими лицами:

    user1@host1:~$ chmod -R go-rwx .ssh/

    user1@host1:~$ ls -la .ssh

    total 20

    drwx------ 2 user1 user1 4096 2010-06-09 15:33 .

    drwxr-xr-x 4 user1 user1 4096 2010-06-09 15:22 ..

    -rw------- 1 user1 user1 393  2010-06-09 15:33 authorized_keys

    -rw------- 1 user1 user1 1675 2010-06-09 15:22 id_rsa

    -rw------- 1 user1 user1 393  2010-06-09 15:22 id_rsa.pub


    4. Перегружаем ssh:

    /etc/init.d/ssh restart