Поддиректорию для обмена файлами linux

Содержание
  1. Как создать сетевую папку на Linux Астра чтобы был доступ из сети Winows или Линукс?
  2. Как предоставить общий доступ из Windows к сетевой папке на Linux по логину и паролю?
  3. Множественное подключение к серверу или разделяемым ресурсам одним пользователем с использованием более одного имени пользователя не разрешено — как исправить ошибку (samba)?
  4. Как предоставить анонимный доступ к общей сетевой папке samba линукс из сети Windows?
  5. Как отключить ввод пароля для разблокирования связки ключей «Основная» при подключении сетевой папки?
  6. Как увидеть и подключить общую сетевую папку Windows в Линукс Астра?
  7. Как настроить автоматические монтирование сетевой папки в Астра Линукс?
  8. Передача файлов по сети Linux
  9. Передача файлов по сети Linux
  10. 1. Утилита nc
  11. 2. Передача файлов ssh
  12. 3. Передача файлов по FTP
  13. 4. Как передать файл в rsync
  14. 5. Сервер NFS
  15. 6. Сервер Samba
  16. 7. KDE-Connect
  17. Выводы

Как создать сетевую папку на Linux Астра чтобы был доступ из сети Winows или Линукс?

Друзья, доброго времени! Создание сетевых ресурсов и организация общего доступа к ним — рутинный навык системных администраторов. Сегодня будем учиться делать это в линукс астра.

Процесc сильно отличается от того, что мы видим в обычно в Windows и новичкам порой нелегко быстро разобраться. Но результат — безопасная и ясная настройка доступа. Приступим к изучению samba — файлового сервера.

Тонкости SAMBA обязательно нужно знать и начнем с общих папок. Предлагаю начать с создания настроек samba с нуля . В дальнейшем легче будет постигать более сложные настройки которые предоставляют разработчики. Итак..

Как предоставить общий доступ из Windows к сетевой папке на Linux по логину и паролю?

Установили Линукс в качестве сервера и хотели привычно открыть доступ к его сетевым папкам для компьютеров сети Windows. А в папку не попасть?

Давайте разбираться. Для начала текущий конфигурационный файл с настройками скопируем куда нибудь в другое место (еще пригодится),а вместо него создадим пустой и настроим его нуля самостоятельно.

Вызовем терминал ( Alt+t ). Запустим Midnight Commander с наивысшими правами:

..найдем файл smb.conf в папке /etc/samba/smb.conf и переместим его в другую папку, например в /tls того же каталога:

Вместо него создадим его пустой аналог c помощью команды «touch»:

sudo touch /etc/samba/smb.conf

Чуть позже начнем наполнять его настройками; сейчас сначала добавим пользователей файлового сервера samba. В нашем примере имя пользователя самба должно совпадать с именем учетной записи пользователя Линукс. А пароль не должен совпадать с паролем учетной записи. Добавим:

sudo smbpasswd -a superuser

Чтобы удалить пароль, введите:

sudo smbpasswd -n superuser

Активируем созданного пользователя samba:

smbpasswd -e superuser

  • где superuser имя пользователя samba.

Теперь займемся непосредственно созданием сетевой папки. Задача — создать доступный администратору ресурс по логину и паролю, в который можно попасть с любого компьютера . Создадим папку soft:

sudo mkdir /media/soft

Обязательно сменим владельца и группу (папка создана в корневой файловой системе) на superuser:

sudo chown superuser:superuser /media/soft

Предоставим полные права созданной папке ее новому хозяину:

sudochmod 777 /media/soft

Далее, начнем заполнять наш конфигурационный файл в текстовом редакторе; откроем его программой kate (с наивысшими правами):

sudo kate /etc/samba/smb.conf

В файл конфигурации необходимо корректно вносить информацию, соблюдая пробелы:

