Доступ к unix из windows

I like the idea of having a shared drive attached to my always-on Linux system, so that all my computers (Windows and Mac) can access those in a central place. It’s like a NAS without having a NAS box if you know what I mean. The easiest way to accomplish this is by using the Samba Protocol.

Essentially we’ll declare a part of our Linux system as a Samba Share, setup credentials in Samba, then let users from other systems access these files. It’s a little complex to get going, but I’ll show you all the relevant steps here. This works on CentOS 7 and Fedora.

Installing Samba

Let’s get the packages installed first:

yum install samba

This should bring up samba and install samba-common-tools as well. Let’s also start and enable Samba on system start while we’re at it.

systemctl enable smb
systemctl start smb

Setting up Samba Credentials

I already have a regular Linux user on my system, let’s call him “shareuser”. Samba needs its own password for a user, which can be a different one from the system password. We can set this up with the following command (as root), which will prompt for a new password.

smbpasswd -a username

You can run the same command as the system user too without specifying a user. man smbpasswd has more details. Once confirmed, the current (or specified) system user will be added to the Samba user group.

Setting up the Shared Folder

We need to pick a folder we’d like to use. It can live anywhere on the system, even on mounted drives. All we need is the full path to it and set it up in the Samba configuration file. We can find it here: /etc/samba/smb.conf

Use your favourite text editor and add the following to the bottom of the file:

# My Samba Share
[supershare]
path = /home/shareuser/Desktop/supershare
available = yes
valid users = shareuser
read only = no
browsable = yes
public = yes
writable = yes

I’m calling my share “supershare” here, but that’s arbitrary. The idea is that you could have various locations for different users on one system. My system (and Samba) user is called “shareuser”, and my folder location is on his Desktop. It could be anywhere else of course.

Setting the Samba Protocol

With the above configuration, macOS and other Linux systems can already access the shared folder. Windows 10 however will throw an error (or rather not connect without any clue as to what’s wrong), because the SMBv1 protocol is no longer supported for security reasons. Something about a the WannaCrypt/WannaCry exploit and ransom demands.

To keep us safe, let’s ask Samba to use a newer protocol by default instead. SMBv2 will work, and depending on your Linux (or rather Samba) version you can go up to 3 or 4. Find the [global] section in your Samba config file and add the following as the last line before the next block (leave all other lines intact).

[global]
min protocol = SMB2

After any change to the config file, we need to restart the Samba service:

systemctl restart smb

Firewalld and SELinux

By default Samba connections are blocked by the firewalld service. We can fix this by adding the following rule:

firewall-cmd --add-service samba --permanent
systemctl restart firewalld

If SELinux is enabled on the system, you can optionally add the following value to allow the Samba service write access (not necessary if SELinux is disabled or permissive):

setsebool smbd_anon_write=1

Restart the system after setting this, otherwise the changes won’t take effect.

Accessing Files from Windows 10

Now comes the moment of truth: can we connect from Windows? There’s various ways of doing this, but the easiest one is to setup a permanent connect so we don’t have to type in our credentials every time we want to access those files. Open Windows Explorer and choose Add a Network Location.

This lets you specify the location on the network, either via IP address or name. Start with two backslashes, like so

  • \\10.1.2.3\supershare
  • or
  • \\yourserver\supershare

If the connection is successful, Windows will prompt you for credentials.

And that’s it! Now you can navigate to your shared Linux folder and copy files to it or remove them.

Accessing files from macOS

On the Mac it’s equally easy. Head over to the Go menu in your Finder and select Connect to Server.

Mac likes us to specify the protocol with which we’re connecting and accepts IP addresses and server names alike:

  • smb://10.2.3.4/supershare
  • or
  • smb://yourserver/supershare

It will ask for credentials when you connect and offer to store them for next time.

Troubleshooting

The number one cause of trouble is – as always – SELinux. I don’t recall the amount of times that it has ruined my day. The easiest way to switch it into permissive mode and “just let things happen for now” is to use this:

setenforce permissive

This will use permissive mode until you restart the Linux system. To make it permanent, take a look at this article. Remember to add Samba to the SELinux permissions as explained earlier in this article.

Another point of confusion is the duality between what a share is called in the settings (in square brackets) and what your folder is called. While your actual folder may be called “stuff”, your share can be called something else and then present the contents of the “stuff” folder. In the heat of the moment, our brains can play tricks with us.

Lastly, don’t confuse your local Linux user credentials with that of the Samba user. Those are (or can be) two different ones.

Further Reading

  • https://www.prajwaldesai.com/cant-connect-to-file-share-obsolete-smb1-protocol/
  • https://www.cyberciti.biz/faq/how-to-configure-samba-to-use-smbv2-and-disable-smbv1-on-linux-or-unix/

Что такое SAMBA?

Установка

Конфигурационный файл smb.cnf

Пользователи и пароли

Доступ к дискам Linux из Windows

Доступ к дискам Windows из Linux

Доступ к принтеру Linux для клиентов Windows

Доступ к принтеру Windows для клиентов Linux

Русификация и тестирование файла конфигурации

