403Webshell
Server IP : 157.22.201.140  /  Your IP : 216.73.216.74
Web Server : nginx/1.30.1
System : Linux mit.vincode.fvds.ru 6.8.0-111-generic #111-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 11 23:16:02 UTC 2026 x86_64
User : root ( 0)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/ansible/modules/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/ansible/modules/__pycache__/stat.cpython-312.pyc
�

1<�e.K���ddlmZmZmZeZdZdZdZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlmZddlmZd�Zd	�Zed
k(re�yy)�)�absolute_import�division�print_functiona#
---
module: stat
version_added: "1.3"
short_description: Retrieve file or file system status
description:
     - Retrieves facts for a file similar to the Linux/Unix 'stat' command.
     - For Windows targets, use the M(ansible.windows.win_stat) module instead.
options:
  path:
    description:
      - The full path of the file/object to get the facts of.
    type: path
    required: true
    aliases: [ dest, name ]
  follow:
    description:
      - Whether to follow symlinks.
    type: bool
    default: no
  get_checksum:
    description:
      - Whether to return a checksum of the file.
    type: bool
    default: yes
    version_added: "1.8"
  checksum_algorithm:
    description:
      - Algorithm to determine checksum of file.
      - Will throw an error if the host is unable to use specified algorithm.
      - The remote host has to support the hashing method specified, V(md5)
        can be unavailable if the host is FIPS-140 compliant.
    type: str
    choices: [ md5, sha1, sha224, sha256, sha384, sha512 ]
    default: sha1
    aliases: [ checksum, checksum_algo ]
    version_added: "2.0"
  get_mime:
    description:
      - Use file magic and return data about the nature of the file. this uses
        the 'file' utility found on most Linux/Unix systems.
      - This will add both RV(stat.mimetype) and RV(stat.charset) fields to the return, if possible.
      - In Ansible 2.3 this option changed from O(mime) to O(get_mime) and the default changed to V(true).
    type: bool
    default: yes
    aliases: [ mime, mime_type, mime-type ]
    version_added: "2.1"
  get_attributes:
    description:
      - Get file attributes using lsattr tool if present.
    type: bool
    default: yes
    aliases: [ attr, attributes ]
    version_added: "2.3"
extends_documentation_fragment:
  -  action_common_attributes
attributes:
    check_mode:
        support: full
    diff_mode:
        support: none
    platform:
        platforms: posix
seealso:
- module: ansible.builtin.file
- module: ansible.windows.win_stat
author: Bruce Pennypacker (@bpennypacker)
a�
# Obtain the stats of /etc/foo.conf, and check that the file still belongs
# to 'root'. Fail otherwise.
- name: Get stats of a file
  ansible.builtin.stat:
    path: /etc/foo.conf
  register: st
- name: Fail if the file does not belong to 'root'
  ansible.builtin.fail:
    msg: "Whoops! file ownership has changed"
  when: st.stat.pw_name != 'root'

# Determine if a path exists and is a symlink. Note that if the path does
# not exist, and we test sym.stat.islnk, it will fail with an error. So
# therefore, we must test whether it is defined.
# Run this to understand the structure, the skipped ones do not pass the
# check performed by 'when'
- name: Get stats of the FS object
  ansible.builtin.stat:
    path: /path/to/something
  register: sym

- name: Print a debug message
  ansible.builtin.debug:
    msg: "islnk isn't defined (path doesn't exist)"
  when: sym.stat.islnk is not defined

- name: Print a debug message
  ansible.builtin.debug:
    msg: "islnk is defined (path must exist)"
  when: sym.stat.islnk is defined

- name: Print a debug message
  ansible.builtin.debug:
    msg: "Path exists and is a symlink"
  when: sym.stat.islnk is defined and sym.stat.islnk

- name: Print a debug message
  ansible.builtin.debug:
    msg: "Path exists and isn't a symlink"
  when: sym.stat.islnk is defined and sym.stat.islnk == False


# Determine if a path exists and is a directory.  Note that we need to test
# both that p.stat.isdir actually exists, and also that it's set to true.
- name: Get stats of the FS object
  ansible.builtin.stat:
    path: /path/to/something
  register: p
- name: Print a debug message
  ansible.builtin.debug:
    msg: "Path exists and is a directory"
  when: p.stat.isdir is defined and p.stat.isdir

- name: Do not calculate the checksum
  ansible.builtin.stat:
    path: /path/to/myhugefile
    get_checksum: no

- name: Use sha256 to calculate the checksum
  ansible.builtin.stat:
    path: /path/to/something
    checksum_algorithm: sha256
