chiark / gitweb /
mount-setup: mount /dev/pts with mode=620,gid=5 by default and make GID overridable...
authorLennart Poettering <lennart@poettering.net>
Tue, 4 Jan 2011 00:58:38 +0000 (01:58 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 4 Jan 2011 00:58:38 +0000 (01:58 +0100)
configure.ac
src/macro.h
src/mount-setup.c

index 4f77aa8..396a414 100644 (file)
@@ -410,6 +410,12 @@ else
         SYSTEM_SYSV_COMPAT="no"
 fi
 
+AC_ARG_WITH([tty-gid],
+        [AS_HELP_STRING([--tty-gid=GID],
+                [Specify the numeric GID of the 'tty' group])],
+        [AC_DEFINE_UNQUOTED(TTY_GID, [$withval], [GID of the 'tty' group])],
+        [])
+
 AM_CONDITIONAL(TARGET_FEDORA, test x"$with_distro" = xfedora)
 AM_CONDITIONAL(TARGET_SUSE, test x"$with_distro" = xsuse)
 AM_CONDITIONAL(TARGET_DEBIAN, test x"$with_distro" = xdebian)
index 85a7fbc..996b7c2 100644 (file)
@@ -47,6 +47,9 @@
 #define _weakref_(x) __attribute__((weakref(#x)))
 #define _introspect_(x) __attribute__((section("introspect." x)))
 
+#define XSTRINGIFY(x) #x
+#define STRINGIFY(x) XSTRINGIFY(x)
+
 /* Rounds up */
 static inline size_t ALIGN(size_t l) {
         return ((l + sizeof(void*) - 1) & ~(sizeof(void*) - 1));
index b85ac6d..64fb476 100644 (file)
 #include "util.h"
 #include "label.h"
 
+#ifndef TTY_GID
+#define TTY_GID 5
+#endif
+
 typedef struct MountPoint {
         const char *what;
         const char *where;
@@ -49,7 +53,7 @@ static const MountPoint mount_table[] = {
         { "sysfs",    "/sys",                   "sysfs",    NULL,                MS_NOSUID|MS_NOEXEC|MS_NODEV, true },
         { "devtmpfs", "/dev",                   "devtmpfs", "mode=755",          MS_NOSUID,                    true },
         { "tmpfs",    "/dev/shm",               "tmpfs",    "mode=1777",         MS_NOSUID|MS_NODEV,           true },
-        { "devpts",   "/dev/pts",               "devpts",   NULL,                MS_NOSUID|MS_NOEXEC,          false },
+        { "devpts",   "/dev/pts",               "devpts",   "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC, false },
         { "tmpfs",    "/sys/fs/cgroup",         "tmpfs",    "mode=755",          MS_NOSUID|MS_NOEXEC|MS_NODEV, true },
         { "cgroup",   "/sys/fs/cgroup/systemd", "cgroup",   "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV, true },
 };