Как настроить общий доступ к папке: различия между версиями

Материал из IT в школе
Перейти к навигацииПерейти к поиску
(Новая страница: « ===== Простая настройка общей папки без ограничения доступа, с отключением ранее настроен...»)
 
 
(не показано 14 промежуточных версий этого же участника)
Строка 1: Строка 1:


===== Простая настройка общей папки без ограничения доступа, с отключением ранее настроенных общих папок (если были) =====
 
<syntaxhighlight lang="bash">
 
 
 
Под настройкой общего доступа обычно понимают доступ по развиваемому компанией Microsoft протоколу  SMB.
 
В МОС/Linux есть несколько способов настроить как сервер так и клиент.
 
Традиционно, за серверную часть отвечает пакет samba. За клиентскую - пакет cifs-utils или сам файловый менеджер dolphin. В последнем случае файлы на сетевом диске доступны только в файловом менеджере. 
===== Простая настройка общей папки без ограничения доступа, с отключением ранее настроенных общих папок (сервер) =====
Пример заимствован из мастер-класса "Основы настройки сети МОС"
 
Следует отметить, доступ из Windows к папкам, расшареным без пароля по умолчанию ограничен
 
По умолчанию включены протоколы SMB2 SMB3 Выключен SMB1<syntaxhighlight lang="bash">
#!/bin/bash
#!/bin/bash
#устанавливаем сервис
apt-get install samba
#заменяем файл настроек samba
#заменяем файл настроек samba
cp /etc/samba/smb.conf /etc/samba/smb.conf.old
cp /etc/samba/smb.conf /etc/samba/smb.conf.old
Строка 26: Строка 41:
EOF
EOF


#включаем сервис
#создание общей папки
apt-get install samba
mkdir /home/docstore
mkdir /home/docstore
chmod 777 /home/docstore
chmod 777 /home/docstore
Строка 35: Строка 49:
systemctl enable nmb.service
systemctl enable nmb.service


</syntaxhighlight>
===== Управление обoими папками из Dolphin(сервер) =====
Включение возможности для пользователя teacher (это несовместимо с первым способом настройки сервера)<syntaxhighlight lang="bash">
#!/bin/bash
apt-get -y install samba-usershares
#пусть teacher - пользователь, который будет ресшаривать папку
usermod -a -G usershares teacher
reboot
</syntaxhighlight>После этого выбираем папку для расшаривания в dolphin, нажимаем ПКМ и настраиваем доступ
===== Простое добавление  общей папки в список папок Dolphin (клиент) =====
<syntaxhighlight lang="bash">
#!/bin/bash
#имя пользователя, которому надо добавить общую папку
USER=student
#адрес ПК, на котором настроена общая папка
SERVER=172.xx.xx.xx
echo -e "<bookmark href=\"smb://${SERVER}/Public\">\n<title>\nОбщая папка\n</title>\n</bookmark>" > /tmp/add.txt
sed -i '/<\/xbel>/{
r /tmp/add.txt
a <\/xbel>
d
}' /home/${USER}/.local/share/user-places.xbel
rm /tmp/add.txt
</syntaxhighlight>
==== Монтирвание общей папки с паролем в системе при загрузке (клиент) ====
<syntaxhighlight lang="bash">
#!/bin/bash
#задаем исходные параметры
SERVER=172.xx.xx.xx
FOLDER=Share
USER=user
PASS=password
DOMAIN=sao.obr.mos.ru
sudo apt-get install cifs-utils
mkdir /mnt/share
cat << EOF /etc/samba/mount.password
username=${USER}
password=${PASS}
domain=${DOMAIN}
EOF
echo "//${SERVER}/${FOLDER} /mnt/share cifs users,rw,credentials=/etc/samba/mount.password,dir_mode=0777,file_mode=0777,comment=systemd.automount 0 0" >> /etc/fstab
</syntaxhighlight>
==== Создание ярлыка для доступа к общей папки из dolphin ====
<syntaxhighlight lang="bash">
#!/bin/bash
HOST="user:pass@10.x.x.x/share"
echo -e "[Desktop Entry]\nIcon=folder-remote\nName=Share\nType=Application\nExec=dolphin smb://${HOST}" > "/home/student/Рабочий стол/share.desktop"
</syntaxhighlight>
==== Создание ярлыка для доступа к нерасшареной по SMB папке из dolphin (через ssh) ====
<syntaxhighlight lang="bash">
#!/bin/bash
HOST="user:pass@10.x.x.x/share"
echo -e "[Desktop Entry]\nIcon=folder-remote\nName=Share\nType=Application\nExec=dolphin sftp://${HOST}" > "/home/student/Рабочий стол/share.desktop"
</syntaxhighlight>
</syntaxhighlight>
[[Категория:МОС]]
[[Категория:МОС]]
[[Категория:Инструкции]]
[[Категория:Инструкции]]
[[Категория:FAQ]]

