pub(crate) struct SubordinateInfo {
pub uid: u32,
pub gid: u32,
pub subuid: u32,
pub subgid: u32,
}Available on Linux only.
Expand description
Represents a single (subuid,subgid) pair for a user and their group.
In practice there are usually many more subordinate ids than just one, but for oci builds we only need one. If we ever need more, we can improve this implementation.
Fields§
§uid: u32§gid: u32§subuid: u32§subgid: u32Implementations§
Source§impl SubordinateInfo
impl SubordinateInfo
Sourcepub(crate) fn for_effective_user() -> Result<SubordinateInfo, SubordinateError>
pub(crate) fn for_effective_user() -> Result<SubordinateInfo, SubordinateError>
Parses /etc/subuid and /etc/subgid and returns a single SubordinateInfo for the effective user.
Trait Implementations§
Source§impl Debug for SubordinateInfo
impl Debug for SubordinateInfo
Source§impl PartialEq for SubordinateInfo
impl PartialEq for SubordinateInfo
Source§fn eq(&self, other: &SubordinateInfo) -> bool
fn eq(&self, other: &SubordinateInfo) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for SubordinateInfo
impl StructuralPartialEq for SubordinateInfo
Auto Trait Implementations§
impl Freeze for SubordinateInfo
impl RefUnwindSafe for SubordinateInfo
impl Send for SubordinateInfo
impl Sync for SubordinateInfo
impl Unpin for SubordinateInfo
impl UnsafeUnpin for SubordinateInfo
impl UnwindSafe for SubordinateInfo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.
§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].