Struct zbus_polkit::policykit1::Subject [−][src]
pub struct Subject {
pub subject_kind: String,
pub subject_details: HashMap<String, OwnedValue>,
}
Expand description
This struct describes subjects such as UNIX processes. It is typically used to check if a given process is authorized for an action.
The following kinds of subjects are known:
-
Unix Process.
subject_kind
should be set tounix-process
with keyspid
(of typeuint32
) andstart-time
(of typeuint64
). -
Unix Session.
subject_kind
should be set tounix-session
with the keysession-id
(of typestring
). -
System Bus Name.
subject_kind
should be set tosystem-bus-name
with the keyname
(of typestring
).
Fields
subject_kind: String
The type of the subject.
subject_details: HashMap<String, OwnedValue>
Details about the subject. Depending of the value of subject_kind
, a set of well-defined
key/value pairs are guaranteed to be available.
Implementations
Create a Subject
for pid
, start_time
& uid
.
Arguments
-
pid
- The process ID -
start_time
- The start time forpid
orNone
to look it up in e.g./proc
-
uid
- The (real, not effective) uid of the owner ofpid
orNone
to look it up in e.g./proc
Create a Subject
for a message for querying if the sender of a Message is permitted to
execute an action.
Arguments
message_header
- The header of the message which caused an authentication to be necessary.
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for Subject
impl UnwindSafe for Subject
Blanket Implementations
Mutably borrows from an owned value. Read more
type Deserializer = PhantomData<T>
type Deserializer = PhantomData<T>
A DeserializeSeed implementation for this type.
pub fn deserializer_for_signature<S>(
signature: S
) -> Result<<T as DynamicDeserialize<'de>>::Deserializer, Error> where
S: TryInto<Signature<'de>>,
<S as TryInto<Signature<'de>>>::Error: Into<Error>,
pub fn deserializer_for_signature<S>(
signature: S
) -> Result<<T as DynamicDeserialize<'de>>::Deserializer, Error> where
S: TryInto<Signature<'de>>,
<S as TryInto<Signature<'de>>>::Error: Into<Error>,
Get a deserializer compatible with this signature.
Get the signature for the implementing type. Read more