Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Feb 2009 09:39:18 -0500 (EST)
From:      "Keith Palmer" <keith@academickeys.com>
To:        freebsd-questions@freebsd.org
Subject:   Re: Restricting users to their own home directories / not letting  users view other users files...?
Message-ID:  <62055.12.68.55.226.1234449558.squirrel@www.academickeys.com>
In-Reply-To: <F41F7727070FF48ED4A2BCB1@utd65257.utdallas.edu>
References:  <53134.12.68.55.226.1234369337.squirrel@www.academickeys.com> <20090211181843.GA41237@slackbox.xs4all.nl> <65534.12.68.55.226.1234377513.squirrel@www.academickeys.com> <F41F7727070FF48ED4A2BCB1@utd65257.utdallas.edu>

next in thread | previous in thread | raw e-mail | index | archive | help

Paul,

Thanks so much, this solution works really well! It doesn't lock users ou=
t
of the entire system, but it does ensure that users can't view other
user's files via SFTP/SSH, which is fantastic.

The actual syntax for setting the setgid bit on directories is:
find /path/to/directory -type d -exec chmod g+s '{}' \;


Thanks!

--=20
 - Keith Palmer
   Keith@AcademicKeys.com
   http://www.AcademicKeys.com/

On Wed, February 11, 2009 2:23 pm, Paul Schmehl wrote:
> --On Wednesday, February 11, 2009 12:38:33 -0600 Keith Palmer
> <keith@academickeys.com> wrote:
>
>>
>>
>> ... really? Write a script to copy the user's files over on a
>> schedule...?
>>
>> I can see where that might be an option for some people, but that's
>> entirely not an option in this case. I'd have to schedule it to run
>> every
>> 5 seconds or something to keep users from getting upset.
>>
>>
>> What if I symlinked each home user's public_html directory to a
>> directory
>> readable only by Apache? Would Apache be able to read the destination
>> directory via the symlink, even if it doesn't have permission to acces=
s
>> the destination directory?
>>
>
> Why can't you chgroup and setgid the homedirs to www?  (Or whatever
> account the
> web server is running under.)  You really have two requirements:
>
> 1) Users can't see other users' files
> 2) The web server can read all users' web files
>
> So you chmod the homedirs to 750/640, and chgroup the dirs and files to
> www,
> then set the sticky bit for the group, and you're done.  Seems to me
> that's the
> simplest way to go about it.  Setting the sticky bit ensures that any n=
ew
> files
> created by a user will have www as the group.
>
> So chown -R someuser:www /home/someuser
> find /home/someuser -type d exec "chmod 2750 {}" \;
> find /home/someuser -type f exec "chomd 2640 {}" \;
>
> (Might have my syntax on the find command messed up a bit.  Make sure t=
o
> man
> that.)
>
> If your users have their webfiles in /home/someuser/public_html, then y=
ou
> only
> need to setgid that dir and its subdirs, no the user's homedir.
>
> --
> Paul Schmehl, Senior Infosec Analyst
> As if it wasn't already obvious, my opinions
> are my own and not those of my employer.
> *******************************************
> Check the headers before clicking on Reply.
>
> _______________________________________________
> freebsd-questions@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to
> "freebsd-questions-unsubscribe@freebsd.org"
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?62055.12.68.55.226.1234449558.squirrel>