The following reply was made to PR bin/150988; it has been noted by GNATS. From: Dmitry Banshchikov <ubi...@peterhost.ru> To: bug-follo...@freebsd.org, zrc...@foxmail.com Cc: Subject: Re: bin/150988: adduser(8) problem of directory mode Date: Fri, 22 Oct 2010 13:16:57 +0400
Hello, adduser is shell script, which runs pw utility with gathered arguments. There is a check for existence of a home directory in pw_user.c, and if homedir does not exist pw will create it with the permissions of target user directory (Set by example with -M option to pw). Should pw always create homedir with permissions 755 to be accessible by all users? --- pw_user.c 2010-10-22 12:53:19.000000000 +0400 +++ pw_user.c 2010-10-22 12:56:11.000000000 +0400 @@ -186,7 +186,10 @@ if (strchr(cnf->home+1, '/') == NULL) { strcpy(dbuf, "/usr"); strncat(dbuf, cnf->home, MAXPATHLEN-5); - if (mkdir(dbuf, cnf->homemode) != -1 || errno == EEXIST) { + /* Home directory should be accessible by all users, + * so by default set permissions to 0755 + */ + if (mkdir(dbuf, 0755) != -1 || errno == EEXIST) { chown(dbuf, 0, 0); /* * Skip first "/" and create symlink: @@ -202,7 +205,7 @@ while ((p = strchr(++p, '/')) != NULL) { *p = '\0'; if (stat(dbuf, &st) == -1) { - if (mkdir(dbuf, cnf->homemode) == -1) + if (mkdir(dbuf, 0755) == -1) goto direrr; chown(dbuf, 0, 0); } else if (!S_ISDIR(st.st_mode)) -- Dmitry Banshchikov _______________________________________________ freebsd-bugs@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"