Как настроить общий доступ к папке: различия между версиями
Kekaloav (обсуждение | вклад) |
Kekaloav (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
Строка 117: | Строка 118: | ||
[[Категория:МОС]] | [[Категория:МОС]] | ||
[[Категория:Инструкции]] | [[Категория:Инструкции]] | ||
[[Категория:FAQ]] |
Версия 08:20, 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"