a-%
stat:
    description: Dictionary containing all the stat data, some platforms might add additional fields.
    returned: success
    type: dict
    contains:
        exists:
            description: If the destination path actually exists or not
            returned: success
            type: bool
            sample: True
        path:
            description: The full path of the file/object to get the facts of
            returned: success and if path exists
            type: str
            sample: '/path/to/file'
        mode:
            description: Unix permissions of the file in octal representation as a string
            returned: success, path exists and user can read stats
            type: str
            sample: 1755
        isdir:
            description: Tells you if the path is a directory
            returned: success, path exists and user can read stats
            type: bool
            sample: False
        ischr:
            description: Tells you if the path is a character device
            returned: success, path exists and user can read stats
            type: bool
            sample: False
        isblk:
            description: Tells you if the path is a block device
            returned: success, path exists and user can read stats
            type: bool
            sample: False
        isreg:
            description: Tells you if the path is a regular file
            returned: success, path exists and user can read stats
            type: bool
            sample: True
        isfifo:
            description: Tells you if the path is a named pipe
            returned: success, path exists and user can read stats
            type: bool
            sample: False
        islnk:
            description: Tells you if the path is a symbolic link
            returned: success, path exists and user can read stats
            type: bool
            sample: False
        issock:
            description: Tells you if the path is a unix domain socket
            returned: success, path exists and user can read stats
            type: bool
            sample: False
        uid:
            description: Numeric id representing the file owner
            returned: success, path exists and user can read stats
            type: int
            sample: 1003
        gid:
            description: Numeric id representing the group of the owner
            returned: success, path exists and user can read stats
            type: int
            sample: 1003
        size:
            description: Size in bytes for a plain file, amount of data for some special files
            returned: success, path exists and user can read stats
            type: int
            sample: 203
        inode:
            description: Inode number of the path
            returned: success, path exists and user can read stats
            type: int
            sample: 12758
        dev:
            description: Device the inode resides on
            returned: success, path exists and user can read stats
            type: int
            sample: 33
        nlink:
            description: Number of links to the inode (hard links)
            returned: success, path exists and user can read stats
            type: int
            sample: 1
        atime:
            description: Time of last access
            returned: success, path exists and user can read stats
            type: float
            sample: 1424348972.575
        mtime:
            description: Time of last modification
            returned: success, path exists and user can read stats
            type: float
            sample: 1424348972.575
        ctime:
            description: Time of last metadata update or creation (depends on OS)
            returned: success, path exists and user can read stats
            type: float
            sample: 1424348972.575
        wusr:
            description: Tells you if the owner has write permission
            returned: success, path exists and user can read stats
            type: bool
            sample: True
        rusr:
            description: Tells you if the owner has read permission
            returned: success, path exists and user can read stats
            type: bool
            sample: True
        xusr:
            description: Tells you if the owner has execute permission
            returned: success, path exists and user can read stats
            type: bool
            sample: True
        wgrp:
            description: Tells you if the owner's group has write permission
            returned: success, path exists and user can read stats
            type: bool
            sample: False
        rgrp:
            description: Tells you if the owner's group has read permission
            returned: success, path exists and user can read stats
            type: bool
            sample: True
        xgrp:
            description: Tells you if the owner's group has execute permission
            returned: success, path exists and user can read stats
            type: bool
            sample: True
        woth:
            description: Tells you if others have write permission
            returned: success, path exists and user can read stats
            type: bool
            sample: False
        roth:
            description: Tells you if others have read permission
            returned: success, path exists and user can read stats
            type: bool
            sample: True
        xoth:
            description: Tells you if others have execute permission
            returned: success, path exists and user can read stats
            type: bool
            sample: True
        isuid:
            description: Tells you if the invoking user's id matches the owner's id
            returned: success, path exists and user can read stats
            type: bool
            sample: False
        isgid:
            description: Tells you if the invoking user's group id matches the owner's group id
            returned: success, path exists and user can read stats
            type: bool
            sample: False
        lnk_source:
            description: Target of the symlink normalized for the remote filesystem
            returned: success, path exists and user can read stats and the path is a symbolic link
            type: str
            sample: /home/foobar/21102015-1445431274-908472971
        lnk_target:
            description: Target of the symlink.  Note that relative paths remain relative
            returned: success, path exists and user can read stats and the path is a symbolic link
            type: str
            sample: ../foobar/21102015-1445431274-908472971
            version_added: 2.4
        checksum:
            description: hash of the file
            returned: success, path exists, user can read stats, path supports
                hashing and supplied checksum algorithm is available
            type: str
            sample: 50ba294cdf28c0d5bcde25708df53346825a429f
        pw_name:
            description: User name of owner
            returned: success, path exists, user can read stats, owner name can be looked up and installed python supports it
            type: str
            sample: httpd
        gr_name:
            description: Group name of owner
            returned: success, path exists, user can read stats, owner group can be looked up and installed python supports it
            type: str
            sample: www-data
        mimetype:
            description: file magic data or mime-type
            returned: success, path exists and user can read stats and
                installed python supports it and the O(get_mime) option was V(true), will
                return V(unknown) on error.
            type: str
            sample: application/pdf; charset=binary
        charset:
            description: file character set or encoding
            returned: success, path exists and user can read stats and
                installed python supports it and the O(get_mime) option was V(true), will
                return V(unknown) on error.
            type: str
            sample: us-ascii
        readable:
            description: Tells you if the invoking user has the right to read the path
            returned: success, path exists and user can read the path
            type: bool
            sample: False
            version_added: 2.2
        writeable:
            description: Tells you if the invoking user has the right to write the path
            returned: success, path exists and user can write the path
            type: bool
            sample: False
            version_added: 2.2
        executable:
            description: Tells you if the invoking user has execute permission on the path
            returned: success, path exists and user can execute the path
            type: bool
            sample: False
            version_added: 2.2
        attributes:
            description: list of file attributes
            returned: success, path exists and user can execute the path
            type: list
            sample: [ immutable, extent ]
            version_added: 2.3
        version:
            description: The version/generation attribute of a file according to the filesystem
            returned: success, path exists, user can execute the path, lsattr is available and filesystem supports
            type: str
            sample: "381700746"
            version_added: 2.3
