Align with Multi user feature, SDB tool should concider develloper as regular user 21/28121/4 accepted/tizen/common/20141015.105840 accepted/tizen/ivi/20141020.070054 submit/tizen_common/20141015.091219 submit/tizen_ivi/20141015.091312 submit/tizen_mobile/20141120.000000
authorBaptiste DURAND <baptiste.durand@open.eurogiciel.org>
Fri, 26 Sep 2014 09:41:23 +0000 (11:41 +0200)
committerBaptiste DURAND <baptiste.durand@open.eurogiciel.org>
Tue, 30 Sep 2014 07:06:30 +0000 (09:06 +0200)
Develloper user should be owned by users group

Add Home directory creation
Linked with : https://review.tizen.org/gerrit/#/c/28178/
BUG=TC-320

Change-Id: I79fad0baac5c0bd763aa3d4d56a07d3f49be55e0
Signed-off-by: Baptiste DURAND <baptiste.durand@open.eurogiciel.org>
packaging/sdbd.spec
src/sdb.c
src/sdb.h

index dc2c194..a2a6732 100644 (file)
@@ -46,6 +46,13 @@ install -m 0644 %SOURCE1004 %{buildroot}%{_libdir}/systemd/system/sdbd_tcp.servi
 mkdir -p %{buildroot}%{_prefix}/sbin
 install -m 755 script/sdk_launch %{buildroot}%{_prefix}/sbin/
 
+
+%post 
+mkdir -p /home/developer/.applications
+chown -R developer:users /home/developer/
+chsmack -a "User" /home/developer/
+chsmack -a "User" /home/developer/.applications
+
 %files
 %manifest sdbd.manifest
 %license LICENSE
index 1018430..20d190a 100644 (file)
--- a/src/sdb.c
+++ b/src/sdb.c
@@ -1095,13 +1095,13 @@ int should_drop_privileges() {
 }
 
 int set_developer_privileges() {
-    gid_t groups[] = { SID_DEVELOPER, SID_APP_LOGGING, SID_SYS_LOGGING, SID_INPUT };
+    gid_t groups[] = { GID_DEVELOPER, SID_APP_LOGGING, SID_SYS_LOGGING, SID_INPUT };
     if (setgroups(sizeof(groups) / sizeof(groups[0]), groups) != 0) {
         D("set groups failed (errno: %d, %s)\n", errno, strerror(errno));
     }
 
     // then switch user and group to developer
-    if (setgid(SID_DEVELOPER) != 0) {
+    if (setgid(GID_DEVELOPER) != 0) {
         D("set group id failed (errno: %d, %s)\n", errno, strerror(errno));
         return -1;
     }
@@ -1146,7 +1146,7 @@ static void init_sdk_requirements() {
     if (stat(ONDEMAND_ROOT_PATH, &st) == -1) {
         return;
     }
-    if (st.st_uid != SID_DEVELOPER || st.st_gid != SID_DEVELOPER) {
+    if (st.st_uid != SID_DEVELOPER || st.st_gid != GID_DEVELOPER) {
         char cmd[128];
         snprintf(cmd, sizeof(cmd), "chown %s:%s %s -R", DEV_NAME, DEV_NAME, ONDEMAND_ROOT_PATH);
         if (system(cmd) < 0) {
@@ -1207,7 +1207,7 @@ int sdb_main(int is_daemon, int server_port)
             exit(1);
         }
         /* then switch user and group to "developer" */
-        if (setgid(SID_DEVELOPER) != 0) {
+        if (setgid(GID_DEVELOPER) != 0) {
             fprintf(stderr, "set group id failed errno: %d\n", errno);
             exit(1);
         }
index ccee503..0341962 100644 (file)
--- a/src/sdb.h
+++ b/src/sdb.h
@@ -334,6 +334,7 @@ int rootshell_mode;// 0: developer, 1: root
 #define SID_TTY         5    /* group for /dev/ptmx */
 #define SID_APP         tzplatform_getuid(TZ_USER_NAME) /* application */
 #define SID_DEVELOPER   tzplatform_getuid(TZ_SDK_USER_NAME) /* developer with SDK */
+#define GID_DEVELOPER   100 /* developer will be member of users with SDK */
 #define SID_APP_LOGGING 6509
 #define SID_SYS_LOGGING 6527
 #define SID_INPUT       1004