Конфигурационный файл принято разбивать на секции. Каждая секция начинается с квадратных скобок. Глобальная секция содержит настройки касающиеся режимов работы файлового сервера. И влияет на все что ниже. Имя нашего общего ресурса — это следующая секция и т.д. Для нашей задачи настройки будут такими:

[global] workgroup = office
server string = server Астра Линукс 2,12 Орел
interfaces = 127.0.0.0/8, 192.168.1.2/24, 192.168.1.3/24

map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
panic action = /usr/share/samba/panic-action %d
security = user
usershare allow guests = yes

# Сетевая папка для админа

[soft] comment = пользовательский прикладной софт
path = /media/soft
create mask = 0775
directory mask = 0775
read only = no
browseable = yes
guest only = no
public = yes
valid users = admin, superuser
writeable = yes

Читайте также:  Linux как зайти сетевую

Дополнительно в свойствах созданной папки можно менять «дискреционные атрибуты» на просмотр, запись и исполнение и смотреть потом, как это влияет на доступ:

Сохраняем содержимое; теперь нужно перезапустить сервисы samba, чтобы изменения вступили в силу:

sudo service smbd restart sudo service nmbd restart

Множественное подключение к серверу или разделяемым ресурсам одним пользователем с использованием более одного имени пользователя не разрешено — как исправить ошибку (samba)?

При попытке зайти в папку по сети с другого компьютера возникает эта ошибка. Чтобы ее обойти нужно создать на компьютере с Линукс астра нового пользователя системы , например:

sudo adduser admin

Можно добавить нового пользователя Линукс Астра и через «панель управления», там нагляднее:

Далее создать нового пользователя сервера samba под тем же именем:

sudo smbpasswd -a admih

Включить (активировать) его:

sudo smbpasswd -e admih

В конфигурационном файле smb.conf подправить параметр «valid users = superuser, admin«, рестарт служб самбы. Далее, проверяем настройки файла hosts на сервере.

sudo kate /etc/hosts

… прописsdftv туда имя компьютера (хоста) на соответствие локальному хосту или назначенный ему локальный IP адрес:

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

В компьютере с Windows вбиваем в проводник имя компьютера \\homeastra\soft , вводим имя пользователя и пароль. Можно для автоматического подключения при загрузке подключить нашу папку в качестве сетевого диска:

Если из Windows не удается настроить подключение из за непонятных глюков чистим сетевой кеш в windows, так, как это рассказано здесь.

Как предоставить анонимный доступ к общей сетевой папке samba линукс из сети Windows?

В предыдущем примере предоставили доступ к сетевой папке по логину и паролю. Но для обмена файлами пользователи часто используют общую гостевую папку, доступ по паролю в нее необязателен.

Сначала создадим гостевую папку для общего доступа:

Выясним ее реальное расположение. Обратите внимание — наша общая папка опять создана не в домашнем каталоге пользователя, а в файловой системе, это важно:

Нужно изменить владельца папки на nobody и назначить соответствующую группу nogroup. По умолчанию самба воспринимает эти имена как гостевые. Один из способов команда chown:

sudo chown nobody:nogroup /media/gostevaya

и командой chmod предоставим полные права на содержимое :

sudo chmod 777 /media/gostevaya

Теперь в настройках файла smb.conf создаем еще одну секцию [gostevaya] со следующими параметрами.

global] workgroup = office
server string = server . . 2,12 .
netbios aliases = s800 s801 s802 s803
interfaces = 127.0.0.0/8, 192.168.1.4/24, 192.168.1.5./24
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
panic action = /usr/share/samba/panic-action %d
security = user
usershare allow guests = yes

[gostevaya] comment = публичная папка
path = /media/gostevaya
read only = no
guest ok = yes
browseable = yes

[soft] comment = папка с софтом
path = /media/soft
create mask = 0775
directory mask = 0775
read only = no
browseable = yes
guest only = no
public = yes
valid users = admin,superuser
writeable = yes

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

