Чем отличается smb от ftp
Перейти к содержимому

Чем отличается smb от ftp

  • автор:

В чем разница между SSH,FTP, Samba,NFS? Где и когда лучше что применять. В рамках домашний Nas,Сервер?

Я новичок. Первый опыт .Тыркаю,играюсь,тестирую дома Microserver Gen8 . Ставил Freenas и Xpenology. И то и другое нормально . Но не нашел понятное объяснение в сети для новичка в чем разница между SSH,FTP (а SFTP что такое?), Samba,NFS?

1) Когда какой протокол лучше применять ? В каком выше скорость ?
2) Как вы дома, при наличии сервера .Организуете бекап своей ОС или файлов на основном десктопе . Я попробывал сделать бекап ОС, сразу по сети на сервер . (сервер подключен к роутеру, комп тоже) . Бекап идет очень медленно . Вообще передача между компом и сервером скорость 10-11 мб\с . Вообщем я в итоге сделал бекап на съемный usb диск. А с него уже перекинул на сервер . Как у Вас настроен бекап, почему у меня так медленно скорость . Может протокол передачи какой не такой ?

  • Вопрос задан более трёх лет назад
  • 9285 просмотров

1 комментарий

Простой 1 комментарий

Samba или FTP

Стоит задача сделать в небольшом офисе шару для файлов. Подскажите на чем сделать на FileZilla server (например) или SAMBA, либо может есть иные интересные варианты. В качестве сервера CentOS 7. Клиенты на linux и windows. Спасибо за участие и за советы!

alduin
26.08.19 17:19:27 MSK

futurama ★★★★★
( 26.08.19 17:22:00 MSK )
Ответ на: комментарий от futurama 26.08.19 17:22:00 MSK

есть какой-то принципиальный плюс у SAMBA?

alduin
( 26.08.19 17:38:08 MSK ) автор топика
Ответ на: комментарий от alduin 26.08.19 17:38:08 MSK

нативный для винды, вполне нормальный для линукса, с правами на файлы/директории может получиться проще чем для ftp/nfs

futurama ★★★★★
( 26.08.19 17:45:19 MSK )

Самбу можно как сетевой диск в винде монтировать (а в 10, говорят, вообще что-то типа точек монтирования есть, но это не точно).

kravzo ★★
( 26.08.19 17:49:09 MSK )
Последнее исправление: kravzo 26.08.19 17:49:38 MSK (всего исправлений: 1)

Ответ на: комментарий от alduin 26.08.19 17:38:08 MSK

samba реализует сетевую файловую систему по протоколу SMB, а ftp — это протокол обмена файлами.

Файловую систему вы можете смонтировать как в Linux, так и открыть родными для Windows средствами.

Для работы с ftp вам нужны клиенты и в его случае есть особенности работы.

К примеру, если нужно работать одновременно с некоторыми файлами, то в случае samba файл будет открыт обычным способом как с локального диска, заблокирован средствами файловой системы, если это позволяет приложение для редактирования. И при попытке открытия файла на редактирование на другом ПК будет выдано предупреждение, что файл уже редактируется и предложен доступ на чтение.

В случае FTP на ПК будет просто загружена копия файла, на сервере никакой блокировки не будет.

На samba проще управлять правами доступа, но нужно настроить поддержку ACL в samba и файловая система должна поддерживать ACL.

infomeh ★★
( 26.08.19 17:50:09 MSK )
Ответ на: комментарий от alduin 26.08.19 17:38:08 MSK

конечно! это принципиально безопасный протокол!

darkenshvein ★★★★★
( 26.08.19 17:50:11 MSK )

FileZilla server (например) или SAMBA

Почему «или»? Можно сделать и то и это и много чего ещё, например NFSv4 и minio.

imul ★★★★★
( 26.08.19 18:34:27 MSK )
Ответ на: комментарий от infomeh 26.08.19 17:50:09 MSK

Спасибо за такой развернутый ответ. Определился )))

alduin
( 27.08.19 09:00:08 MSK ) автор топика
Ответ на: комментарий от alduin 27.08.19 09:00:08 MSK