Текущая версия на 17:00, 30 апреля 2023



Под настройкой общего доступа обычно понимают доступ по развиваемому компанией Microsoft протоколу SMB.

В МОС/Linux есть несколько способов настроить как сервер так и клиент.

Традиционно, за серверную часть отвечает пакет samba. За клиентскую - пакет cifs-utils или сам файловый менеджер dolphin. В последнем случае файлы на сетевом диске доступны только в файловом менеджере.

Простая настройка общей папки без ограничения доступа, с отключением ранее настроенных общих папок (сервер)

Пример заимствован из мастер-класса "Основы настройки сети МОС"

Следует отметить, доступ из Windows к папкам, расшареным без пароля по умолчанию ограничен

По умолчанию включены протоколы SMB2 SMB3 Выключен SMB1

#!/bin/bash
#устанавливаем сервис
apt-get install samba
#заменяем файл настроек samba
cp /etc/samba/smb.conf /etc/samba/smb.conf.old

cat << EOF > /etc/samba/smb.conf
[global]
dos charset = CP866
unix charset = utf8
display charset = cp1251
workgroup = WORKGROUP
server string = Filestore
security = USER
map to guest = Bad User
[Public]
path = /home/docstore
read only = Yes
guest ok = Yes
browseable = yes
writable = yes
create mask = 0777
force create mask = 0777
directory mask = 0777
EOF

#создание общей папки
mkdir /home/docstore
chmod 777 /home/docstore
service smb restart
service nmb restart
systemctl enable smb.service
systemctl enable nmb.service
Управление обoими папками из Dolphin(сервер)

Включение возможности для пользователя teacher (это несовместимо с первым способом настройки сервера)

#!/bin/bash
apt-get -y install samba-usershares
#пусть teacher - пользователь, который будет ресшаривать папку 
usermod -a -G usershares teacher
reboot

После этого выбираем папку для расшаривания в dolphin, нажимаем ПКМ и настраиваем доступ

Простое добавление общей папки в список папок Dolphin (клиент)
#!/bin/bash
#имя пользователя, которому надо добавить общую папку
USER=student
#адрес ПК, на котором настроена общая папка
SERVER=172.xx.xx.xx

echo -e "<bookmark href=\"smb://${SERVER}/Public\">\n<title>\nОбщая папка\n</title>\n</bookmark>" > /tmp/add.txt
sed -i '/<\/xbel>/{
r /tmp/add.txt
a <\/xbel>
d
}' /home/${USER}/.local/share/user-places.xbel
rm /tmp/add.txt

Монтирвание общей папки с паролем в системе при загрузке (клиент)

#!/bin/bash
#задаем исходные параметры
SERVER=172.xx.xx.xx
FOLDER=Share
USER=user
PASS=password
DOMAIN=sao.obr.mos.ru


sudo apt-get install cifs-utils
mkdir /mnt/share
cat << EOF /etc/samba/mount.password
username=${USER}
password=${PASS}
domain=${DOMAIN}
EOF

echo "//${SERVER}/${FOLDER} /mnt/share cifs users,rw,credentials=/etc/samba/mount.password,dir_mode=0777,file_mode=0777,comment=systemd.automount 0 0" >> /etc/fstab

Создание ярлыка для доступа к общей папки из dolphin

#!/bin/bash

HOST="user:pass@10.x.x.x/share"
echo -e "[Desktop Entry]\nIcon=folder-remote\nName=Share\nType=Application\nExec=dolphin smb://${HOST}" > "/home/student/Рабочий стол/share.desktop"

Создание ярлыка для доступа к нерасшареной по SMB папке из dolphin (через ssh)

#!/bin/bash

HOST="user:pass@10.x.x.x/share"
echo -e "[Desktop Entry]\nIcon=folder-remote\nName=Share\nType=Application\nExec=dolphin sftp://${HOST}" > "/home/student/Рабочий стол/share.desktop"