관리-도구
편집 파일: chattr.cpython-311.opt-1.pyc
� ��g� � �N � d Z ddlZddlmZ ddlmZ dZdZdZd� Zd � Z d � Z d� ZdS )ut This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. Copyright © 2019 Cloud Linux Software Inc. This software is also available under ImunifyAV commercial license, see <https://www.imunify360.com/legal/eula> chattr.py This is a module for managing file attributes via ioctl. Used IOCTL request constants: FS_IOC_GETFLAGS - get fs flags FS_IOC_SETFLAGS - set fs flags Supported attributes: FS_IMMUTABLE_FL - immutable attribute Refer to include/linux/fs.h for values of above constants: https://elixir.bootlin.com/linux/v2.6.32.71/source/include/linux/fs.h � N)�array)�ioctlif@l f � c � � t ddg� � }t | t |d� � t � |t j �� � S )z�Get attributes of a file. :param fd: descriptor of a file to examine, read-only access is enough :return: flags as integer value �ir � )� byteorder)r r �FS_IOC_GETFLAGS�int� from_bytes�sysr )�fd� flags_ptrs �Q/opt/imunify360/venv/lib/python3.11/site-packages/imav/malwarelib/utils/chattr.py� get_flagsr - s? � � �c�A�3���I� �"�o�y�!�,�,�,��>�>�)�s�}�>�=�=�=� c �T � t d|g� � }t | t |� � dS )aH Replace existing file attributes with the ones provided. Calling _set_flags() directly is most likely NOT what you want. Consider using append_flags() and subtract_flags(). :param fd: descriptor of a file to modify, read-only access is enough :param flags: attribute flags combined by bitwise OR operator | r N)r r �FS_IOC_SETFLAGS)r �flagsr s r � _set_flagsr 7 s- � � �c�E�7�#�#�I� �"�o�y�)�)�)�)�)r c �J � t | � � |z }t | |� � dS )z@Enable given attributes of a file. See _set_flags() for details.N�r r �r r � new_flagss r �append_flagsr B s( � ��"� � ��%�I��r�9�����r c �L � t | � � | z }t | |� � dS )zADisable given attributes of a file. See _set_flags() for details.Nr r s r �subtract_flagsr H s* � ��"� � ���&�I��r�9�����r )�__doc__r r �fcntlr r r �FS_IMMUTABLE_FLr r r r � r r �<module>r"