lua 표준 라이브러리 및 lua-lib 지원 목록¶
- 버전: 1.0.7-7-g251eead
- 릴리스 날짜: 2023-04-06 11:17:57
- 지원 OS: windows/amd64, windows/386, linux/arm, linux/arm64, linux/386, linux/amd64
설명¶
scheck는 golang에서 사용할 수 있는 기능이 완비되고 통합이 간편한 lua 샌드박스 환경을 제공하여 사용자의 다양한 요구와 환경에 적응하는 것을 목표로 합니다. 이를 위해 우수한 오픈소스 lua VM인 gopher-lua 를 도입했습니다. 이 VM이 사용하는 lua 샌드박스 환경은 lua 5.1 버전입니다.
보안상의 이유로 lua 표준 라이브러리에서 IO 및 OS의 일부 기능을 비활성화했으며, lua-lib 및 go-openlib에서 이에 대한 보완 및 확장 기능을 제공합니다.
이 문서에서는 lua 스크립트 개발 과정에서 다양한 라이브러리를 사용하는 방법과 주의 사항을 중점적으로 설명합니다.
lua 스크립트 개발에서 라이브러리를 참조할 수 있는 세 가지 위치는 다음과 같습니다.
- 표준 라이브러리: 대부분의 라이브러리와 함수를 지원합니다.
- lua-lib: 개발자가 호출할 수 있는 일반적인 lua 함수 라이브러리를 캡슐화합니다.
- go-openlib: golang을 사용하여 개발되었으며
file,system,net,utils등을 제공합니다. 자세한 내용은 func 목록을 참조하세요.
표준 라이브러리¶
비활성화된 함수 목록:
- 모든 IO 모듈 기능은 호출이 금지됩니다.
- OS 라이브러리에서 비활성화된 함수:
exit,execute,remove,rename,setenv,setlocale - OS 라이브러리에서 사용 가능한 함수:
clock,difftime,date,getenv,time,tmpname
scheck의 lua-lib 사용¶
파일 위치: 설치 디렉터리 아래 rules.d/libs에 있습니다. 각 함수의 구체적인 메서드는 해당 파일을 참조하세요.
메서드 목록:
- common
- watcher(path, enum, func)
- directorymonitor
- change(dir)
- add(dir)
- del(dir)
- priv_change(dir)
- filemonitor
- check(file)
- exist(file)
- priv_change(file)
- priv_fixedchange(file, mode)
- priv_limit(file, mode_bits)
- priv_root_ownership(file)
- priv_ownership(file, user)
- kernelmonitor
- module_isinstall(module_name, isInstalled)
- mountflagmonitor
- check(mountpath, mountflag, value)
- rpmmonitor
- check(pck_name, switch)
- sysctlmonitor
- check(param, switch)
- check_many(params, switch)
예제:¶
lua-lib의 메서드 사용