Если шарить не порноролики и файлы текстовые и предролагается их изменение то имхо лучше использовать git.
На самбе если один человек редактирует файл, то другой будет либо вынужден ждать когда файл закроют, либо хитро скопировав файл к себе после отправки своей версии на сервер уничтожит труды первого, git же умеет сливать локальные копии изменённых файлов обратно оповещая сливающего при возникновении противоречий между локальными версиями.
Плюс git хранит историю изменений, а это значит что некогда стёртую информацию можно вернуть, если только её не удалил сам администратор сервера.

Пользователя тоже легко обучить git, ему просто надо дать шпаргалку с двумя командами синхронизации с сервером и отправки изменений на сервер, ну или поставить их в скрипты выполняемые при входе и ввходе пользователя на локальном ПК.

Минусов git два

  1. Нет автоматического получения изменений.
  2. Бинарные файлы git может хранить, но обрабатывать не сможет.

torvn77 ★★★★★
( 27.08.19 10:48:37 MSK )
Последнее исправление: torvn77 27.08.19 10:52:05 MSK (всего исправлений: 1)

Ответ на: комментарий от torvn77 27.08.19 10:48:37 MSK

Не уверен что для файлового сервера нужен git основной акцент которого это все же система контроля версий. Это больше для разработчиков и девопсов.

alduin
( 27.08.19 13:43:57 MSK ) автор топика
Ответ на: комментарий от alduin 27.08.19 13:43:57 MSK

  1. Git это просто средство контроля и синхронизации изменений в текстовом файле.
    Что там в текстовом файле, исходники, документы, поэма или новелла не важно, так как это всё текст.
  2. «Контроль версий» или «история изменений» в сути то одно и тоже.

torvn77 ★★★★★
( 27.08.19 14:03:10 MSK )
Ответ на: комментарий от alduin 27.08.19 13:43:57 MSK

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

torvn77 ★★★★★
( 27.08.19 16:47:11 MSK )
Последнее исправление: torvn77 27.08.19 16:48:01 MSK (всего исправлений: 1)

Скорости FTP и SMB

Привет всем! )
Вот тут такой вопрос — есть два компа, соединённых маршрутизатором.
Пропускная способность — 100 мбит. \с
Передаём файл с одного компьютера на другой по протоколу SMB — скорость достигает не более 5 Мбайт\с
При использовании FTP скорость достигает максимальной пропускной способности.
Собственно системы одинаковые и обе используют последнюю версию SMB

Так что же замедляет работу SMB в 2х раза.

Лучший ответ
Попытки самбы конвертировать ip в адрес netbios
Читальный залГений (57253) 11 лет назад

Владимир Оракул (57076) Вобще мой вам совет, забейте на самбу если речь идет о сети линуксовой (нет виндовых машин, там один QoS чего стоит 20 процентов траффика)

Сеана Ли Ван ЧжанМудрец (10672) 11 лет назад

C 2000 года smb не использует netbios и никаких там преобразований быть не может. 🙂 Вы сильно отстали от жизни, Владимир.

Владимир Оракул (57076) Ну да конечно http://www. samba .org/samba/docs/man/Samba-HOWTO-Collection/NetworkBrowsing.html

Остальные ответы

Клиент, разумеется. Вы не назвали клиента с помощью которого производится копирование. Киенты ftp, в принципе, не очень-то отличаются друг от дружки — их написание однообразно и никто особенно не заморачивается. Другое дело smb. Вот тут кто на что горазд. А если в венде, то вообще — песня.
В общем и целом так. Разница в протоколах никак не выльется в скоростные характеристики среды при прочих равных условиях. Отсюда мораль: клиентская часть.
Возможно и стороннее вмешательство — антивирусы там всякие глупые, пропускающие ftp и недремлющие на smb.

Домашний сервер. Часть 2. FTP, Samba и rTorrent

