summaryrefslogtreecommitdiffstats
path: root/server/tools/sss_sync_ops.h
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2009-10-05 19:45:03 +0200
committerStephen Gallagher <sgallagh@redhat.com>2009-10-22 14:04:28 -0400
commitf3bc40136878ab91cb98f1b206ff9517000112f7 (patch)
tree2cae1ff9ad9b537c93e6ffaef51b3f69f16862ca /server/tools/sss_sync_ops.h
parentf2119734c75b71577eba4a17ea3a84a5d89493e8 (diff)
downloadsssd-f3bc40136878ab91cb98f1b206ff9517000112f7.tar.gz
sssd-f3bc40136878ab91cb98f1b206ff9517000112f7.tar.xz
sssd-f3bc40136878ab91cb98f1b206ff9517000112f7.zip
User home directories management
Create and populate user directories on useradd, delete them on userdel Fixes: #212
Diffstat (limited to 'server/tools/sss_sync_ops.h')
-rw-r--r--server/tools/sss_sync_ops.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/server/tools/sss_sync_ops.h b/server/tools/sss_sync_ops.h
index 3988992e9..383319a8f 100644
--- a/server/tools/sss_sync_ops.h
+++ b/server/tools/sss_sync_ops.h
@@ -27,6 +27,13 @@
#define DO_LOCK 1
#define DO_UNLOCK 2
+/* 0 = not set, pick default */
+#define DO_CREATE_HOME 1
+#define DO_NOT_CREATE_HOME 2
+#define DO_REMOVE_HOME 1
+#define DO_NOT_REMOVE_HOME 2
+#define DO_FORCE_REMOVAL 1
+
struct ops_ctx {
struct sss_domain_info *domain;
@@ -38,6 +45,12 @@ struct ops_ctx {
char *shell;
int lock;
+ bool create_homedir;
+ bool remove_homedir;
+ mode_t umask;
+ char *skeldir;
+ char *maildir;
+
char **addgroups;
char **rmgroups;
};
@@ -48,7 +61,15 @@ int useradd_defaults(TALLOC_CTX *mem_ctx,
struct ops_ctx *data,
const char *gecos,
const char *homedir,
- const char *shell);
+ const char *shell,
+ int create_home,
+ const char *skeldir);
+
+/* default values for remove operations */
+int userdel_defaults(TALLOC_CTX *mem_ctx,
+ struct confdb_ctx *confdb,
+ struct ops_ctx *data,
+ int remove_home);
/* synchronous operations */
int useradd(TALLOC_CTX *mem_ctx,