Моя проблема похожа на вопрос о stackoverflow, virtual centOS 6.2 - Как поделиться / var / www с помощью Samba, однако я получаю следующую ошибку:
Windows cannot access \server1\dev You do not have permission to access \\server1\dev
Я установил сервер ubuntu и пытаюсь /var/www/html/dev
разрешения на чтение и запись в каталог с других компьютеров (например, Windows 7 и рабочий стол ubuntu).
Я сменил владельца папки /var/www
к www-data
группа и добавленный пользователь dev1
в эту группу. Затем я дал 0755 разрешение на папку /var/www
А ниже - содержимое моего файла smb.conf:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = ubuntu
security = user
map to guest = bad user
dns proxy = no
#============================ Share Definitions ==============================
[sharing]
path = /samba/share
browsable =yes
writable = yes
guest ok = yes
read only = no
force user = nobody
[dev]
path = /var/www/html/dev
valid users = @www-data
read only = no
guest ok = no
writable = yes
browsable = yes
Итак, я пытаюсь получить доступ к dev
поделиться с паролем. Я также добавил пользователя samba, подписавшись на этот учебник, но когда я пытаюсь получить доступ к этому общему ресурсу с компьютера с Windows 7, я получаю следующее сообщение об ошибке:
Windows cannot access \server1\dev. You do not have permission to access \\server1\dev
Дополнительная информация
Я могу получить доступ /samba/share
но не может получить доступ к dev
Поделиться.
РЕДАКТИРОВАТЬ: Теперь система windwos просит ввести пароль. Но после ввода пароля выдает ошибку \\s1\dev is not accessible. You might not have permission to use this network resource. Contact the administrator of this server to find out if you have access permissions.
Предоставлено: Мартин.
Вам необходимо изменить конфигурацию монтирования samba так, чтобы вы дали разрешение пользователю и группе www-data на запись в нее. Вы можете иметь или не иметь возможность устанавливать определенные права доступа к каталогу, но в противном случае вам придется настроить доступ на запись для всего диска (что плохо для безопасности).
Я бы лично посоветовал использовать nfs вместо общих ресурсов samba для сетевого хранилища и использовать ext3 или другую полнофункциональную файловую систему.
http://www.cyberciti.biz/tips/how-do-i-set-permissions-to-samba-shares.html
https://help.ubuntu.com/community/Samba/SambaClientGuide
http://www.mattvanstone.com/2006/06/automatically_mounting_smb_sha/
Предполагая, что у вас есть счет за вход в систему Linux, вы установили samba. Если вы используете SELinux, вам необходимо выполнить ряд других команд.
Кроме того, убедитесь, что вы не открываете доступ к кому-либо миру, ваш маршрутизатор или брандмауэр должны блокировать порт 137, 139, 445.
# Block the outside world from your server's smb shares
# assuming your local network is 192.168.0.*
iptables -A INPUT -j DROP ! -s 192.168.0.0/24 -m multiport -p tcp --dports 139,445
# Add your user account "bill" to www-data
usermod -aG www-data bill
# Give bill an smb password
smbpasswd -a bill
# Set permissions in the html folder for www-data
# WARNING: existing apps might require specific permissions on specific folders
# web code can now alter existing -/html/dev folder files
chown www-data:www-data -R /var/www/html/dev
# alternatively, in combination with create mask 775 in smb.conf
chown root:www-data -R /var/www/html/dev
chmod -R 775 /var/www/html/dev
# add the following text to the bottom of /etc/samba/smb.conf
[dev]
path = /var/www/html/dev
available = yes
valid users = @www-data
read only = no
browsable = yes
public = no
writable = yes
create mask = 0775
force user = www-data
force group = www-data
Альтернативой может быть не устанавливать никаких других разрешений, а включить принудительно пользователя и группу как root, но мне это кажется немного пугающим.
www-data является системной учетной записью (<1000 uid / gid) и вообще не имеет пароля. Я бы не советовал использовать uid и gid ниже 1000. Вместо этого создайте новую учетную запись или используйте существующую с uid> 1000.
Возможно, вы хотите создать новую учетную запись для редактирования веб-страниц только с помощью самбы. Вы можете сделать это, создав тюрьму.
Подсказка: Вам не нужны шаги с 1 по 4 при использовании существующего пользователя.
# mkdir -p /srv/smb/exampleusername
/var/www /srv/smb/exampleusername none bind 0 0
# mount -o bind /var/www /srv/smb/exampleusername
# adduser exampleuser
# chown root:root /home/exampleuser
# chmod 0755 /home/exampleuser
# usermod -s /usr/sbin/nologin -d /srv/smb/exampleuser exampleuser
# chown -R exampleuser:exampleuser /var/www
# chmod -R 0755 /var/www
# chown exampleuser:exampleuser /srv/smb/www
# chmod 0755 /srv/smb/exampleuser
[www]
path = /srv/smb/exampleuser
comment = yada yada yada
browseable = yes
guest ok = no
valid users = exampleuser
writeable = yes
# smbpasswd -a exampleuser
Готово !