|
|
# --- 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/linux26/80-ext23-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 ---
--- ./fs/ext3/ialloc.c.orig 2002-11-27 23:36:00.000000000 +0100
+++ ./fs/ext3/ialloc.c 2003-01-13 09:50:38.000000000 +0100
@@ -520,6 +520,13 @@
mode |= S_ISGID; } else inode->i_gid = current->fsgid; +#ifdef CONFIG_EXT3_FS_SUIDDIR
+ if (dir->i_mode & S_ISUID) {
+ mode |= (mode & 0700) >> 3;
+ if (S_ISDIR(mode))
+ mode |= S_ISUID;
+ }
+#endif
inode->i_mode = mode; inode->i_ino = ino; --- ./fs/ext2/ialloc.c.orig 2002-11-27 23:36:00.000000000 +0100
+++ ./fs/ext2/ialloc.c 2003-01-13 09:50:38.000000000 +0100
@@ -509,6 +509,13 @@
mode |= S_ISGID; } else inode->i_gid = current->fsgid; +#ifdef CONFIG_EXT2_FS_SUIDDIR
+ if (dir->i_mode & S_ISUID) {
+ mode |= (mode & 0700) >> 3;
+ if (S_ISDIR(mode))
+ mode |= S_ISUID;
+ }
+#endif
inode->i_mode = mode; inode->i_ino = ino; --- ./CREDITS.orig 2002-11-27 23:36:15.000000000 +0100
+++ ./CREDITS 2003-01-13 09:50:46.000000000 +0100
@@ -3346,6 +3346,8 @@
E: god@clifford.at W: http://www.clifford.at/ D: Menuconfig/lxdialog improvement +D: Initial Wacom Intuos USB Driver
+D: Ext[23]FS and Reiserfs SUID on directories extension
S: Foehrengasse 16 S: A-2333 Leopoldsdorf b. Wien S: Austria --- ./fs/Kconfig.old 2004-09-13 10:51:35.040756792 +0200
+++ ./fs/Kconfig 2004-09-13 10:48:00.735336168 +0200
@@ -50,6 +50,35 @@
If you are not using a security module that requires using extended attributes for file security labels, say N. +config EXT2_FS_SUIDDIR
+ bool "Ext2fs SUID on Directory Extension"
+ depends on EXT2_FS
+ ---help---
+ 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).
+
config EXT3_FS tristate "Ext3 journalling file system support" help @@ -118,6 +147,35 @@
If you are not using a security module that requires using extended attributes for file security labels, say N. +config EXT3_FS_SUIDDIR
+ bool "Ext3fs SUID on Directory Extension"
+ depends on EXT3_FS
+ help
+ 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).
+
config JBD # CONFIG_JBD could be its own option (even modular), but until there are # other users than ext3, we will simply make it be the same as CONFIG_EXT3_FS @@ -1289,8 +1347,6 @@
It's currently broken, so for now: answer N. -
-
config SYSV_FS tristate "System V/Xenix/V7/Coherent file system support" help
|