|
|
|
@ -1,134 +0,0 @@ |
|
|
|
# --- 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 - 2006 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/ext2/Kconfig.orig 2009-01-18 17:59:49.000000000 +0100
|
|
|
|
+++ ./fs/ext2/Kconfig 2009-01-18 18:01:05.000000000 +0100
|
|
|
|
@@ -53,3 +53,33 @@
|
|
|
|
|
|
|
|
If you do not use a block device that is capable of using this, |
|
|
|
or if unsure, 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).
|
|
|
|
+
|
|
|
|
--- ./fs/ext3/Kconfig.orig 2009-01-18 18:01:10.000000000 +0100
|
|
|
|
+++ ./fs/ext3/Kconfig 2009-01-18 18:02:09.000000000 +0100
|
|
|
|
@@ -65,3 +65,33 @@
|
|
|
|
|
|
|
|
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).
|
|
|
|
+
|