[TriLUG] SMB, fstab, php/apache user access?
David McDowell
turnpike420 at gmail.com
Tue Mar 1 14:55:30 EST 2005
Joel, awesome!
//SERVER/ShareName /mnt/webbackup smbfs
uid=apache,credentials=/path/to/.credfile 0 0
which results in:
drwxr-xr-x 1 apache root 26645 Feb 28 19:54 webbackup
Worked like a charm! :)
Thank you!
David McD
On Tue, 01 Mar 2005 14:38:55 -0500, Joel Ebel <jbebel at ncsu.edu> wrote:
> Try adding uid=apache to your fstab line. A similar gid= options exists
> if you so choose. That will make all the files appear as owned by the
> apache user, and should allow that user to write to it. man smbmount
> should show you lots of other options that might be useful too.
>
> Joel
>
> David McDowell wrote:
> > In my current setup, I have a RH flavored linux distro. I have the
> > following line in my /etc/fstab which mounts a share folder on a
> > windows network to the mnt point so that an rsync cron.d job will run.
> > The job successfully rsync's my complete web directory to the share
> > location where the backup tapes in the Microsoft environment can grab
> > the files. The .credfile has the Microsoft share's username and
> > password for auth by the Microsoft machine to the share. Everything
> > here works great. Root has the mount, root runs the cron.d, mount
> > works, script works, all is happy.
> >
> > //SERVER/ShareName /mnt/webbackup smbfs credentials=/path/to/.credfile 0 0
> >
> > Now is where I'm a bit confused, maybe just syntax related. The
> > /etc/fstab line above connects to the Microsoft share as user foo,
> > password bar, just as the .credfile states it should. As the root
> > user on the linux box, I can make directories, cp files, mv files,
> > delete files, basically everything works perfectly as I said. So this
> > does not appear to be a permissions issue with the Microsoft share. I
> > believe where I'm going is bumping into problems with the way other
> > users on the linux box talk to the share. Here's what I mean.
> >
> > I am creating a web app using PHP 4.x on Apache 2.x on this linux box.
> > The PHP is accepting uploaded files, and the PHP path for placement
> > of those uploaded files is /mnt/webbackup/ and any folders and files
> > structure that I create with the app should be able to be placed
> > there. As many of you know, httpd doesn't run as root. It runs as
> > apache by default. So it would seem that the local apache user on
> > this linux box is unable to use the share created in the /etc/fstab.
> >
> > With the share umounted, I tried changing ownership and perms of the
> > /mnt/webbackup mount point. But, whenever I run mount -a to test the
> > line from /etc/fstab, it never fails to change back to:
> > drwxr-xr-x 1 root root 24567 Feb 28 18:38 webbackup
> > No amount of chmod, chown seem to change the mount point once the
> > mount is established either.
> >
> > So, how do I make this mount point usable by a regular user such as
> > apache, yet still allow it to be in /etc/fstab (for automation
> > purposes in case of reboot due to new kernel, UPS failure, etc.)
> >
> > After the smbfs, do I need rw,apache,credentials=/path/to/.credfile to
> > give the apache user read/write access? This is what I'm getting out
> > of the first few google hits. Something else I'm reading says:
> > To enable non root user to mount smb shares you must set smbmnt setuid
> > Here's how
> > # cd /usr/lib/samba/classic
> > # chmod +s smbmnt
> >
> > which I think is from Solaris? I find this equiv in samba 3.x:
> > chmod +s /usr/bin/smbmnt
> > I think... so can the share still be connected using my current
> > /etc/fstab and then used by the apache user after that from the PHP
> > web app?
> >
> > Thanks,
> > David McD
> --
> TriLUG mailing list : http://www.trilug.org/mailman/listinfo/trilug
> TriLUG Organizational FAQ : http://trilug.org/faq/
> TriLUG Member Services FAQ : http://members.trilug.org/services_faq/
> TriLUG PGP Keyring : http://trilug.org/~chrish/trilug.asc
>
More information about the TriLUG
mailing list