mirror of
https://github.com/ceph/ceph
synced 2025-01-29 14:34:40 +00:00
eae0127513
When a secret and/or the mon addrs are not specified by the admin, then mmap a MAP_SHARED buffer and spawn a child process to get that info. For safety reasons, the child drops all capabilities other than CAP_DAC_READ_SEARCH (to ensure that it'll be able to read the keyring, should one be found). To achieve this, we add a new dependency on libcap-ng. Add a new C++ file with a single routine that will create a CephContext, get a list of monitor addresses and scrape the keyring for a secret for the specified cephx user. If that info is found, then it is copied to fixed-length buffers in the MAP_SHARED area and the child exits successfully. The parent will then vet the returned info and copy it into the appropriate fields if they are currently blank. Fixes: https://tracker.ceph.com/issues/16656 Signed-off-by: Jeff Layton <jlayton@redhat.com> |
||
---|---|---|
.. | ||
source | ||
.gitignore | ||
ceph-base.dirs | ||
ceph-base.docs | ||
ceph-base.install | ||
ceph-base.lintian-overrides | ||
ceph-base.maintscript | ||
ceph-base.postinst | ||
ceph-base.prerm | ||
ceph-common.dirs | ||
ceph-common.install | ||
ceph-common.postinst | ||
ceph-common.postrm | ||
ceph-fuse.install | ||
ceph-immutable-object-cache.install | ||
ceph-mds.dirs | ||
ceph-mds.install | ||
ceph-mds.postinst | ||
ceph-mds.prerm | ||
ceph-mgr-dashboard.install | ||
ceph-mgr-dashboard.postinst | ||
ceph-mgr-dashboard.prerm | ||
ceph-mgr-diskprediction-cloud.install | ||
ceph-mgr-diskprediction-cloud.postinst | ||
ceph-mgr-diskprediction-cloud.prerm | ||
ceph-mgr-diskprediction-local.install | ||
ceph-mgr-diskprediction-local.postinst | ||
ceph-mgr-diskprediction-local.prerm | ||
ceph-mgr-rook.install | ||
ceph-mgr-rook.postinst | ||
ceph-mgr-rook.prerm | ||
ceph-mgr-ssh.install | ||
ceph-mgr-ssh.postinst | ||
ceph-mgr-ssh.prerm | ||
ceph-mgr.dirs | ||
ceph-mgr.install | ||
ceph-mgr.postinst | ||
ceph-mgr.prerm | ||
ceph-mon.dirs | ||
ceph-mon.install | ||
ceph-mon.postinst | ||
ceph-mon.prerm | ||
ceph-osd.dirs | ||
ceph-osd.install | ||
ceph-osd.postinst | ||
ceph-osd.prerm | ||
ceph-resource-agents.install | ||
ceph-test.install | ||
cephfs-shell.install | ||
changelog | ||
compat | ||
control | ||
copyright | ||
libcephfs2.install | ||
libcephfs-dev.install | ||
libcephfs-java.jlibs | ||
libcephfs-jni.install | ||
librados2.install | ||
librados-dev.install | ||
libradospp-dev.install | ||
libradosstriper1.install | ||
libradosstriper-dev.install | ||
librbd1.install | ||
librbd-dev.install | ||
librgw2.install | ||
librgw-dev.install | ||
py3dist-overrides | ||
python3-ceph-argparse.install | ||
python3-ceph-common.install | ||
python3-cephfs.install | ||
python3-rados.install | ||
python3-rbd.install | ||
python3-rgw.install | ||
python-ceph-argparse.install | ||
python-ceph-common.install | ||
python-cephfs.install | ||
python-rados.install | ||
python-rbd.install | ||
python-rgw.install | ||
rados-objclass-dev.install | ||
radosgw.dirs | ||
radosgw.install | ||
radosgw.postinst | ||
radosgw.prerm | ||
rbd-fuse.install | ||
rbd-mirror.install | ||
rbd-nbd.install | ||
rules | ||
watch |