Пришло время организовывать файловое хранилище, как внутри сети так и снаружи. Данная статья является продолжением первой части, посвященной настройки WiFi роутера на Вашем домашнем сервере. Все жесткие диски с Вашего домашнего компьютера(кроме системного) можно перенести на сервер, поскольку скорость передачи данный колеблется в районе 10-20 мегабайт в секунду [данный параметр еще и очень сильно зависит от модели Вашего жесткого диска], да и кстати, давно уже пора для системного диска покупать SSD накопители.

FTP Server.
Существует множество ftp серверов для linux, много хороших, много плохих, но есть лучший [естественно, что это субъективное мнение, и лучший он для меня] и это vsftpd. Его мы и будем рассматривать.
Скачать его можно из стандартных репозитариев OpenSUSE, выполнив в терминале команду:

zypper in vsftpd

Теперь перейдем к описанию. Это консольный ftp server, у него нет GUI [графическая оболочка], поэтому вся настройка происходит в одном единственном конфиге, по адресу /etc/vsftpd.conf.
Вот пример рабочего конфига:

#разрешаем любые формы записи на FTP сервер write_enable=YES #разрешаем возможность отображения сообщений о переходах из папки в #папку. dirmessage_enable=YES #выбираем пользователя БЕЗ всяких привелегий (read-only) nopriv_user=ftpsecure #разрешаем локальных пользователей (локальные пользователи - это те, #которые зарегестрированы в системе, то есть на них есть учетные записи) local_enable=YES #запихиваем локального пользователя в chroot. chroot_local_user=YES #запрет анонимного входа на сервер anonymous_enable=NO #включаем логгирование syslog_enable=YES #разрешаем присоединятся по 20ому порту connect_from_port_20=YES #разрешаем аплоадить папки с киррилицей в названии ascii_upload_enable=YES #разрешаем скачивать папки с киррилицей в названии ascii_download_enable=YES #название PAM сервиса в системе pam_service_name=vsftpd #возможность работы в автономном режиме listen=YES #запрещаем SSL аутентификацию ssl_enable=NO #рейнж портов для режима PASV. pasv_min_port=30000 pasv_max_port=30100 #привествие при заходе на ftp-server ftpd_banner=Welcome to my ftp-server #время, через сколько пользователя кикнут с сервера при его бездействии idle_session_timeout=900 #максимальное количество юзеров max_clients=10 #максимальное количество сессией с одного ip адреса max_per_ip=3 #разрешение режима PASV(пассивный режим) pasv_enable=YES #маска разрешающих привелегий для локальных пользователей. local_umask=0002

В приведенном выше конфиге нет заморочек для распределения прав доступа отдельным пользователям, отдельных папок. Всё довольно просто и лаконично, настроил один раз и пользуешься [пользуются]. Vsftpd был выбран, потому что у него лучшая система настройки прав доступа, которая подразделяется на два вида: внутренняя, системная аутентификация и внешняя, с отдельным конфигурационным файлом для распределения прав доступа, но при этом, пользователи всё также берутся из системы.

image

В данном примере и пользователи, и распределение прав доступа этих самых пользователей берется из системы, дополнительный конфиг-файл не используется.

Рисунок 1. Выставление прав
На этом собственно всё.

Samba.
Хотите всегда иметь под рукой файловое хранилище всех коллекций и всего прочего с ноутбука, с домашнего компьютера, с телефона, с планшета? Поехали.

Изначально, при стандартной установке системы OpenSUSE всё что нужно для установки и настройки samba на сервере уже предустановлено. Поэтому перейдем непосредственно к настройке. Поскольку доступ из под ОС Windows в качестве «Подключения сетевого диска» будет доступен только внутри Вашей локальной сети [для интернета есть ftp сервер, да и к тому же, вывешивать самбу в интернет крайне не безопасно, а мы же, — «ЗА СЕКЬЮРНОСТЬ. УРА!»] поэтому настройки будут крайне банальны и просты в понимании. Есть два [известных мне и адекватных на мой взгляд] настройки самбы, это через, всё тот самый, конфигурационный файл и при помощи утилиты — WebMin. Это дико-крутая штука, особенно для тех, кто не любит ковырять конфиги [но и здесь есть свои ньюансы]. В данной статье не будем останавливаться на средствах «для ленивых«, поэтому продолжаем. Мы будем рассматривать рабочий конфиг файл. Находится он по адресу: /etc/samba/smb.conf. Вот он:

