mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-07-23 12:42:02 +00:00
add -u and -g command line args to set user and group.
properly handle portability for mlockall and setrlimit Tested on linux, Freebsd, solaris, mac. FSCORE-47 git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6033 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
@@ -60,6 +60,19 @@ typedef apr_os_thread_t switch_thread_id_t;
|
||||
#include <sys/mman.h>
|
||||
#endif
|
||||
|
||||
#ifndef WIN32
|
||||
/* setuid, setgid */
|
||||
#include <unistd.h>
|
||||
|
||||
/* getgrnam, getpwnam */
|
||||
#include <pwd.h>
|
||||
#include <grp.h>
|
||||
|
||||
#ifdef HAVE_SYS_RESOURCE_H
|
||||
#include <sys/resource.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* #define DEBUG_ALLOC */
|
||||
#define DO_EVENTS
|
||||
|
||||
|
||||
@@ -1413,6 +1413,18 @@ SWITCH_DECLARE(switch_status_t) switch_core_management_exec(char *relative_oid,
|
||||
*/
|
||||
SWITCH_DECLARE(int32_t) set_high_priority(void);
|
||||
|
||||
/*!
|
||||
\brief Change user and/or group of the running process
|
||||
\long Several possible combinations:
|
||||
- user only (group NULL): switch to user and his primary group (and supplementary groups, if supported)
|
||||
- user and group: switch to user and specified group (only)
|
||||
- group only (user NULL): switch group only
|
||||
\param user name of the user to switch to (or NULL)
|
||||
\param group name of the group to switch to (or NULL)
|
||||
\return 0 on success, -1 otherwise
|
||||
*/
|
||||
SWITCH_DECLARE(int32_t) change_user_group(const char *user, const char *group);
|
||||
|
||||
/*!
|
||||
\brief Run endlessly until the system is shutdown
|
||||
\param bg divert console to the background
|
||||
|
||||
Reference in New Issue
Block a user