Как отключить ввод пароля для разблокирования связки ключей «Основная» при подключении сетевой папки?

При взаимодействии с сетью Windows (а так же при запуске приложений Skype и других) Astra Linux каждый раз будет требовать ввода пароля для проверки легальности запуска того или иного потенциально опасного приложения. В качестве такой проверки нужно каждый раз вводить пароль.

Есть возможность отключить эту функцию, или сделать ее использование более удобным. Для этого потребуется пакет «Морская лошадь». Установим его:

sudo apt install seahorse

Запуск — команда из терминала

Теперь можно проверять доступ к папке из Windows; даже если система спросит пароль — ничего не вводите, должна пустить.

Читайте также:  При включении ahci не запускается windows

Как увидеть и подключить общую сетевую папку Windows в Линукс Астра?

Если samba установлен, то можно вывести список ВСЕХ общих папок командой в терминале:

либо СПИСОК открытых ресурсов на какой либо конкретной станции в сети:

sudo smbclient -L \\homeastra -n (если вход без пароля)
sudo smbclient -L \\homeastra -u username (если вход по паролю)

После перезагрузки нужно будет опять вводить пароль. Чтобы сетевая папка автоматически подключалась при загрузке нужно ее примонтировать особым образом.

Как настроить автоматические монтирование сетевой папки в Астра Линукс?

  • где sudo mount команда на монтирование;
  • -t cifs команада монтирования файловой системы (пакет cifs установлен по умолчанию в Астра Линукс);
  • -o включаем доп.опции монтирования;
  • username, password имя пользователя и его пароль (владелец папки);
  • uid 1000 — опция делает владельцем папки текущего пользователя линукс;
  • указание кодировки iocharset=utf8 помогает «понимать» русские символы в имени файлов и папок;
  • //192.168.1.22 адрес компьютера в сети или его имя;
  • /media/22 точка монтирования, в конечной папке «22»

Чтобы избежать ошибки BAD UNC при монтировании, перед IP адресом или именем компьютера обязательно должна быть двойная косая черта!

Далее, надо сделать автоматическое монтирование сетевой папки при загрузке . Для этого размонтируем пока нашу шару:

sudo umount /media/mar

И внесем изменения в файл /etc/fstab. Данные пользователей и пароли принято прятать. Файл fstab может открыть посторонний и легко получить пароли других компьютеров. Нужно создать текстовый файл samba22

sudo kate /samba22

и записать туда имя пользователя компьютера и его пароль в следующем виде, сохранить файл:

Узнаем путь до файла:

В моем примере файл находится в папке home/superuser/samba22

Изменим права на файл samba22, чтобы другие пользователи не могли его просматривать и изменять:

sudo chmod 600 /home/superuser/samba22

теперь можно безопасно использовать содержимое нашего файла samba22 в команде следующего вида:

//192.168.1.22/Сетевая папка /media/22 cifs credentials=/home/superuser/samba22,uid=1000,iocharset=utf8,nofail 0 0

Откроем на редактирование файл /etc/fstab

sudo kate /etc/fstab

И вставим нашу строку в этот файл. После внесенных изменений выполним команду:

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

Вот и все на сегодня. В одной небольшой статье не охватить все тонкости настроек общих принтеров и папок. Для справки планирую перевод документации по samba в нескольких статьях на блоге! Удачи!

Источник

Передача файлов по сети Linux

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

Если оба устройства подсоединены к одной сети идеальным вариантом будет передача файлов по сети linux. Здесь мы получаем большую скорость, и удобство использования — не нужно искать флешку или USB провод, достаточно прозрачно скопировать файл в нужную папку и он уже на целевом устройстве. Сегодня мы рассмотрим основные способы передачи файлов по сети между компьютерами.

Передача файлов по сети Linux

1. Утилита nc

