Files
yakpanel-core/class/safe_warning/sw_chmod_stickybit.py
2026-04-07 02:04:22 +05:30

37 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/python
# coding: utf-8
import os, sys, public
_title = 'Check temporary directory for sticky bit'
_version = 1.0 # 版本
_ps = "Check if the temporary directory has the sticky bit permission set" # 描述
_level = 2 # 风险级别: 1.提示(低) 2.警告(中) 3.危险(高)
_date = '2023-03-09' # 最后更新时间
_ignore = os.path.exists("data/warning/ignore/sw_chmod_stickybit.pl")
_tips = [
"Use the chmod +t [file name] command to modify the permissions of the file",
]
_help = ''
_remind = 'This solution prevents system users from accidentally deleting files on the server. '
def check_run():
'''
@name 开始检测
@return tuple (status<bool>,msg<string>)
'''
# result_list存放未配置粘滞位的目录名
result_list = []
tmp_path = ['/var/tmp', '/tmp']
for t in tmp_path:
# 文件不存在则跳过,保险操作。
if not os.path.exists(t):
continue
result_str = public.ExecShell('find {} -maxdepth 0 -perm /01000 -type d'.format(t))[0].strip()
if not result_str[1]:
result_list.append(t)
if result_list:
result = ''.join(result_list)
return False, 'The following directories do not have sticky bit permissions set{}'.format(result)
else:
return True, 'Risk-free'