Hi Gary, Parts of the filesystem are written by all users - /tmp and /var/tmp. Users don't often write files there deliberately, but many programs run by the user do.
With a umask of 002, one user can modify another user's file in these locations. (The sticky bit only protects against file deletion.) Also note that a user can change permissions on their home directory - the users in question are students, and a few do this accidentally every semester. With a umask of 002, and every user in the same group, your home directory is effectively world-writable! The cronjobs and so forth would work - but functional ACLs would be so much simpler :-) Thanks Rob. On 12/03/2010, at 12:52 AM, Gary Gatten wrote: > "Project Groups" are the key. A secondary group owns the dir, only users > working on that project are in that group - so 002 works. I get umask is > system wide, but it should be ok if directory ownership is "correct" > everywhere in the system and/or users know they should only put certain files > in certain places. > > If for some reason that won't work (if you could explain why for my benefit) > what about: A cron job that runs every x mins and sets perms as you wish. > Ideally a daemon process would "monitor" the directory in question looking > for opens/writes/etc, and then set perms; event driven. Lasty, maybe train > the users to set perms, or have a script they can run that will do it. > OR...., have them create files in a temp dir and a cron job mv's them to the > permanent dir and sets perms the same time? > > > > ----- Original Message ----- > From: Rob <list...@deathbeforedecaf.net> > To: Gary Gatten > Cc: freebsd-questions@freebsd.org <freebsd-questions@freebsd.org> > Sent: Thu Mar 11 05:04:28 2010 > Subject: Re: ACLs, umask and shared directories > > Hi Gary, > > Directory group inheritance is the default in FreeBSD - see open(2): > > When a new file is created it is given the group of the > directory which contains it. > > In SysV, this behaviour is controlled by the setgid bit. > > So the file has the correct group, but it's not writeable by other users > unless it has g+w permissions. The way to guarantee this is to set > everyone's umask to 002 - but then they can write each other's files > anywhere else in the filesystem, because they're all in the same primary > group. > > I just can't see a tidy solution. > > Thanks > Rob. > > On 09/03/2010, at 10:34 AM, Gary Gatten wrote: > > > > > chmod g+s "ParentDirectory" > > > > Files created in the dir now have the group of the dir. > > > > Not sure if this will help or not, as it appears the new files do not > > inherit the perms of the group, the umask still over-rides so.... > > > > What about a secondary group + SGID + umask 002? The users that need to > > edit each others files in this directory are in a secondary group > > (ShareMe). This same group owns the parent directory and the SGID bit > > is set. This should allow you to set the umask to 002 correct? Maybe? > > > > So: > > > > www1 primary group = domain_users; > > > > www1$ pwd > > /WorkgroupXShare > > > > drwxrws--- 4 root ShareMe 0 Mar 8 03:11 . > > www1$ touch file1 > > drwxrws--- 4 www1 ShareMe 0 Mar 8 03:11 file1 > > > > umask of 002 should give files 664 (I'd change umask to 004, group > > "ShareMe" should get rw perms, right? > > > > I think this will work? > > > > G > > > > > > -----Original Message----- > > From: Gary Gatten > > Sent: Monday, March 08, 2010 4:49 PM > > To: 'list...@deathbeforedecaf.net' > > Subject: RE: ACLs, umask and shared directories > > > > This may also work: > > > > SGID (set group ID) on a directory: in this special case every file > > created in the directory will have the same group owner as the directory > > itself (while normal behavior would be that new files are owned by the > > users who create them). This way, users don't need to worry about file > > ownership when sharing directories: > > > > G > > > > > > -----Original Message----- > > From: Gary Gatten > > Sent: Monday, March 08, 2010 4:13 PM > > To: Gary Gatten; 'list...@deathbeforedecaf.net' > > Subject: RE: ACLs, umask and shared directories > > > > What about sticky bit on the parent directory - in combination with > > appropriate owner and group perms. I used sticky in my ftpd solution, > > HOWEVER, this was on SCO Unix and sticky may have different behavior on > > FBSD. Worth a look though! > > > > G > > > > > > -----Original Message----- > > From: Gary Gatten > > Sent: Monday, March 08, 2010 8:25 AM > > To: 'list...@deathbeforedecaf.net' > > Subject: Re: ACLs, umask and shared directories > > > > I ran into a similar issue long ago with an ftp folder and "shared" > > files. If I recall umask solved my issue for me but understand it > > doesn't solve yours. > > > > If nothing else, could you write a shell script that "monitors" the > > directory/directories for writes and then sets the perms as needed? > > > > ----- Original Message ----- > > From: owner-freebsd-questi...@freebsd.org > > <owner-freebsd-questi...@freebsd.org> > > To: freebsd-questions@freebsd.org <freebsd-questions@freebsd.org> > > Sent: Mon Mar 08 06:41:03 2010 > > Subject: ACLs, umask and shared directories > > > > Hi Folks, > > > > I need to give a group of users write access to a shared directory. The > > problem is, when one user creates a file, > > > > www1$ touch file1 > > www1$ ll > > total 8 > > drwxrwxr-x 2 root domain_users 512 Mar 8 03:11 . > > drwxr-xr-x 4 root wheel 512 Mar 8 03:10 .. > > -rw-r--r-- 1 www1 domain_users 0 Mar 8 03:11 file1 > > > > other users can't edit it. > > > > Solution 1 > > ---------- > > > > Change everyone's umask to 002. Unfortunately, these users are defined > > in Active Directory and they're all in the same primary group - 002 is > > not secure in this scenario. > > > > Solution 2 > > ---------- > > > > Set a default ACL on the parent directory, > > > > www1$ getfacl -d . > > # file: . > > # owner: root > > # group: domain_users > > user::rwx > > group::rwx > > mask::rwx > > other::r-x > > > > but it doesn't have the desired effect, > > > > www1$ touch file1 > > www1$ getfacl file1 > > # file: file1 > > # owner: www1 > > # group: domain_users > > user::rw- > > group::rwx # effective: r-- > > mask::r-- > > other::r-- > > > > as the umask seems to override it - this was confirmed by Robert > > Watson[1] in 2005. > > > > So does anyone have a better idea? > > > > Thanks > > Rob. > > > > [1] > > http://lists.freebsd.org/pipermail/freebsd-fs/2005-October/001382.html > > _______________________________________________ > > freebsd-questions@freebsd.org mailing list > > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > > To unsubscribe, send any mail to > > "freebsd-questions-unsubscr...@freebsd.org" > > > > > > > > > > > > <font size="1"> > > <div style='border:none;border-bottom:double windowtext 2.25pt;padding:0in > > 0in 1.0pt 0in'> > > </div> > > "This email is intended to be reviewed by only the intended recipient > > and may contain information that is privileged and/or confidential. > > If you are not the intended recipient, you are hereby notified that > > any review, use, dissemination, disclosure or copying of this email > > and its attachments, if any, is strictly prohibited. If you have > > received this email in error, please immediately notify the sender by > > return email and delete this email from your system." > > </font> > > > > > "This email is intended to be reviewed by only the intended recipient and may > contain information that is privileged and/or confidential. If you are not > the intended recipient, you are hereby notified that any review, use, > dissemination, disclosure or copying of this email and its attachments, if > any, is strictly prohibited. If you have received this email in error, please > immediately notify the sender by return email and delete this email from your > system." _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"