Files
Smb-Server/app/utils/helpers.py
T
bi c790e43cdf feat: SMB文件服务器管理后台 - 完整版本
- 用户管理:增删改、批量导入(Excel模板)、admin保护
- 部门管理:增删改(含回收站恢复机制)、删除保护(有用户不可删)
- 权限管理:部门内角色(admin/readwrite/readonly/none)
- 监控页面:CPU/内存/磁盘实时监控
- 日志页面:操作日志查询
- SMB权限:用户文件夹700(member)/750(admin)、ACL继承
- admin跨目录访问:通过setfacl ACL实现
2026-07-13 23:03:03 +08:00

31 lines
799 B
Python

"""辅助函数"""
import subprocess
import os
def run_cmd(cmd: list, timeout: int = 30, input_str: str = None) -> tuple:
"""执行系统命令,返回 (returncode, stdout, stderr)"""
try:
result = subprocess.run(
cmd,
capture_output=True,
text=True,
timeout=timeout,
input=input_str
)
return result.returncode, result.stdout, result.stderr
except subprocess.TimeoutExpired:
return -1, "", "Command timeout"
except Exception as e:
return -1, "", str(e)
def ensure_dir(path: str, mode: int = 0o755) -> bool:
"""确保目录存在"""
try:
os.makedirs(path, exist_ok=True)
os.chmod(path, mode)
return True
except Exception:
return False