N)�
AnsibleModule)�to_bytesc	�b�|j}td$idd�d|�ddtj|�z�dtj|��dtj
|��dtj|��d	tj|��d
tj|��dtj|��dtj|��d
|j�d|j�d|j�d|j�d|j�d|j �d|j"�d|j$�d|j&�dt)|tj*z��dt)|tj,z��dt)|tj.z��dt)|tj0z��dt)|tj2z��dt)|tj4z��dt)|tj6z��dt)|tj8z��dt)|tj:z��dt)|tj<z��d t)|tj>z���}d!D]'}tA||d"�s�tC||d"�||d#<�)|S)%N�existsT�path�modez%04o�isdir�ischr�isblk�isreg�isfifo�islnk�issock�uid�gid�size�inode�dev�nlink�atime�mtime�ctime�wusr�rusr�xusr�wgrp�rgrp�xgrp�woth�roth�xoth�isuid�isgid))�	st_blocks�blocks)�
st_blksize�
block_size)�st_rdev�device_type)�st_flags�flags)�st_gen�
generation)�st_birthtime�	birthtime)�st_ftype�	file_type)�st_attrs�attrs)�	st_obtype�object_type)�st_rsize�	real_size)�
st_creator�creator)�st_typer4r��)"�st_mode�dict�stat�S_IMODE�S_ISDIR�S_ISCHR�S_ISBLK�S_ISREG�S_ISFIFO�S_ISLNK�S_ISSOCK�st_uid�st_gid�st_size�st_ino�st_dev�st_nlink�st_atime�st_mtime�st_ctime�bool�S_IWUSR�S_IRUSR�S_IXUSR�S_IWGRP�S_IRGRP�S_IXGRP�S_IWOTH�S_IROTH�S_IXOTH�S_ISUID�S_ISGID�hasattr�getattr)�moduler
�str�output�others      �6/usr/lib/python3/dist-packages/ansible/modules/stat.py�
format_outputrgs���
�:�:�D�����
���d�l�l�4�(�
(���l�l�4� �	�
�l�l�4� ���l�l�4� �
��l�l�4� ���}�}�T�"���l�l�4� ���}�}�T�"��
�I�I��
�I�I���Z�Z���i�i��
�I�I�� �k�k�!�"�k�k�#�$�k�k�%�&�k�k�'�(�$����%�
&�)�*�$����%�
&�+�,�$����%�
&�-�.�$����%�
&�/�0�$����%�
&�1�2�$����%�
&�3�4�$����%�
&�5�6�$����%�
&�7�8�$����%�
&�9�:�4�$�,�,�&�'�;�<�4�$�,�,�&�'�=�F�D�5��$�2�u�Q�x� �&�r�5��8�4�F�5��8��'5�*�M�c�F�tttddddg��tdd��tdd��tddgd	��
�tddddg�
�td
dgd�ddg����d��}|jjd�}t	|d��}|jjd�}|jjd�}|jjd�}|jjd�}|jjd�}	|rtj|�}ntj|�}t||�}
dt
jfd t
j fd!t
j"ffD]!}tj$||d"�|
|d#<�#|
jd$�r:t
j&j)|�|
d%<tj*|�|
d&<	t-j.|j0�}|j2|
d'<	t9j:|j<�}
|
j>|
d(<|
jd)�r(|
jd�r|r|jE||�|
d<|r�d*x|
d+<|
d,<|jGd-�}|r�|d.d/|g}	|jI|�\}}}|d#k(r_|jKd0d"�d"jMd1�\}}|jO�|
d+<|jMd2�d"jO�|
d,<|r4d|
d3<g|
d<d4|
d5<|jS|�}d6D]}||vs�|||
|<�|jd|
��y#t$r[}	|	jtjk(rddi}
|jd|
��|j|	j��Yd}	~	���d}	~	wwxYw#t4t6f$rY���wxYw#t6t@tBf$rY���wxYw#tP$rY��wxYw)7Nr
T�dest�name)�type�required�aliasesrTF)rl�default)�mime�	mime_typez	mime-type)rlrorn�attr�
attributes�str�sha1)�md5ru�sha224�sha256�sha384�sha512�checksum�
checksum_algo)rlro�choicesrn)r
�follow�get_checksum�get_mime�get_attributes�checksum_algorithm)�
argument_spec�supports_check_mode�surrogate_or_strict)�errorsr~r�r�rr�r	)�changedrB)�msg�readable�	writeable�
executabler>rr�
lnk_source�
lnk_target�pw_name�gr_namer�unknown�mimetype�charset�filez--mime-typez--mime-encoding�:�;�=�version��
attr_flags)r�rsr�)*rrA�params�getr�osrB�lstat�OSError�errno�ENOENT�	exit_json�	fail_json�strerrorrg�R_OK�W_OK�X_OK�accessr
�realpath�readlink�pwd�getpwuidrKr��	TypeError�KeyError�grp�getgrgidrLr��
ValueError�
OverflowError�digest_from_file�get_bin_path�run_command�rsplit�split�strip�	Exception�get_file_attributes)rbr
�b_pathr~r��get_attrrr�rc�erd�perm�pw�grp_info�mimecmd�rc�out�errr�r��xs                     rf�mainr��s���
���6�D�6�6�:J�K��V�U�3��6�4�8��v�t�=_�`��V�T�F�L�CY�Z�#���,c�-7��,I� K�
	
�!��F��=�=���V�$�D�
�d�#8�
9�F�
�]�]�
�
�x�
(�F��}�}� � ��,�H��}�}� � �!1�2�H��=�=�$�$�^�4�L����*�*�+?�@��
)�������B����&�!�B��6�4��
,�F��b�g�g�&��b�g�g�(>��r�w�w�@W�X�5���)�)�F�D��G�4��t�A�w��5��z�z�'��!�w�w�/�/��7��|��!�{�{�6�2��|��
�
�\�\�"�)�)�
$���J�J��y��
��<�<��	�	�*��$�,�,��y��
�z�z�'��v�z�z�*�5��!'�!8�!8��AS�!T�F�:���1:�:��z��V�I�.��%�%�f�-����
�/@�&�I�G�
�%�1�1�'�:���C����7�(+�
�
�3��(:�1�(=�(C�(C�C�(H�%�H�g�)1���)9�F�:�&�(/�
�
�c�(:�1�(=�(C�(C�(E�F�9�%�
� ��y��!��|��!��|���(�(��0��8�	#�A��C�x���F��q�	�	#����U���0��{�)��7�7�e�l�l�"���&�F����U���8����Q�Z�Z��(�(��)��,
�x� �
��
��
�j�-�0�
��
��(�
��
�sP�-M<�=.O#�,.O9�9A9P�<	O �AO�O �#O6�5O6�9P�P�	P �P �__main__)�
__future__rrrrl�
__metaclass__�
DOCUMENTATION�EXAMPLES�RETURNr�r�r�r�rB�ansible.module_utils.basicr�+ansible.module_utils.common.text.convertersrrgr��__name__r?rhrf�<module>r�sg��
A�@��
�C�
�J?��Bc
��J
�
�	�
��5�@�;�|Z1�z�z���F�rh

Youez - 2016 - github.com/yon3zu
LinuXploit