В последнее время популярность Linux растет буквально каждый день. Linux является
высокопроизводительной некоммерческой операционной системой, одной из разновидностей
Unix. Как известно, она была создана выпускником Хельсинкского университета
Линусом Торвальдсом. Основными преимуществами Linux являются открытость и мультипоточность,
кроме того, в ней есть возможности четкого разграничения ресурсов и уровней
доступа пользователей. На сегодняшний день многие производители программного
обеспечения поддерживают эту операционную систему; среди них выделим Oracle
и Informix.

В этой статье рассматривается, как
организовать совместное использование ресурсов
операционных систем Windows и Linux с помощью пакета
программ Samba.

Что такое SAMBA?

Samba — набор программ, которые
предназначены для организации доступа клиентов
к файловому пространству сервера и принтерам с
помощью протоколов SMB (Server Message Block)и CIFS (Common Internet
Filesystem). Первоначально написанный для Unix Samba
теперь также работает под управлением и других
ОС, в частности OS/2 и VMS. Это означает, что такие
средства этих операционных систем, как
файл-сервер и сервер печати, могут быть
использованы для SMB- и CIFS-клиентов. В настоящее
время существуют соответствующие клиенты для DOS,
Windows NT, Windows 95, Linux smbfs, OS/2, Pathworks. Протокол SMB
используется Microsoft Windows NT и 95 для организации
доступа к дискам и принтерам.

При помощи SAMBA возможно:

  • предоставлять доступ к файловой системе под ОС Linux для Windows-машин;
  • получать доступ к файловой системе под ОС Windows для Linux-машин;
  • предоставлять доступ к принтерам под ОС Linux для Windows-машин;
  • получать доступ к принтерам под ОС Windows для Linux-машин.

Компоненты пакета Samba выполняют
следующие функции:

  • Демон smbd предоставляет службы доступа к файлам и принтерам для клиентов
    протокола SMB, таких как Windows 95/98, Windows for Workgroups, Windows NT
    или LanManager. Конфигурация для этого демона задается в файле smb.cfg.
  • Демон nmbd обеспечивает поддержку сервера имен Netbios для клиентов. Он
    может запускаться в интерактивном режиме для опроса других демонов службы
    имен.
  • Программа smbclient является простым SMB-клиентом для UNIX-машин. Она используется
    для доступа к ресурсам на других SMB-совместимых серверах (таких как Windows
    NT), а также позволяет UNIX-станции воспользоваться удаленным принтером, подключенным
    к любому SMB-серверу (например, к компьютеру с WfWg).
  • Утилита testparm предназначена для проверки файла конфигурации smb.conf.
  • Утилита smbstatus позволяет выяснить, кто в данный момент использует сервер
    smbd.
  • Утилита nmblookup дает возможность запрашивать имена NetBios из UNIX-машин.
  • При помощи утилиты make smbcodepages создаются файлы для описания SMB кодовой
    страницы.
  • Утилита smbpasswd дает возможность шифровать пароли.

Каждый компонент детально описан на страницах руководства, поставляемого с
пакетом Samba.

Установка

Пакет Samba очень прост в установке и
настройке.

Для начала будем считать, что вы
установили дистрибутив RedHat с поддержкой Samba.

Итак, начнем.

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

  • smbd (демон SMB);
  • nmbd (демон сервера имен NetBIOS).

Они устанавливаются в /usr/sbin и могут
запускаться либо вручную, либо автоматически при
загрузке из системных скриптов, либо из inetd.conf.
Рассмотрим оба автоматических запуска.

Первый способ — из системных
стартовых скриптов. Необходимо написать
следующий скрипт в файл /etc/rc.d/init.d/smb и создать на
него символические ссылки с именами файлов,
указанных в комментариях.

#!/bin/sh 
# 
# /etc/rc.d/init.d/smb - запускает и останавливает SMB-сервисы
#
#Следующие файлы должны быть символическими ссылками на этот файл:
# symlinks: /etc/rc.d/rc1.d/K35smb (Убивает SMB-сервисы при выключении)
# /etc/rc.d/rc3.d/S91smb (Запускает SMB-сервисы 
# в мультипользовательском режиме)
# /etc/rc.d/rc6.d/K35smb (Убивает SMB-сервисы при перезагрузке)
#
# Источник библиотеки функций.
. /etc/rc.d/init.d/functions
# Источник сетевой конфигурации.
. /etc/sysconfig/network
# Проверка сети.
[ ${NETWORKING} = “no” ] && exit 0
# Смотрите, как мы здесь вызываем.
case “$1” in
  start)
    echo -n “Starting SMB services: “
    daemon smbd -D 
    daemon nmbd -D 
    echo
    touch /var/lock/subsys/smb
    ;;
  stop)
    echo -n “Shutting down SMB services: “
    killproc smbd
    killproc nmbd
    rm -f /var/lock/subsys/smb
    echo “”
    ;;
  *)
    echo “Usage: smb {start|stop}”
    exit 1
esac

Второй способ. Запуск SMB-демонов из inetd.
Для этого необходимо включить следующие строки в
файл /etc/inetd.conf:

# SAMBA NetBIOS services (for PC file and print sharing) 
netbios-ssn stream tcp nowait root /usr/sbin/smod smod 
netbios-ns dgram upd wait root /usr/sbin/nmbd nmbd 

Далее производится рестарт демона inet:

kill –HUP 1

Выберите один из способов запуска демонов и примените его. Следует заметить,
что при установке пакета SAMBA по умолчанию демоны всегда включаются в «автомат».
Так что скрипты можно не редактировать.

После того как мы разобрались с запуском демонов, необходимо сконфигурировать
SMB-сервер. Это операция заключается в настройке главного конфигурационного
файла — /etc/smb.cnf.

Конфигурационный файл smb.cnf

Настройка Samba в Linux (или других
UNIX-машинах) контролируется единственным файлом
— /etc/smb.cnf. Этот файл определяет, к каким системным
ресурсам вы намереваетесь дать доступ клиентам и
какие ограничения собираетесь наложить на
использование этих ресурсов.

Рассмотрим этот файл. Он состоит из
секций и параметров. Секции начинаются с
наименования, заключенного в квадратные скобки,
и продолжаются до начала следующей секции. Они
содержат параметры следующей формы:

  ‘имя = параметр’  

В файле все записи — линии. Каждая
линия может быть комментарием, названием секции
или параметром. Секции и имена параметров не
чувствительны к регистру.

Каждая секция в конфигурационном
файле (кроме секции [global]) описывает ресурс
доступа. Имя секции — это имя ресурса доступа.
Ресурс доступа включает путь к директории
доступа и описание прав доступа пользователей.

Например, создадим на диске директорию
/common и выделим ее как сетевой ресурс для всех
клиентов по записи и чтению:

[common]
    path = /common 
    public = yes
    guest ok = yes
    writable = yes
    printable = no

Все записанные любым пользователем в
этот ресурс файлы будут иметь права:

  • для создателя — все (чтение, запись, исполнение);
  • для группы (в которую входит пользователь) — чтение;
  • для всех остальных — чтение.

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

create mask = 0777

Существует три специальные секции:

  1. Секция [global] определяет некоторые переменные, которые Samba будет использовать
    для определения доступа ко всем ресурсам.
  2. Секция [homes] позволяет удаленным пользователям иметь доступ к своим (и
    только своим) домашним каталогам на Linux-машине. Так что если пользователи
    Windows попытаются подключиться к этому разделу со своих Windows-машин, то
    они будут подключены к своим персональным домашним директориям. Заметим, что
    для того, чтобы это сделать, они должны быть зарегистрированы на этой Linux-машине.
  3. Секция [printers] схожа с [homes], но для принтеров.

Для понимания SMB-сервера верхнего и
нижнего регистра в наименовании файлов в секции
[global] необходимо раскомментировать строку

case sensitive = yes

Пример части файла:

[global]
; Раскомментируйте эту строку, если вы хотите дать доступ
                       ; пользователю “гость”
; guest account = nobody 
log file = /var/log/samba-log.%m ;путь лог-файла
lock directory = /var/lock/samba 
share modes = yes


[homes]                ; В сети ресурс будет    виден как имя пользователя 
                       ;или будет отсутствовать, 
; если пользователь не найден 
comment = Home         ; В комментарии    будет написано “Home” 
guest ok = no          ; Запретим    гостевой доступ 
browsable = no         ; Не будем показывать    другим 
read only = no         ; Разрешим запись  
create mode = 700      ; Создаваемые файлы будут    видны только пользователю

[public]               ;Под таким именем ресурс будет виден
path = /var/public     ; Путь к ресурсу
comment = Welcome!     ; Что будет написано при детальном листинге
force user = nobody    ; Работа с файлами будет производиться 
; от лица nobody
guest ok = yes         ; Возможен ли доступ для    любого пользователя
browsable = yes        ; Появится ли ресурс при листинге
read only = no         ; Не только для чтения.

[tmp] 
comment = Temporary file space 
path = /tmp 
read only = no 
public = yes

Пользователи и пароли

Для доступа клиента к SMB-серверу
необходимо:

1. Добавить пользователя в систему.

2. Добавить пользователя в учетные записи SMB-сервера. Для этого надо ввести
команду:

smbadduser LinuxUser:SMBUser, 

где LinuxUser — имя пользователя в системе

SMBUser — имя SMB-пользователя.

далее на запрос о присвоении пароля
введите пароль клиента.

3. Раскомментировать строки с описанием пользователей и их паролей:

smb passwd file = /etc/smbpasswd
username map = /etc/smbusers

Внимание: если вы хотите дать доступ
пользователям, работающим под Windows с шифрованием
пароля, необходимо раскомментировать строку:

encrypt passwords = yes

Доступ к дискам Linux из Windows

Организация доступа к дискам Linux очень проста и сводится всего лишь к редактированию
файла конфигурации smb.cnf, то есть к добавлению секции (как это делается, было
рассмотрено выше).

Доступ к дискам Windows из Linux

Программа клиента SMB для UNIX-машин
включена в дистрибутив Samba. Она обеспечивает
ftp-подобный интерфейс командной строки. Вы можете
использовать эту утилиту для переноса файлов
сервера под управлением Windows клиенту под
управлением Linux. Для того чтобы увидеть, какие
ресурсы доступны на данной машине, необходимо
выполнить команду:

/usr/sbin/smbclient -L host

где «host» — это имя машины, доступные ресурсы которой вы хотите увидеть. Эта
команда вернет список имен «сервисов» — то есть имен дисков или принтеров, к
которым может быть получен доступ. До тех пор пока SMB-сервер не будет настроен
для управления доступом, он будет запрашивать пароль. Введите в ответ на запрос
пароль для пользователя «гость (guest)» или ваш персональный пароль на этой
машине.

Например:

smbclient -L redfox

Вывод этой команды должен выглядеть
примерно так:

Server time is Sat Aug 10 12:01:11 1998
Timezone is UTC+3.0
Password: 
Domain=[DOMAIN42] OS=[Windows NT 4.0] Server=[NT LAN Manager ]
Server=[REDFOX] User=[] Workgroup=[DOMAIN42] Domain=[]
 Sharename Type Comment
   ———— —— ———-
   ADMIN$ Disk Remote Admin
   public Disk Public 
   C$ Disk Default share
   IPC$ IPC Remote IPC
   OReilly Printer OReilly
   print$ Disk Printer Drivers
This machine has a browse list:
 Server Comment
   ———— ———-
   ALEX Samba 1.9.15p8
   MARRY Samba 1.9.15p8
   VASER Samba 1.9.15p8
   REDFOX 

Browse list показывает другие SMB-серверы в
сети с доступными ресурсами.

Для использования клиента выполните
следующую команду:

/usr/sbin/smbclient service <password>

где «service» — имя машины и сервиса.
Например, если вы пытаетесь обратиться к
директории, которая доступна под именем «public» на
машине, названной «redfox», то имя сервиса должно
звучать как \\redfox\public. Однако вследствие
ограничений оболочки вам необходимо спрятать
обратный слэш, так что в итоге эта командная
строка будет выглядеть следующим образом:

/usr/sbin/smbclient \\\\redfox\\public mypasswd

где «mypasswd» — символьная строка вашего пароля.

Вы получите приглашение smbclient:

  Server time is Sat Aug 10 12:01:11 1998
Timezone is UTC+3.0
Password: 
Domain=[DOMAIN42] OS=[Windows NT 4.0] Server=[NT LAN Manager ]
Server=[REDFOX] User=[] Workgroup=[DOMAIN42] Domain=[]
smb: \> 

Чтобы получить помощь по использованию smbclient, напечатайте «h»:

smb: \> h
ls dir lcd cd pwd 
get mget put mput rename 
more mask del rm mkdir 
md rmdir rd prompt recurse 
translate lowercase print printmode queue 
cancel stat quit q exit 
newer archive tar blocksize tarmode 
setmode help ? ! 
smb: \> 

Доступ к принтеру Linux для клиентов Windows

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

Добавьте настройку принтера в ваш файл
smb.cnf:

[global]

  printing = bsd
  printcap name = /etc/printcap
  load printers = yes
  log file = /var/log/samba-log.%m
  lock directory = /var/lock/samba

[printers]
  comment = All Printers
  security = server
  path = /var/spool/lpd/lp
  browseable = no
  printable = yes
  public = yes
  writable = no
  create mode = 0700

[ljet]
  security = server
  path = /var/spool/lpd/lp
  printer name = lp
  writable = yes
  public = yes
  printable = yes
  print command = lpr -r -h -P %p %s

Убедитесь, что путь к принтеру (в этом
случае для [ljet]) соответствует буферной
директории, указанной в файле /etc/printcap!

Следует заметить, что существуют некоторые проблемы с доступом к принтерам
на UNIX-машинах для машин с Windows NT с применением Samba. Одна из них состоит
в том, что NT неправильно видит сетевой принтер, другая связана с проблемой
пароля. Для решения этих вопросов ознакомьтесь с файлом docs/WinNT.txt дистрибутива
Samba.

Доступ к принтеру Windows для клиентов Linux

Для доступа к принтеру,
инсталлированному на компьютере с ОС Windows,
необходимо следующее:

  • Вы должны иметь правильные записи в файле /etc/printcap, которые должны
    соответствовать локальной структуре директорий (для буферной директории и
    т.п.).
  • У вас должен быть скрипт /usr/bin/smbprint. Он поставляется вместе с исходными
    текстами Samba, но не со всеми двоичными дистрибутивами Samba. Его слегка
    модифицированная копия обсуждается ниже.
  • Если вы хотите преобразовывать ASCII-файлы в Postscript, то вы должны иметь
    программу nenscript или ее эквивалент. nenscript — это конвертор Postscript,
    он обычно устанавливается в директорию /usr/bin.
  • Вы можете упростить процесс печати через Samba, используя программы-надстройки.
    Простой скрипт на perl, который обрабатывает ASCII, Postscript или преобразованный
    Postscript, приведен ниже.
  • Запись в файле /etc/printcap, приведенном ниже, сделана для принтера HP
    5MP на сервере Windows NT. Используются следующие поля файла /etc/printcap:

