openssh_sftp_client::metadata

Struct Permissions

Source
pub struct Permissions(/* private fields */);
Expand description

Representation of the various permissions on a file.

Implementations§

Source§

impl Permissions

Source

pub const fn new() -> Self

Create a new permissions object with zero permissions set.

Source

pub fn suid(&self) -> bool

Tests whether set-user-id bit is set.

Source

pub fn set_suid(&mut self, value: bool) -> &mut Self

Modify the set-user-id bit.

Source

pub fn sgid(&self) -> bool

Tests whether set-group-id bit is set.

Source

pub fn set_sgid(&mut self, value: bool) -> &mut Self

Modify the set-group-id bit.

Source

pub fn svtx(&self) -> bool

Tests whether set-sticky-bit bit is set.

Source

pub fn set_vtx(&mut self, value: bool) -> &mut Self

Modify the set-sticky-bit bit.

Source

pub fn read_by_owner(&self) -> bool

Tests whether read by owner bit is set.

Source

pub fn set_read_by_owner(&mut self, value: bool) -> &mut Self

Modify the read by owner bit.

Source

pub fn write_by_owner(&self) -> bool

Tests whether write by owner bit is set.

Source

pub fn set_write_by_owner(&mut self, value: bool) -> &mut Self

Modify the write by owner bit.

Source

pub fn execute_by_owner(&self) -> bool

Tests whether execute by owner bit is set.

Source

pub fn set_execute_by_owner(&mut self, value: bool) -> &mut Self

Modify the execute by owner bit.

Source

pub fn read_by_group(&self) -> bool

Tests whether read by group bit is set.

Source

pub fn set_read_by_group(&mut self, value: bool) -> &mut Self

Modify the read by group bit.

Source

pub fn write_by_group(&self) -> bool

Tests whether write by group bit is set.

Source

pub fn set_write_by_group(&mut self, value: bool) -> &mut Self

Modify the write by group bit.

Source

pub fn execute_by_group(&self) -> bool

Tests whether execute by group bit is set.

Source

pub fn set_execute_by_group(&mut self, value: bool) -> &mut Self

Modify the execute by group bit.

Source

pub fn read_by_other(&self) -> bool

Tests whether read by other bit is set.

Source

pub fn set_read_by_other(&mut self, value: bool) -> &mut Self

Modify the read by other bit.

Source

pub fn write_by_other(&self) -> bool

Tests whether write by other bit is set.

Source

pub fn set_write_by_other(&mut self, value: bool) -> &mut Self

Modify the write by other bit.

Source

pub fn execute_by_other(&self) -> bool

Tests whether execute by other bit is set.

Source

pub fn set_execute_by_other(&mut self, value: bool) -> &mut Self

Modify the execute by other bit.

Source

pub fn readonly(&self) -> bool

Returns true if these permissions describe an unwritable file that no one can write to.

Source

pub fn set_readonly(&mut self, readonly: bool)

Modifies the readonly flag for this set of permissions.

If the readonly argument is true, it will remove write permissions from all parties.

Conversely, if it’s false, it will permit writing from all parties.

This operation does not modify the filesystem.

To modify the filesystem use the super::fs::Fs::set_permissions or the super::file::File::set_permissions function.

Trait Implementations§

Source§

impl Clone for Permissions

Source§

fn clone(&self) -> Permissions

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Permissions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Permissions

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl From<u16> for Permissions

Source§

fn from(octet: u16) -> Self

Converts numeric file mode bits permission into a Permissions object.

The numerical file mode bits are defined as follows:

Special mode bits: 4000 Set user ID 2000 Set group ID 1000 Restricted deletion flag or sticky bit

The file’s owner: 400 Read 200 Write 100 Execute/search

Other users in the file’s group: 40 Read 20 Write 10 Execute/search

Other users not in the file’s group: 4 Read 2 Write 1 Execute/search

Source§

impl Hash for Permissions

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Permissions

Source§

fn eq(&self, other: &Permissions) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Permissions

Source§

impl Eq for Permissions

Source§

impl StructuralPartialEq for Permissions

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more