[global] # Указываем имя гостевого юзера. guest account = nobody # Указываем имя netbios name = homeserver # Включаем возможность прав "write" writeable = yes # Дополнительная опция, убирающая задержку. socket options = TCP_NODELAY IPTOS_LOWDELAY # При необходимости, указываем рабочую группу, где будут находится компьютеры #(абсолютно не обязательный параметр) workgroup = HOMENET # Выбираем интерфейсы на которые будет "прослушивать" самба. # (также, необязательная опция, по-умолчанию, будут прослушиваться все интерфейсы) interfaces = eth1 wlan0 # Дома безопасность особо не нужна. security = share public = yes [public] # Разрешаем гостя guest ok = yes # Только гость? Да. guest only = yes # Путь до публичной папки path = /cifs/pub # Не запрещаем запись. read only = no # Также, если интересует возможность доступа к CD-ROM'у, то вставьте # в конфиг самбы следующие опции: [cdrom] fake oplocks = yes guest ok = yes guest only = yes path = /mnt/cdrom read only = yes 

Также, дополнительную настройку можно выполнить через встроенный в YaST GUI samba.

Того пользователя, что мы указали в самом начале конфига, в данном примере это пользователь nobody, необходимо создать непосредственно в системе. Задать ему необходимые права (дома, имеет смысл поставить полные права, на создание, удаление, редактирование всех файлов и папок (т.е. права 777). Также, если Вы столкнетесь с ситуацией, когда по какой-то причине станет невозможным удаление/создание файлов в какой-либо из папок на сервере, то выполните команду:

chmod 777 -R /path

Разберем её, на всякий случай:
chmod — команда установки прав.
777 — собственно права, в буквенном обозначении означают rwx, rwx, rwx — права чтение, запись, выполнение для владельца, группы(где состоит владелец), всех.
-R — ключ рекурсии, для того чтобы команда выполнилась не только для той папки(и файлов, находящихся в ней), которую Вы указали в /path, но и для всех под-папок и файлов в них тоже.
/path — путь до папки, на которую необходимо установить права. Аналогичная команда соответствует FTP серверу, если возникли похожие проблемы. Да, и надо оговориться, что если возникают подобные проблемы, то скорей всего проблема кроется в пользователях созданных в системе, а точнее в правах, выданных на использование их домашних директорий.

rTorrent.
Полу-автоматизированный торрент клиент.
На самом деле, это обычный торрент клиент, но, возможности настройки которого, очень богаты разнообразием. Сейчас мы с Вами разберём одну очень полезную функцию данного клиента. Представьте, Вы уже настроили самбу на Вашем домашнем сервере, файловое хранилище, находящееся на сервере подключена к Вашему компьютеру как Сетевой Диск, Вы открываете Ваш сетевой диск, открываете папку torrents, там открываете папку music и перемещаете туда все торрент файлы с музыкой, которые Вы хотите скачать и… всё, ложитесь спать. На утро уже будут скачены и проверены хеши всех торрентов, что Вы туда положили (тут конечно всё зависит от того сколько торрентов Вы хотите скачать, какой у них вес и какова ширина Вашего интернет канала). Нравится? Вот и я балдею уже как пол года, от этой функции.
Давайте разбираться.
Вам надо установить rtorrent, выполняем следующую команду в терминале:

zypper in rtorrent

После того, как Вы скачали и установили торрент-клиент rtorrent, необходимо произвести настройку клиента. Настройка программы осуществляется при помощи конфигурационного файла .rtorrent.rc, размещаемого в домашнем каталоге пользователя. (По умолчанию файл .rtorrent.rc отсутствует. Его нужно создавать самостоятельно. Привожу пример с подробными комментариями рабочего конфига:

#обмен пирами? Да! peer_exchange = yes #минимальное число пиров на торрент min_peers = 1 #максимальное число пиров на торрент max_peers = 1000 #максимальная скорость загрузки download_rate = 0 #максимальная скорость отдачи. 1 - не ограничена upload_rate = 0 #каталог для сохранения закачек или откуда будут сидироваться торренты. directory = /files/torrents #каталог куда будет сохраняться состояние торрентов. #Здесь, в этом примере, они сохраняются в папку session session = /files/torrents/session/ #rtorrent каждые 5 секунд проверяет этот каталог на новые *.torrent #файлы #и если они есть то ставит их на закачку #schedule = watch_directory,5,5,load_start=/home/user/torrent_auto_load/ #проверяет каталоги на новые *.torrent файлы и сохраняет закачки в #соответствующие папки schedule = watch_directory,5,5,"load_start=/files/torrents/music/*.torrent,d.set_directory=/files/music" schedule = watch_directory_2,5,5,"load_start=/files/torrents/video/*.torrent,d.set_directory=/files/video" schedule = watch_directory_3,5,5,"load_start=/files/torrents/video/serial/*.torrent,d.set_directory=/files/video/serial" schedule = watch_directory_4,5,5,"load_start=/files/torrents/progs/*.torrent,d.set_directory=/files/progs" schedule = watch_directory_5,5,5,"load_start=/files/torrents/games/*.torrent,d.set_directory=/files/games" schedule = watch_directory_6,5,5,"load_start=/files/torrents/unsorted/*.torrent,d.set_directory=/files/unsorted" schedule = watch_directory_7,5,5,"load_start=/files/torrents/doc/*.torrent,d.set_directory=/files/doc" schedule = watch_directory_8,5,5,"load_start=/files/torrents/doc/books/*.torrent,d.set_directory=/files/doc/books" #Удаление торрент-файлов из директории music(потому что в данном #примере, папка music идет как "directory"(#1), которые уже скачаны. schedule = untied_directory,7,5,remove_untied= #номер порта (или нескольких портов) который открывает клиент для #обмена данными port_range = 40890-40890 #случайный выбор порта для обмена данными. В данном случае он #отключён port_random = no #проверять хэш торрента после закачки check_hash = yes #сохранять сессию session_save = yes #принимать зашифрованные входящие соединения, устанавливать #незашифрованные исходящие соединения, #если возвращает ошибку, повторять с шифрованием, предпочитать #открытый текст после установления #зашифрованного соединения encryption = allow_incoming,enable_retry,prefer_plaintext #использовать udp use_udp_trackers = yes 

image

Рисунок 2. Главное окно программы rTorrent

Собственно и все. Далее хитрый приём, — открываем консоль и пишем(можно и по ssh зайти на сервер):
screen rtorrent
Далее, в терминале откроется торрент-клиент, там же Вы его можете настроить и отладить дополнительно. Теперь нажимаем волшебные комбинации клавиш Ctrl+A затем Ctrl+D и консоль радостно Вас оповестит, что:
[detached]

image

Рисунок 3. «Заскринивание» процесса программы rTorrent.

Это говорит о том, что процесс Вашего торрент-клиента «закринин», то есть выполняется, но его при этом не видно. Для тех, адептов, кому всегда, всё интересно, может прочесть вот здесь про данную утилиту обременять голову такими вещами (хотя, они очень интересные и познавательные, и применяются часто) принудительно я не хочу.
Если Вам понадобилось заного открыть клиент, пишем:

screen -r

ВАЖНО: Если Вы хотите запускать торрент-клиент под рутом(root, т.е. через команду sudo) то, необходимо конфиг файл создавать в корневом каталоге пользователя root, а также, screen -r необходимо выполнять также, под тем же пользователем, под которым Вы ее «заскринили».
Таким образом, у Вас в фоне всегда будет висеть торрент-клиент, который будет качать и раздавать ровно столько, сколько будет работать Ваш сервер.

На этой «важной» ноте, я хочу закончить данную статью. Спасибо за внимание, и да, пользуйтесь поисковиком Google, он молодец!

Если ошибся топиком, подскажите куда перенести.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *