|
|
# --- ROCK-COPYRIGHT-NOTE-BEGIN --- # # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # Please add additional copyright information _after_ the line containing # the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by # the ./scripts/Create-CopyPatch script. Do not edit this copyright text! # # ROCK Linux: rock-src/package/base/linux/linux24/81-reiserfs-suiddir.patch # ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf # # This patch file is dual-licensed. It is available under the license the # patched project is licensed under, as long as it is an OpenSource license # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms # of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the License, or (at your option) any later # version. # # --- ROCK-COPYRIGHT-NOTE-END ---
created by Clifford Wolf and Rene Rebe
--- ./Documentation/Configure.help.orig 2003-04-29 21:57:54.000000000 +0200
+++ ./Documentation/Configure.help 2003-04-29 22:28:05.000000000 +0200
@@ -15233,6 +15233,32 @@
performance cost of it. If you are fine-tuning reiserfs, say Y, otherwise say N. +Reiserfs SUID on Directory Extension
+CONFIG_REISERFS_SUIDDIR
+ As you might know, the SGID flag has a special function on directories:
+ files within that directories will be owned by the same group that also
+ owns the directory - which is useful for creating directories which are
+ shared between the members of a group.
+
+ But that only makes sense if the umask is set to give full permissions to
+ the group (e.g. 007 or 002). Noone would do that if there is a system-wide
+ 'users' group - so some distributions add an extra group for every user
+ which lets the /etc/group file grow very fast and makes the admins life
+ harder ...
+
+ Activating this feture adds a function to the SUID flag on directories,
+ which usually has no function at all:
+
+ If the SUID flag is set for a diectory, all new files in that directory
+ will get the same rights in the group-field as they have in their
+ user-field. So, if one sets both - SUID and SGID - on a directory, it
+ will also work with a umask like 022 or 077 and there is no more need for
+ an extra group for every user.
+
+ Also, the SUID flag will be set to all subdirectories of a SUID directory
+ (as it is already now with the SGID flag on directories).
+
+
Second extended fs support CONFIG_EXT2_FS This is the de facto standard Linux file system (method to organize --- ./fs/Config.in.orig 2002-12-11 19:42:57.000000000 +0100
+++ ./fs/Config.in 2003-04-29 22:27:01.000000000 +0200
@@ -11,6 +11,7 @@
tristate 'Reiserfs support' CONFIG_REISERFS_FS dep_mbool ' Enable reiserfs debug mode' CONFIG_REISERFS_CHECK $CONFIG_REISERFS_FS dep_mbool ' Stats in /proc/fs/reiserfs' CONFIG_REISERFS_PROC_INFO $CONFIG_REISERFS_FS +dep_mbool ' Reiserfs SUID on Directory Extension' CONFIG_REISERFS_SUIDDIR $CONFIG_REISERFS_FS
dep_tristate 'ADFS file system support (EXPERIMENTAL)' CONFIG_ADFS_FS $CONFIG_EXPERIMENTAL dep_mbool ' ADFS write support (DANGEROUS)' CONFIG_ADFS_FS_RW $CONFIG_ADFS_FS $CONFIG_EXPERIMENTAL --- ./fs/reiserfs/namei.c.orig 2003-04-29 21:55:36.000000000 +0200
+++ ./fs/reiserfs/namei.c 2003-04-29 22:27:14.000000000 +0200
@@ -518,6 +518,14 @@
} else inode->i_gid = current->fsgid; +#ifdef CONFIG_REISERFS_SUIDDIR
+ if (dir->i_mode & S_ISUID) {
+ inode->i_mode |= (inode->i_mode & 0700) >> 3;
+ if (S_ISDIR(inode->i_mode))
+ inode->i_mode |= S_ISUID;
+ }
+#endif
+
return 0 ; }
|