LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   Samba Shares Not Accessible On RAID Array (https://www.linuxquestions.org/questions/linux-software-2/samba-shares-not-accessible-on-raid-array-825924/)

sceptre0 08-12-2010 10:05 PM

Samba Shares Not Accessible On RAID Array
 
I just finished setting up a RAID5 array with 3 new 1.5TB hard drives using mdadm. I spent the last 5 days trying to get the RAID array working. Everything is up and running now except I have not been able to share folders on this drive using Samba. I can share files in my home directory and on my NTFS drive, but not the RAID array. I am trying to access the shares from a Windows Vista PC. I can see the folders, but I can't access them.

The RAID array is formatted with ext4. I am using Ubuntu 10.04 64bit using the Samba configuration tool in Nautilus.

I gathered all the relevant information below. I have been trying for hours, and I am out of ideas. Any help would be appreciated. Thanks in advance.

FSTAB
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# CD Drive
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
# / was on /dev/sda1 during installation
UUID=48c8edf9-f238-41d3-94a8-e9b6209cb488 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=9ed2aa36-3079-4c8d-aa67-72c3cf3b99f2 none swap sw 0 0
# Media
/dev/sdb1 /media/Media ntfs nls=iso8859-1,users,umask=000,user,owner,uid=user_name 0 0
# RAID5
#UUID=88d7fb69:2373f7f1:bdc00c63:fa02236c /media/RAID5 ext4 rw,auto,user 0 1
/dev/md0 /media/RAID5 ext4 rw,auto,user 0 1
# FreeNAS Drive
//192.168.1.250/JBOD /media/JBOD cifs noauto,uid=user_name,admin 0 0
# Sandisk Titanium
UUID=22BA-0343 /media/Titanium vfat noauto,user,rw,uid=1000,gid=1000 0 0

mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=user_name group=root mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
#HOMEHOST desktop
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md/desktop:0 metadata=1.2 name=desktop:0 UUID=88d7fb69:2373f7f1:bdc00c63:fa02236c

# This file was auto-generated on Sat, 07 Aug 2010 03:10:00 -0500
# by mkconf $Id$

Samba Configuration
testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section "[printers]"
Processing section "[print$]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
server string = %h server (Samba, Ubuntu)
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
name resolve order = lmhosts host wins bcast
dns proxy = No
wins support = Yes
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d

[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
browseable = No
browsable = No

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers

Permissions
ls -l /media/RAID5/
drwxrwxrwx 47 user_name root 4096 2010-08-11 21:28 Folder1

Versions
sudo mdadm --version
mdadm - v3.1.2 - 10th March 2010

smbd --version
Version 3.4.7

mostlyharmless 08-13-2010 06:01 PM

If the error is "permission denied" then I'd strongly suspect that the group for the /media/RAID5/Folder1 shouldn't be "root" but perhaps "users". You could try chgrp users /media/RAID5/Folder1
I also don't see any of the shares (home or Ntfs or raid) in your smb.conf testparm output.

sceptre0 08-13-2010 07:49 PM

Re: Cannot Share RAID Array
 
Thanks for the reply. I tried your suggestion, but it didn't fix the issue.

This is the error message I get in windows.
Quote:

Windows cannot access \\DESKTOP\Folder1

Check the spelling of the name. Otherwise there might be a problem with your network. To try to identify and resolve network problems, click Diagnose.

Error code: 0x80070035
The network path was not found.
The shares were set up using nautilus so the settings are stored differently. I have tried configuring the shares in samba.conf as well. I added the following lines to samba.conf. The folder in my home directory was accessible, the one on the RAID was not.

Quote:

[Guest Share]
comment = Guest access share
path = /media/RAID5/New
browseable = yes
read only = yes
guest ok = yes

[Guest Share 2]
comment = Guest access share 2
path = /home/user_name/New
browseable = yes
read only = yes
guest ok = yes

sceptre0 08-13-2010 09:08 PM

Re: Cannot Share RAID Array
 
I have a few more details. The first time I tried to access the folder it asked me for a password. I think I gave it the wrong password. After that it never asked for a password again.

I changed the group owner to "users" and changed the group and mode in the CREATE line in mdadm.conf to...
Quote:

CREATE owner=user_name group=users mode=0666 auto=yes
Now Windows prompts for the password (which I changed to be blank). I can open the folder now, but I do not have write access. Ultimately, I need to remove the password from the drive because the device I am using does not support passwords. Why is a password required? None of my other shared folder need one. Thanks.

mostlyharmless 08-13-2010 11:39 PM

You have read only = yes in your samba.conf. I suppose that's why you don't have write access. I don't use Nautilus, so can't help you if that's the issue.

There's always a password; the question is why does Windows sometimes prompt you and sometimes uses the authentication you already have from connecting to begin with. I don't know that one either, but it isn't a RAID thing; my mdadm drives are served up the same as /home/user and anything else that the logged user would normally have access to.

sceptre0 08-14-2010 12:07 AM

Re: Cannot Share RAID Array
 
Thanks. I missed the read only line.

I ran these commands on the RAID folder. After a restart everything was working.
Quote:

sudo chmod 777 -R /media/RAID5/
sudo chown nobody.nogroup -R /media/RAID5/
I tried a lot of things since I started this thread so I will post my final configuration files in case anyone is interested.

fstab
Quote:

# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# CD Drive
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
# / was on /dev/sda1 during installation
UUID=48c8edf9-f238-41d3-94a8-e9b6209cb488 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=9ed2aa36-3079-4c8d-aa67-72c3cf3b99f2 none swap sw 0 0
# Media
/dev/sdb1 /media/Media ntfs nls=iso8859-1,users,umask=000,user,owner,uid=username 0 0
# RAID5
/dev/md0 /media/RAID5 ext4 rw,auto,user 0 1
# FreeNAS Drive
//192.168.1.250/JBOD /media/JBOD cifs noauto,uid=username,admin 0 0
# Sandisk Titanium
UUID=22BA-0343 /media/Titanium vfat noauto,user,rw,uid=1000,gid=1000 0 0
samba.conf
Quote:

#
#
# Sample configuration file for the Samba suite for Debian GNU/Linux.
#
#
# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options most of which
# are not shown in this example
#
# Some options that are often worth tuning have been included as
# commented-out examples in this file.
# - When such options are commented with ";", the proposed setting
# differs from the default Samba behaviour
# - When commented with "#", the proposed setting is the default
# behaviour of Samba but the option is considered important
# enough to be mentioned here
#
# NOTE: Whenever you modify this file you should run the command
# "testparm" to check that you have not made any basic syntactic
# errors.
# A well-established practice is to name the original file
# "smb.conf.master" and create the "real" config file with
# testparm -s smb.conf.master >smb.conf
# This minimizes the size of the really used smb.conf file
# which, according to the Samba Team, impacts performance
# However, use this with caution if your smb.conf file contains nested
# "include" statements. See Debian bug #483187 for a case
# where using a master file is not a good idea.
#

#======================= Global Settings =======================

[global]

## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of
workgroup = WORKGROUP

# server string is the equivalent of the NT Description field
server string = %h server (Samba, Ubuntu)

# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
wins support = yes

# WINS Server - Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
; wins server = w.x.y.z

# This will prevent nmbd to search for NetBIOS names through DNS.
dns proxy = no

# What naming service and in what order should we use to resolve host names
# to IP addresses
name resolve order = lmhosts host wins bcast

#### Networking ####

# The specific set of interfaces / networks to bind to
# This can be either the interface name or an IP address/netmask;
# interface names are normally preferred
; interfaces = 127.0.0.0/8 eth0

# Only bind to the named interfaces and/or networks; you must use the
# 'interfaces' option above to use this.
# It is recommended that you enable this feature if your Samba machine is
# not protected by a firewall or is a firewall itself. However, this
# option cannot handle dynamic or non-broadcast interfaces correctly.
; bind interfaces only = yes



#### Debugging/Accounting ####

# This tells Samba to use a separate log file for each machine
# that connects
log file = /var/log/samba/log.%m

# Cap the size of the individual log files (in KiB).
max log size = 1000

# If you want Samba to only log through syslog then set the following
# parameter to 'yes'.
# syslog only = no

# We want Samba to log a minimum amount of information to syslog. Everything
# should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log
# through syslog you should set the following parameter to something higher.
syslog = 0

# Do something sensible when Samba crashes: mail the admin a backtrace
panic action = /usr/share/samba/panic-action %d


####### Authentication #######

# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
security = user

# You may wish to use password encryption. See the section on
# 'encrypt passwords' in the smb.conf(5) manpage before enabling.
encrypt passwords = true

# If you are using encrypted passwords, Samba will need to know what
# password database type you are using.
; passdb backend = tdbsam

obey pam restrictions = yes

# This boolean parameter controls whether Samba attempts to sync the Unix
# password with the SMB password when the encrypted SMB password in the
# passdb is changed.
unix password sync = yes

# For Unix password sync to work on a Debian GNU/Linux system, the following
# parameters must be set (thanks to Ian Kahan <<kahan@informatik.tu-muenchen.de> for
# sending the correct chat script for the passwd program in Debian Sarge).
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

# This boolean controls whether PAM will be used for password changes
# when requested by an SMB client instead of the program listed in
# 'passwd program'. The default is 'no'.
pam password change = no

# This option controls how unsuccessful authentication attempts are mapped
# to anonymous connections
map to guest = bad user

########## Domains ###########

# Is this machine able to authenticate users. Both PDC and BDC
# must have this setting enabled. If you are the BDC you must
# change the 'domain master' setting to no
#
; domain logons = yes
#
# The following setting only takes effect if 'domain logons' is set
# It specifies the location of the user's profile directory
# from the client point of view)
# The following required a [profiles] share to be setup on the
# samba server (see below)
; logon path = \\%N\profiles\%U
# Another common choice is storing the profile in the user's home directory
# (this is Samba's default)
# logon path = \\%N\%U\profile

# The following setting only takes effect if 'domain logons' is set
# It specifies the location of a user's home directory (from the client
# point of view)
; logon drive = H:
# logon home = \\%N\%U

# The following setting only takes effect if 'domain logons' is set
# It specifies the script to run during logon. The script must be stored
# in the [netlogon] share
# NOTE: Must be store in 'DOS' file format convention
; logon script = logon.cmd

# This allows Unix users to be created on the domain controller via the SAMR
# RPC pipe. The example command creates a user account with a disabled Unix
# password; please adapt to your needs
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u

# This allows machine accounts to be created on the domain controller via the
# SAMR RPC pipe.
# The following assumes a "machines" group exists on the system
; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u

# This allows Unix groups to be created on the domain controller via the SAMR
# RPC pipe.
; add group script = /usr/sbin/addgroup --force-badname %g

########## Printing ##########

# If you want to automatically load your printer list rather
# than setting them up individually then you'll need this
# load printers = yes

# lpr(ng) printing. You may wish to override the location of the
# printcap file
; printing = bsd
; printcap name = /etc/printcap

# CUPS printing. See also the cupsaddsmb(8) manpage in the
# cupsys-client package.
; printing = cups
; printcap name = cups

############ Misc ############

# Using the following line enables you to customise your configuration
# on a per machine basis. The %m gets replaced with the netbios name
# of the machine that is connecting
; include = /home/samba/etc/smb.conf.%m

# Most people will find that this option gives better performance.
# See smb.conf(5) and /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/speed.html
# for details
# You may want to add the following on a Linux system:
# SO_RCVBUF=8192 SO_SNDBUF=8192
# socket options = TCP_NODELAY

# The following parameter is useful only if you have the linpopup package
# installed. The samba maintainer and the linpopup maintainer are
# working to ease installation and configuration of linpopup and samba.
; message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &

# Domain Master specifies Samba to be the Domain Master Browser. If this
# machine will be configured as a BDC (a secondary logon server), you
# must set this to 'no'; otherwise, the default behavior is recommended.
# domain master = auto

# Some defaults for winbind (make sure you're not using the ranges
# for something else.)
; idmap uid = 10000-20000
; idmap gid = 10000-20000
; template shell = /bin/bash

# The following was the default behaviour in sarge,
# but samba upstream reverted the default because it might induce
# performance issues in large organizations.
# See Debian bug #368251 for some of the consequences of *not*
# having this setting and smb.conf(5) for details.
; winbind enum groups = yes
; winbind enum users = yes

# Setup usershare options to enable non-root users to share folders
# with the net usershare command.

# Maximum number of usershare. 0 (default) means that usershare is disabled.
; usershare max shares = 100

# Allow users who've been granted usershare privileges to create
# public shares, not just authenticated ones
usershare allow guests = yes

#======================= Share Definitions =======================

# Un-comment the following (and tweak the other settings below to suit)
# to enable the default home directory shares. This will share each
# user's home directory as \\server\username
;[homes]
; comment = Home Directories
; browseable = no

# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
; read only = yes

# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
; create mask = 0700

# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
; directory mask = 0700

# By default, \\server\username shares can be connected to by anyone
# with access to the samba server. Un-comment the following parameter
# to make sure that only "username" can connect to \\server\username
# This might need tweaking when using external authentication schemes
; valid users = %S

# Un-comment the following and create the netlogon directory for Domain Logons
# (you need to configure Samba to act as a domain controller too.)
;[netlogon]
; comment = Network Logon Service
; path = /home/samba/netlogon
; guest ok = yes
; read only = yes
; share modes = no

# Un-comment the following and create the profiles directory to store
# users profiles (see the "logon path" option above)
# (you need to configure Samba to act as a domain controller too.)
# The path below should be writable by all users so that their
# profile directory may be created the first time they log on
;[profiles]
; comment = Users profiles
; path = /home/samba/profiles
; guest ok = no
; browseable = no
; create mask = 0600
; directory mask = 0700

[printers]
comment = All Printers
browseable = yes
path = /var/spool/samba
printable = yes
guest ok = yes
read only = yes
create mask = 0700

# Windows clients look for this share name as a source of downloadable
# printer drivers
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
# Uncomment to allow remote administration of Windows print drivers.
# You may need to replace 'lpadmin' with the name of the group your
# admin users are members of.
# Please note that you also need to set appropriate Unix permissions
# to the drivers directory for these users to have write rights in it
; write list = root, @lpadmin

# A sample share for sharing your CD-ROM with others.
;[cdrom]
; comment = Samba server's CD-ROM
; read only = yes
; locking = no
; path = /cdrom
; guest ok = yes

# The next two parameters show how to auto-mount a CD-ROM when the
# cdrom share is accesed. For this to work /etc/fstab must contain
# an entry like this:
#
# /dev/scd0 /cdrom iso9660 defaults,noauto,ro,user 0 0
#
# The CD-ROM gets unmounted automatically after the connection to the
#
# If you don't want to use auto-mounting/unmounting make sure the CD
# is mounted on /cdrom
#
; preexec = /bin/mount /cdrom
; postexec = /bin/umount /cdrom

#[Guest Share]
#comment = Guest access share
#path = /media/RAID5/New
#browseable = yes
#writeable = yes
#guest ok = yes

[complete]
comment = Complete Downloads
path = /media/RAID5/complete
browseable = yes
writeable = yes
guest ok = yes
mdadm.conf
Quote:

# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=username group=users mode=0777 auto=yes

# automatically tag new arrays as belonging to the local system
#HOMEHOST desktop
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md/desktop:0 metadata=1.2 name=desktop:0 UUID=88d7fb69:2373f7f1:bdc00c63:fa02236c

# This file was auto-generated on Sat, 07 Aug 2010 03:10:00 -0500
# by mkconf $Id$


All times are GMT -5. The time now is 05:49 PM.