mirror of
https://github.com/samba-team/samba.git
synced 2025-10-31 12:23:52 +03:00
conjunction with the posix backend this gives us a way to correctly setup the unix security context in Samba4. I chose the following method to determine the unix uid's and gid's to use given the list of SIDs from the login process - look for a "UnixID" field in the sam record. If present, then use it (check if the record is of the right type as well) - if UnixID is not present, then look for the "UnixName" sam field. If it is present then use getpwnam() or getgrnam() to find the unix id. - if UnixID and UnixName are not present, then look for a unix account of the right type called by the same name as the sAMAccountName field. - if none of the above work then fail the operation with NT_STATUS_ACCESS_DENIED obviously these steps only work well with a local SAM. It will need to be more sophisticated in future. I did not put any cache in place at all. That will need to be added for decent performance.
26 lines
629 B
Plaintext
26 lines
629 B
Plaintext
SMB_MODULE_MK(ntvfs_posix, NTVFS, STATIC, ntvfs/config.mk)
|
|
|
|
|
|
dnl #############################################
|
|
dnl see if we have nanosecond resolution for stat
|
|
AC_CACHE_CHECK([for tv_nsec nanosecond fields in struct stat],ac_cv_have_stat_tv_nsec,[
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#include <sys/types.h>
|
|
#include <sys/stat.h>
|
|
#include <unistd.h>
|
|
],
|
|
[struct stat st;
|
|
st.st_mtim.tv_nsec;
|
|
st.st_atim.tv_nsec;
|
|
st.st_ctim.tv_nsec;
|
|
],
|
|
ac_cv_decl_have_stat_tv_nsec=yes,
|
|
ac_cv_decl_have_stat_tv_nsec=no)
|
|
])
|
|
if test x"$ac_cv_decl_have_stat_tv_nsec" = x"yes"; then
|
|
AC_DEFINE(HAVE_STAT_TV_NSEC,1,[Whether stat has tv_nsec nanosecond fields])
|
|
fi
|
|
|
|
|