Age | Commit message (Collapse) | Author | Files | Lines |
|
Andrew Bartlett
|
|
When a user has SEC_PRIV_TAKE_OWNERSHIP or SEC_PRIV_RESTORE they have
permission to change the ownership of a file.
This should fix bug 6987
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
|
|
The includes of the UID wrapper headers werent't really efficient according
to metze's post on the technical mailing list (http://lists.samba.org/archive/samba-technical/2010-February/069165.html).
To achieve this move the "uid_wrapper.h" includes into "lib/util/unix_privs.c",
"lib/util/util.c", "ntvfs/posix/pvfs_acl.c" and "ntvfs/unixuid/vfs_unixuid.c".
|
|
|
|
The passed in SD is not used to limit the access mask allowed on file
create.
|
|
Previously when a file was created, we produces the resulting access
mask based on an ACL check against the parent. This change means we
now calculate the inherited ACL much earlier, and produce the
resulting access mask from that ACL, or the user supplied ACL.
|
|
chown is expected to fail under uwrap
|
|
|
|
This makes the unix access check much closer to the full ACL check
|
|
This matches the sec_access_check() code
|
|
The CREATEX_ACCESS test shows that this is used as a bit test, not a
equality test
|
|
This bug was caused by two things:
1) in the unix ACL mapping, we were not taking into account group
write permssions for the SEC_STD_DELETE flag
2) when a file is created using OVERWRITE mode, a fchmod() would
fail if the user is not the file owner. We resolve that by only
doing the fchmod() if the mapped file attribute does not match the
desired file attribute
|
|
|
|
This fixes two issues pointed out by Andrew. It adds a runtime
uwrap_enabled() call that wraps the skips needed for uid emulation. It
also makes the skip in the directory_create_or_exist() function only
change the uid checking code, not the permissions code
|
|
This library intercepts seteuid and related calls, and simulates them
in a manner similar to the nss_wrapper and socket_wrapper
libraries. This allows us to enable the vfs_unixuid NTVFS module in
the build farm, which means we are more likely to catch errors in the
token manipulation.
The simulation is not complete, but it is enough for Samba4 for
now. The major areas of incompleteness are:
- no emulation of setreuid, setresuid or saved uids. These would be
needed for use in Samba3
- no emulation of ruid changing. That would also be needed for Samba3
- no attempt to emulate file ownership changing, so code that (for
example) tests whether st.st_uid matches geteuid() needs special
handling
|
|
metze
|
|
|
|
|
|
That means that the pvfs_acl implementations no longer register
as ntvfs modules (which was wrong)
metze
(This used to be commit 89e90556ec57fce24faf0ed3d6fe262edd974b28)
|
|
(This used to be commit 1dfa50a48040bdc1166be2dbe1063fd8a79166f8)
|
|
(This used to be commit 4eb49335d5f0319f9aa47ded5215a2977d3336bf)
|
|
(This used to be commit 7bff0691428ed3f75c1a9cbaae692bc9830640e6)
|
|
(This used to be commit f5068c6e50215f6ea7108d58d783394a315ff14f)
|
|
the status field is sent on both call and reply, but was only being
initialised on reply
(This used to be commit 2ebd7b80998775168959d511fbc987f8b5b7bd34)
|
|
(This used to be commit ac5e5fee1db2999053dee82d1fcf97ca8799c9b5)
|
|
(This used to be commit 47ffbbf67435904754469544390b67d34c958343)
|
|
(This used to be commit 566aa14139510788548a874e9213d91317f83ca9)
|
|
There are still a few tidyups of old FSF addresses to come (in both s3
and s4). More commits soon.
(This used to be commit fcf38a38ac691abd0fa51b89dc951a08e89fdafa)
|
|
backend, allowing other ACL backends to be added. The xattr backend is
still the default backend
(This used to be commit 90f044e63b12d32228310c7529382198bd7e6dfe)
|
|
static function
(This used to be commit 024ca6a91cdf2c0f8999c220b4459a72c45bfd32)
|
|
NT_STATUS_ACCESS_DENIED in the access mask checks
(This used to be commit ceffc34f3e9f47a8a44dad52054688f9855eeb37)
|
|
metze
(This used to be commit 98f58d710a4fe1cd3581b1fb25c4f0c0236b5092)
|
|
- only call chown/fchown when we want to change something
metze
(This used to be commit 46b3096d938331a2339a876649bc6cbfec883cb2)
|
|
metze
(This used to be commit fde8922947551f5f7d50607c5c83feba062138c8)
|
|
- add the correct access checks for changing sd->group and sd->dacl
metze
(This used to be commit 2a61f65cd4084bf690caccf87efaf46551a13aee)
|
|
metze
(This used to be commit 9ec706238c173992dc938d537bdf1103bf519dbf)
|
|
but I don't to get the commit to large, to I'll do this tomorrow...
metze
(This used to be commit 10e627032d7d04f1ebf6efed248c426614f5aa6f)
|
|
try to include just the BASENAME.h files (containing only structs)
(This used to be commit 3dd477ca5147f28a962b8437e2611a8222d706bd)
|
|
a union smb_file, to abtract
- const char *path fot qpathinfo and setpathinfo
- uint16_t fnum for SMB
- smb2_handle handle for SMB2
the idea is to later add a struct ntvfs_handle *ntvfs
so that the ntvfs subsystem don't need to know the difference between SMB and SMB2
metze
(This used to be commit 2ef3f5970901b5accdb50f0d0115b5d46b0c788f)
|
|
(for now we just do #define ntvfs_request smbsrv_request,
but it's the first step...)
- rename ntvfs_openfile() -> ntvfs_open()
- fix the talloc hierachie in some places in the ntvfs_map_*() code
metze
(This used to be commit ed9ed1f48f602354810937c0b0de850b44322191)
|
|
file dependencies
(This used to be commit 122835876748a3eaf5e8d31ad1abddab9acb8781)
|
|
Thanks to lars and agruen for finding this
(This used to be commit 2acc06918574b1178eecf3d61026f84f85bb40e1)
|
|
less likely that anyone will use pstring for new code
- got rid of winbind_client.h from includes.h. This one triggered a
huge change, as winbind_client.h was including system/filesys.h and
defining the old uint32 and uint16 types, as well as its own
pstring and fstring.
(This used to be commit 9db6c79e902ec538108d6b7d3324039aabe1704f)
|
|
pvfs_access_check_unix().
Fixes a problem with the cifsfs filesystem
(This used to be commit 8ebc61a2297176515d767ef0f67ec912293ab905)
|
|
large commit. I thought this was worthwhile to get done for
consistency.
(This used to be commit ec32b22ed5ec224f6324f5e069d15e92e38e15c0)
|
|
(This used to be commit 0e61a422bd9a1596a284c176f033e958bbeaa8ce)
|
|
(This used to be commit 5a1a17d3fc771b1e1c61297067f38c87901891d3)
|
|
really the
strange behaviour I saw was a w2k3 bug :-)
(This used to be commit e729061bcde25d0565a72222e4720ca8074ef23f)
|
|
ACL is the default ACL this menas the copied file would have an xattr
but the original would not. Avoid this by checking if the ACL being
set is the original ACL, and avoid the copy.
(This used to be commit 1df985a49b200a41eed39023aa668afb233f2e53)
|