cm — комментарий

lp — имя устройства, открываемого для
вывода

sd — директория спула принтера (на
локальной машине)

af — файл учета использования принтера

mx — максимальный размер файла (ноль —
без ограничений)

if — имя входного фильтра (скрипта)

Для более детальной информации о
печати смотрите Printing HOWTO или справочные
страницы по printcap.

  # /etc/printcap
#
# //redfox/oreilly via smbprint
#
lp:\
     :cm=HP 5MP Postscript OReilly on redfox:\
     :lp=/dev/lp1:\
     :sd=/var/spool/lpd/lp:\
     :af=/var/spool/lpd/lp/acct:\
     :mx#0:\
     :if=/usr/bin/smbprint:

Убедитесь, что буферная директория и
директория, используемая для учета пользования,
существуют и имеют право на запись. Убедитесь,
что строка «if» содержит правильный путь к
скрипту smbprint (дан ниже) и что записи указывают на
правильное устройство вывода (специальный файл
/dev).

Далее идет сам скрипт smbprint. Он обычно
находится в директории /usr/bin. Этот скрипт
поставляется вместе с дистрибутивом исходного
кода Samba.

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

  #!/bin/sh -x
# Этот скрипт является входным фильтром для основанной на printcap
# печати на UNIX-машинах. Он использует программу smbclient для
# печати файла на указанный smb-сервер и сервис.
# Например, вы можете иметь запись в printcap, подобную этой
#
# smb:lp=/dev/null:sd=/usr/spool/smb:sh:if=/usr/local/samba/smbprint
#
# которая создает UNIX-принтер, названный “smb”, который будет
# печатать с помощью этого скрипта. Вам необходимо создать директорию
# спула /usr/spool/smb с соответствующими правами и владельцем

# Установите здесь сервер и сервис, на который вы хотите печатать.
# В этом примере я имею PC с WfWg PC, названную “lapland”, которая
# имеет экспортируемый принтер, называемый “printer” без пароля

#
# Далее скрипт был изменен hamiltom@ecnz.co.nz (Michael Hamilton)
# так что сервер, сервис и пароль могут быть считаны из файла
# /usr/var/spool/lpd/PRINTNAME/.config 
#
# Для того чтобы это работало, запись в /etc/printcap должна
# включать файл учета использования (af=...):
#
#    cdcolour:\
#      :cm=CD IBM Colorjet on 6th:\
#      :sd=/var/spool/lpd/cdcolour:\
#      :af=/var/spool/lpd/cdcolour/acct:\
#      :if=/usr/local/etc/smbprint:\
#      :mx=0:\
#      :lp=/dev/null:
#
# Файл /usr/var/spool/lpd/PRINTNAME/.config должен содержать
#    server=PC_SERVER
#    service=PR_SHARENAME
#    password=”password”
#
# Например,
#    server=PAULS_PC
#    service=CJET_371
#    password=””
#
# Debugging log file, change to /dev/null if you like.
#
logfile=/tmp/smb-print.log
# logfile=/dev/null


#
# The last parameter to the filter is the accounting file name.
#
spool_dir=/var/spool/lpd/lp
config_file=$spool_dir/.config

# Should read the following variables set in the config file:
#    server
#    service
#    password
#    user
eval ‘cat $config_file‘

#
# Some debugging help, change the >> to > if you want to same space.
#
echo “server $server, service $service” >> $logfile

(
# NOTE You may wish to add the line ‘echo translate’ if you want automatic
# CR/LF translation when printing.
      echo translate
      echo “print -”
      cat
) | /usr/bin/smbclient “\\\\$server\\$service” $password -U $user -N -P >>    
         $logfile

Большинство дистрибутивов linux
поставляется с программой nenscript для
преобразования ASCII-документов в Postscript. Следующий
скрипт на perl делает жизнь пользователя легче,
обеспечивая простой интерфейс для печати путем
использования smbprint.

Использование: print [-a|c|p] <filename>

      -a печатает <filename> как ASCII
      -c печатает <filename> отформатированный как исходный код
      -p печатает <filename> как Postscript
      Если опции не заданы, программа попробует определить
      тип файла и печатать соответственно

Используя smbprint для печати ASCII-файлов,
скрипт следит за длинными строками. Если
возможно, этот скрипт разрывает длинную строку
на пробеле (вместо разрыва в середине слова).

Форматирование исходного кода выполняется с помощью программы nenscript. Она
берет ASCII-файл и форматирует его в две колонки с заголовком (дата, имя файла
и т.п.). Эта программа также нумерует строки. Postscript-документы уже отформатированы,
так что печатаются сразу.

Русификация и тестирование файла конфигурации

Пакет SAMBA поддерживает любую
кодировку, используемую в названиях файлов. Для
того чтобы можно было использовать кодировки с
русским алфавитом, необходимо внести несколько
строк в конфигурационный файл /etc/smb.cnf в секцию
[global]:

character set = KOI8-R
client code page = 866