Этот способ отлично подойдет, если вам нужно передать один или несколько файлов и вы не хотите устанавливать никаких новых программ в систему. Утилита nc или netcat позволяет создавать tcp и unix сокеты в системе. По сути, это туннели, через которые мы можем передать любые данные, в том числе и файлы.

Утилита уже предустановлена, так что ничего дополнительно ставить не придется, нужно только знать IP адреса компьютеров в сети. Сначала создаем слушающий сокет на компьютере, все поступившие на него данные сразу пишем в файл:

nc -l -p 12345 > newfile

Здесь опция -p задает порт, можно брать привольное значение, только чтобы совпадало в обоих командах. Теперь отправляем файл из другого компьютера:

cat file | nc 192.168.0.101 12345

Тут мы указываем тот же порт и ip компьютера, где был запущен слушающий сокет — 192.168.0.101. Убедитесь, что Firewall не мешает подключению к выбранному порту иначе ничего не получится.

Читайте также:  Windows для hp touchsmart

Мы можем передавать не только файлы, но и папки. Передача может быть выполнена в обоих направлениях, теперь отправим не на сокет, и от сокета:

tar -cf — /data | nc -l -p 12345

И принимаем отравленные данные на другом компьютере:

nc 192.168.1.2 12345 | tar -xf —

2. Передача файлов ssh

Передача файлов по ssh Linux — это самый быстрый и удобный способ обмена файлами. Достаточно, чтобы на компьютере была запущена служба SSH и у вас был к ней доступ. Затем с помощью утилиты scp туда можно передать любой, файл, это быстро и удобно, а ещё вы можете выбрать папку, в которую его надо сохранить. Допустим, вам надо передать файл с именем

/file.txt на компьютер с IP адресом 192.168.0.101, тогда используйте такую команду:

Утилита загрузит файл прямо в домашнюю папку на удалённом компьютере и вы сможете выполнять с ним действия по SSH. Если надо передать все файлы из папки можно использовать опцию -r:

Читайте более подробно про утилиту scp в отдельной статье.

3. Передача файлов по FTP

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

4. Как передать файл в rsync

Утилита rsync тоже использует для передачи файлов SSH, однако она позволяет передавать целые папки, а также следить за состоянием файлов и если на удалённом компьютере такой файл уже есть, то он передаваться не будет. Таким образом можно копировать только измененные файлы и удобно передавать целые папки. Для примера возьмем тот же компьютер 192.168.0.101 и папку

Мы записываем все файлы из папки

/files в папку /home/root, а также получаем возможность синхронизировать их. Подробнее про rsync читайте в отдельной статье.

5. Сервер NFS

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

6. Сервер Samba

Передавать файлы в Windows на Linux и обратно может помочь удалённый доступ с помощью Samba сервера. Если развернуть сервер Samba на Linux машине, то к нему можно будет подключится из Windows и видеть все файлы в общей папке. Samba — не очень хорошее решение, так как могут возникнуть проблемы с файлами больше 1 Гб, передающимися очень долго, но для обмена файлами между Windows и Linux довольно неплохое решение, тем более, что обмен файлами выполняется через стандартный файловый менеджер.

7. KDE-Connect

Для обмена файлами между компьютером Linux и Android можно использовать программу KDE-Connect. У неё есть приложение для Android, она встроена в окружение KDE, а для Gnome есть расширение GSConnect. Утилита позволяет передавать файлы на компьютер прямо с телефона, а также монтировать общую папку, в которую можно скидывать как файлы на компьютере, так и файлы на телефоне. Очень удобно. Читайте подробнее в статье про настройку KDE-Connect.

Выводы

Вы можете спросить, а какой же способ мне использовать? Ответ зависит от ваших потребностей, если вам нужен только передать один файл раз в месяц, может решением станет scp или FTP, а для регулярной передачи файлов по сети Linux удобнее использовать rsync, к тому же с помощью этой утилиты можно запланировать автоматическую синхронизацию. А какими способами пользуетесь вы? Напишите в комментариях!

Источник

Оцените статью