Назад | Перейти на главную страницу

samba share в Windows 7 не дает мне доступа к / var, но дает мне доступ ко всем остальным каталогам

У меня есть общий ресурс samba, настроенный, чтобы дать мне доступ к моему Linux-серверу с моей машины с Windows 7, все в порядке, за исключением того, что я не могу получить доступ к директору / var по какой-то причине через Windows. однако я могу получить доступ к любому другому каталогу без проблем

Я получаю сообщение об ошибке, когда пытаюсь получить доступ к каталогу / var:

Z:\var is not accessible.

Access is denied.

Я использую centos 5.5

root - это разрешенный пользователь самбы. и вот моя конфигурация самбы:

[global]
   workgroup = WORKGROUP
   netbios name = SAMBA
   server string = Samba Server %v
   map to guest = Bad User
   log file = /var/log/samba/log.%m
   max log size = 50
   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
   preferred master = No
   local master = No
   dns proxy = No
   security = User

# Share
[root]
   path = /
   valid users = root
   read only = no
   browseable = yes
   writeable = yes
   create mask = 0777
   directory mask = 0777

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

drwxr-xr-x  2 root root  4096 May 18 16:35 bin
drwxr-xr-x  4 root root  1024 May 18 16:36 boot
drwxr-xr-x 12 root root  3960 May 18 20:12 dev
drwxr-xr-x 55 root root  4096 May 19 02:05 etc
drwxrwxrwx  3 root root  4096 May 19 02:05 home
drwxr-xr-x 12 root root  4096 May 18 17:59 lib
drwx------  2 root root 16384 May 18 16:31 lost+found
drwxr-xr-x  2 root root  4096 Jan 26  2010 media
drwxr-xr-x  3 root root  4096 May 18 19:40 mnt
drwxr-xr-x  2 root root  4096 Jan 26  2010 opt
dr-xr-xr-x 86 root root     0 May 18 20:11 proc
drwxr-x---  2 root root  4096 May 18 20:10 root 
drwxr-xr-x  2 root root  4096 May 18 16:36 sbin
drwxr-xr-x  4 root root     0 May 18 20:11 selinux
drwxr-xr-x  2 root root  4096 Jan 26  2010 srv
drwxr-xr-x 11 root root     0 May 18 20:11 sys
drwxrwxrwt  3 root root  4096 May 19 01:28 tmp
drwxr-xr-x 13 root root  4096 May 18 16:34 usr
drwxr-xr-x 18 root root  4096 May 18 17:51 var

Я делаю что-то неправильно? или это дело безопасности centos?

Наверное SELinux мешает Samba читать каталог в /var поскольку обычно это не требуется.

  • Вы можете отключить это, используя setsebool -P samba_export_all_rw=on но это снизит безопасность Samba, поскольку Samba сможет читать везде.
  • Лучшим способом было бы переместить данные, к которым будет обращаться Samba, например, в /home/samba и беги setsebool -P samba_enable_home_dirs=on, так как это позволит Samba читать только домашние каталоги.
  • Лучше всего настроить SELinux, чтобы Samba могла читать каталог с определенной меткой SELinux (например, httpd_sys_content_t в /var/www - проверьте свой каталог с помощью ls -lZ), но здесь все становится немного сложнее:
    yum install selinux-policy-devel
    mkdir /etc/selinux/local
    cd /etc/selinux/local
    (
      echo 'avc: denied { manage_file_perms } for ' \
        ' scontext=system_u:system_r:smb_t ' \
        ' tcontext=system_u:object_r:httpd_sys_content_t tclass=file'
      echo 'avc: denied { manage_dir_perms } for ' \
        ' scontext=system_u:system_r:smb_t ' \
        ' tcontext=system_u:object_r:httpd_sys_content_t tclass=dir'
    ) | audit2allow -M local
    semodule -i local.pp