Оттестировать файл конфигурации smb.cnf можно при помощи утилиты testparm.
Если в файле конфигурации нет ошибок, testparm сообщит об этом и выдаст список
используемых служб, в противном случае вы получите сообщение об ошибке.

КомпьютерПресс 10’1999

Windows 10: включить Samba для подключения ресурсов в GNU / Linux

Windows 10: включить Samba для подключения ресурсов в GNU / Linux

Как это уже стало общеизвестным и массовым знанием, Samba — это проект бесплатного программного обеспечения что позволяет реализовать Протокол обмена файлами Windows, в операционных системах типа UNIX, особенно бесплатные и открытые, как GNU / Linux.

самба подошел Windows 7 включен по умолчанию. Но с тех пор, то есть в прошлой версии Windows 8.Х, а в текущем Windows 10, его необходимо активировать вручную, чтобы общий ресурс в сети с помощью компьютера с этими Частные операционные системы, быть обнаруженным и подключенным к компьютеру с GNU / Linux. Вот почему важно знать процедуру его активации и достижения этой цели.

Windows 10: Introducción

протокол самба известный как SMB (блок сообщений сервера), и в некоторых литературах, например СИФС (Общая файловая система Интернета), помимо разрешения компьютеров с GNU / Linux, Mac OS X или Unix В общем, они могут совместно использовать или получать доступ к ресурсам в сетях на базе Windows, это на самом деле, набор приложений Unix который реализует Протокол SMB, который используется для клиент-серверные операции в сети.

Таким образом, компьютер Юникс или подобное с самба вы можете войти в Сеть Microsoft, проявляя себя как Сервер и / или Клиент, и, таким образом, уметь:

  • Просматривайте и исследуйте клиентские компьютеры в сети для облегчения совместной работы и взаимодействия с ними.
  • Совместное использование и доступ к сетевым ресурсам, таким как папки, файлы или устройства, такие как диски, принтеры, сканеры и многофункциональные устройства.
  • Упростите проверку клиентских компьютеров с помощью имени доступа к домену Windows.
  • Разрешить взаимодействие и интеграцию с сервером разрешения имен (WINS) в сети Windows.

Наконец, прежде чем углубляться в предмет, помните, что Windows 10, самый современный и продвинутый Операционная система Microsoftиз 29 июля 2015В то время как Windows 7 от Январь 14 2020, больше нет Официальная расширенная поддержка. В то время как, Windows 8.1 пострадают от тех же последствий от Январь 10 2023.

Следовательно, либо их бесплатно заменяют на Бесплатные и открытые операционные системыКак GNU / Linux, или вам придется заплатить цену, чтобы перейти на Windows 10 и таким образом получить официальную поддержку.

Windows 10: Contenido para activar Samba

Наблюдения и рекомендации

В нашем случае мы будем использовать 2 физических компьютера, один с Windows 10 и еще один с MX Linux 19.1 (ДЕБИАН 10) в домашней сети, то есть без сетевых Серверов. Просто Маршрутизатор который назначает IP-адреса динамически.

Идеально, чтобы компьютер с Windows 10 есть Название команды y Рабочая группа / доменное имя управляемый, то есть короткий, разборчивый и легко запоминающийся, если это необходимо или возможно. И, насколько это возможно, Рабочая группа / доменное имя то же самое, что настроено в компьютер с GNU / Linux.

шаг 1

Настройте имя компьютера и имя рабочей группы / домена

Предполагая, что Имя сетевой рабочей группы с компьютера с GNU / Linux море «Главная», вы должны перейти к компьютеру с Windows 10, остановитесь на вызываемой вкладке «Название команды» из окна «Свойства системы», доступ по выбору Панель управления называть «Расширенная конфигурация оборудования», внесите изменения, как показано на рисунке ниже.

Windows 10: Activar Samba paso 1

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

шаг 2

Включите функцию SMB1.0 / CIFS в Windows 10

На этом этапе вы должны получить доступ к «Возможности системы Windows» по маршруту «Панель управления», «Программы» и «Программы и компоненты». Оказавшись там, вы должны нажать (активировать) поле, соответствующее «Поддержка протокола обмена файлами SMB 1.0 / CIFS».

Затем необходимо нажать кнопку «Активировать», как показано на изображении непосредственно ниже. Желательно перезагрузить его, чтобы изменения были полностью приняты.

Windows 10: Activar Samba paso 2

При желании установите флажок «SMB Direct» для более продвинутой поддержки (использования) протокола.

шаг 3

Проверить и включить поддержку SMB 1.X / 2.X / 3.X из Windows Power Shell

Для обнаружения и активации / деактивации через Окна Power Shell, el
Сетевой протокол Samba от Windows 10, для каждого случая могут быть выполнены следующие команды:

СМБ 1.Х

обнаружить

Get-WindowsOptionalFeature –Online –FeatureName SMB1Protocol

деактивировать

Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

Активировать

Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

SMB 2.X / 3.X

обнаружить

Get-SmbServerConfiguration | Select EnableSMB2Protocol

деактивировать

Set-SmbServerConfiguration –EnableSMB2Protocol $false

Активировать

Set-SmbServerConfiguration –EnableSMB2Protocol $true

