mirror of
https://github.com/troglobit/finit.git
synced 2026-11-06 15:51:03 +00:00
Add mksusbys() to helpers.c, a kind-of tmpfiles.d in C
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
1 parent
600b2874e6
commit
46995fe446
2 files changed
+25
No files matched your search
@@ -447,6 +447,29 @@ int getcgroup(char *buf, size_t len)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int mksubsys(const char *dir, mode_t mode, char *user, char *group)
|
||||||
|
{
|
||||||
|
mode_t omask;
|
||||||
|
int uid, gid;
|
||||||
|
int rc = 0;
|
||||||
|
|
||||||
|
omask = umask(0);
|
||||||
|
|
||||||
|
uid = getuser(user, NULL);
|
||||||
|
if (uid >= 0) {
|
||||||
|
gid = getgroup(group);
|
||||||
|
if (gid < 0)
|
||||||
|
gid = 0;
|
||||||
|
|
||||||
|
rc = makedir(dir, mode);
|
||||||
|
chown(dir, uid, gid);
|
||||||
|
}
|
||||||
|
|
||||||
|
umask(omask);
|
||||||
|
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
void set_hostname(char **hostname)
|
void set_hostname(char **hostname)
|
||||||
{
|
{
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
|
|||||||
@@ -85,6 +85,8 @@ int getgroup (char *group);
|
|||||||
int getcuser (char *buf, size_t len);
|
int getcuser (char *buf, size_t len);
|
||||||
int getcgroup (char *buf, size_t len);
|
int getcgroup (char *buf, size_t len);
|
||||||
|
|
||||||
|
int mksubsys (const char *dir, mode_t mode, char *user, char *group);
|
||||||
|
|
||||||
void set_hostname (char **hostname);
|
void set_hostname (char **hostname);
|
||||||
void networking (int updown);
|
void networking (int updown);
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user