В нашем случае были активированы оба протокола, то есть SMB 1.0 и SMB 2.X / 3.X используя приложение «Windows PowerShell ISE» в качестве «Администратор», который показан на изображении непосредственно ниже.

Windows 10: Activar Samba paso 3

шаг 4

Создать акцию

В нашем случае папка с названием «Пример» в корне Операционная система Windows 10 используется, когда создается именованный Пользователь «Сисадмин» («Админ», согласно файловому проводнику в пути «C: \ Users \ Admin». Указанный общий ресурс должен быть создан, желательно с добавлением пользователя «Все» со всеми необходимыми разрешениями безопасности и в данном случае совместно используемыми с тем же именем в сети, то есть «Пример».

Как показано на следующих рисунках:

  • Сисадмин Настоящее имя пользователя: Админ

Windows 10: Nombre de Usuario del S.O.

  • Все назначения пользователей и разрешения безопасности: в папку «Пример»

Windows 10: Activar Samba paso 4a

  • Присвоение сетевого имени «Пример»: за акцию.

Windows 10: Activar Samba paso 4b

  • Отображение сетевых ресурсов: из Windows 10

Windows 10: Activar Samba paso 4c

шаг 5

Подключите общий ресурс на компьютере с GNU / Linux

Для этого шага с компьютера вызывается «ВИТП2413» мы откроем Проводник В нашем Операционная система GNU / Linux, чтобы подключиться через Samba к поделиться «Примером» находится на компьютере «ВИТ» имеющий Windows 10, как показано на следующих изображениях:

  • Запуск проводника: запустить сетевой путь «Smb: // vit / example» к общему ресурсу на Компьютере с Windows 10.

Windows 10: Activar Samba paso 5a

  • Настройки пользовательских параметров Windows 10: для связи самбы.

Windows 10: Activar Samba paso 5b

  • Поделиться дисплеем: в Windows 10 под названием «Пример» в GNU / Linux.

Windows 10: Activar Samba paso 5c

Наконец, для получения дополнительной информации по этому вопросу вы можете получить доступ к Официальная ссылка Microsoft об этом.

Imagen generica para conclusiones de artículos

Заключение

Мы надеемся на это полезный небольшой пост на «¿Cómo activar el Servicio de Samba en Windows 10 para conectar recursos compartidos en GNU/Linux?», что является важной технической операцией, которую необходимо выполнить теперь, когда  «Windows 7», это больше не стабильная версия и с официальной поддержкой «Microsoft»быть много интерес и полезность, В целом «Comunidad de Software Libre y Código Abierto» и большой вклад в распространение замечательной, гигантской и растущей экосистемы приложений «GNU/Linux».

И для получения дополнительной информации не всегда стесняйтесь посещать любой Онлайн-библиотека в качестве OpenLibra y ДжедИТ читать книги (PDF) по этой теме или другим области знаний. А пока, если вам это понравилось «publicación», не переставай делиться этим с другими, в вашем Любимые веб-сайты, каналы, группы или сообщества социальных сетей, желательно бесплатных и открытых как Мастодонт, или безопасно и конфиденциально, например Telegram.

Или просто посетите нашу домашнюю страницу по адресу FromLinux или присоединяйтесь к официальному каналу Телеграмма от FromLinux читать и голосовать за ту или иную интересную публикацию на «Software Libre», «Código Abierto», «GNU/Linux» и другие темы, связанные с «Informática y la Computación»И «Actualidad tecnológica».

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

Сегодня поговорим об удаленном подключении к Ubuntu из ОС Windows. 

Зачем удаленно подключаться из Windows к Ubuntu

Не так важно, где находится удаленный компьютер – в соседней комнате или в другом регионе. Интернет убирает подобные ограничения, главное – чтобы связь оставалась стабильной на все время настройки. Это одинаково относится к машинам, работающим хоть на операционной системе Windows, хоть на Ubuntu. Последние используются, например, для развертывания сервера CS или Minecraft.

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

  1. ручной запуск обновлений на компьютере с Ubuntu;
  2. настройка системы без подключения локального монитора, клавиатуры;
  3. работа с машиной, расположенной по другому адресу.

Пользователю доступно три варианта коннекта с компьютеров, работающих на ОС Windows. Выбор зависит от удобства и предпочтений: SSH через приложение PuTTY, встроенная поддержка RDP и виртуальная сеть VNC (понадобится предварительная настройка клиента). В любом случае перед работами понадобится выяснить IP-адрес компьютера, к которому предстоит подключаться.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться


Как выяснить IP-адрес компьютера с установленной ОС Ubuntu

Если есть физический доступ к компьютеру с установленной Ubuntu, на нем открывается терминал (комбинация клавиш Ctrl+Alt+T) и вводится команда ifconfig. В отображенном перечне данных имеет значение строка, начинающаяся с inet addr. Если используется подключение через Wi-Fi, то рядом будет его маркер в виде «wlan0». При проводном соединении фраза будет заменена на «eth0». Рядом отображается актуальный IP-адрес машины.

Второй способ заключается в применении функций графического интерфейса. Последовательность действий: найти значок подключения на панели, кликнуть правой кнопкой мышки, выбрать пункт «Сведения о подключении». Там и указан постоянный IP-адрес компьютера. Если доступа к нему нет, то можно выяснить данные через маршрутизатор. В панели управления отображаются активные пользователи вместе с их «контактами».

Подключение к Linux через SSH

Перед подключением на компьютер с Windows устанавливается приложение PuTTY. Это популярный инструмент для организации SSH-соединения, которое предоставит удаленный доступ к командной строке Ubuntu. Важно понимать, что этот режим требует определенного опыта в управлении, ведь здесь нет привычной мыши и «окошек», а все команды передаются в текстовом виде. Отчеты предоставляются в таком же виде.

Putty

По умолчанию возможность коннекта через SSH в Ubuntu отключена. Так что предварительно эту систему требуется настроить. Активация функции выполняется вводом команды sudo apt install openssh-server (в той же консоли, где ранее был взят IP-адрес). Логин и пароль подключения будут те же, что используются при входе в операционную систему.

Из-за неудобства управления в текстовой среде этот вариант востребован для удаленной активации более удобных инструментов. Например, тех же протоколов RDP или VNC. В них также пригодится IP-адрес, поэтому получить минимальные навыки работы в консоли все равно рекомендуется. Это упростит решаемые задачи, если по каким-то причинам не удается соединение в других режимах.

Подключение из Windows через RDP

Способ подключения через службу Remote Desktop Protocol (RDP) распространен при работе с машинами на платформе Windows. Популярность инструмента объясняется просто – его поддержка встроена во все виды и версии операционных систем. Все, что понадобится для подключения, уже известно: это IP-адрес, логин и пароль от Ubuntu. Запускается утилита через поиск, называется она «Подключение к рабочему столу».

RDP

На компьютере-клиенте требуется установка приложения xrdp.

  1. Необходимо открыть окно термина нажатием комбинации клавиш Ctrl+Alt+T.
  2. Ввести текстовую команду sudo apt install xrdp и нажать «Ввод».
  3. Провести активацию программы командой sudo systemctl enable xrdp.

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

После подключения пользователь видит рабочий стол компьютера на Ubuntu. Работа с его окнами не отличается от локального управления – функционируют все настроенные горячие клавиши, перетаскивание мышью. В некоторых версиях Ubuntu, например, 18.04 LTS, RDP не работает, пока не выйдешь из текущего пользователя. Подобные фишки обычно известны системным администраторам.

Подключение через VNC

Есть другой вариант удаленного рабочего стола – сеть Virtual Network Computing (VNC). Она тоже требует предварительной настройки обеих машин. Так, на компьютер с Ubuntu инсталлируется ПО, открывающее доступ к управлению.

Последовательность действий:

  1. Открыть окно терминала.
  2. Ввести команду sudo apt update.
  3. Установить сервер: sudo apt install tightvncserver.
  4. Активировать его: sudo tightvncserver.

Система предложит ввести пароль для подключения. Он понадобится при активации удаленного соединения, поэтому стоит записать (запомнить) внесенные данные.

На этом все! TightVNC Server готов к работе, остается следом настроить компьютер на Windows. Программа доступна на официальном сайте разработчика в двух версиях: 32 и 64-бит.

VNC

После инсталляции и запуска достаточно ввести IP-адрес хоста и пароль доступа, введенный после активации сервера на Ubuntu. Схема работы VNC аналогична предыдущему примеру: пользователь видит перед собой удаленный рабочий стол и управляет функциями операционной системы, как будто сидит за компьютером локально.

Иногда бывает нужно получить доступ с компьютера под управлением Windows к файловой системе на компьютере Linux, но нет возможности поставить samba или FTP. Да и расшаривать самбой или фтп корень системы, мягко говоря, не безопасно. На этот случай можно воспользоваться небольшой, но очень полезной программой – WinSCP.

Скачать программу можно здесь

Она поддерживает следующие протоколы – sftp, scp, ftp, webdav. Я покажу ее работу на примере scp протокола.

Все что нужно – доступ к компьютеру по SSH. Подключаемся к нашему компьютеру, вводим адрес, порт, выбираем протокол передачи, по желанию можно сохранить подключение. Адрес у меня стоит 127.0.0.1, т.к. подключаюсь через SSH туннель. О том как его настроить читайте в этой статье.

После того как необходимые параметры введены, жмем кнопку войти.

Вводим наш пароль если, не сохраняли его в первом окне.

Откроется окно, привычное всем пользователям таких файловых менеджеров как Total Commander. В левой части располагаются ресурсы локального компьютера, в правой – удаленного.

Для того что бы что-либо скопировать нужно выбрать файл, или несколько файлов и нажать F5, для удаления используется клавиша F8, возможно редактирование файлов встроенным редактором без копирования.

Видео по теме:

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как включить сетевой адаптер на windows 10 без прав администратора
  • Windows 10 домашняя или pro что лучше для игр
  • Windows button not working on keyboard
  • Установочная флешка windows server 2019
  • Активация windows код ошибки 0x803f7001