From 6af886c94276272a9e1ba7399d21308d1c0b7cdc Mon Sep 17 00:00:00 2001 From: chenxinquan Date: Thu, 16 Nov 2023 14:55:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=9F=BA=E7=BA=BF=E6=89=AB?= =?UTF-8?q?=20=E6=8F=8F=E9=A1=B9'13=E7=94=A8=E6=88=B7=E5=AF=B9=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E7=9A=84i=E6=9D=83=E9=99=90'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../13/13用户对文件的i权限.py | 77 +++++++++++++++++++ .../13/13用户对文件的i权限.yaml | 22 ++++++ 2 files changed, 99 insertions(+) create mode 100755 data/BaseLine/LocalServices/TestingDepartmentPrivateUseCases/13/13用户对文件的i权限.py create mode 100755 data/BaseLine/LocalServices/TestingDepartmentPrivateUseCases/13/13用户对文件的i权限.yaml diff --git a/data/BaseLine/LocalServices/TestingDepartmentPrivateUseCases/13/13用户对文件的i权限.py b/data/BaseLine/LocalServices/TestingDepartmentPrivateUseCases/13/13用户对文件的i权限.py new file mode 100755 index 0000000..606b9d4 --- /dev/null +++ b/data/BaseLine/LocalServices/TestingDepartmentPrivateUseCases/13/13用户对文件的i权限.py @@ -0,0 +1,77 @@ + +import os +import sys + +################################ +# 常量 + +# for get_env_lang() +STR_GET_ENV_LANG_ZH = "语言环境为中文" +STR_GET_ENV_LANG_EN = "语言环境为英文" +STR_GET_ENV_LANG_UNKNOW = "语言环境未知" + +################################ +# 环境检查函数 + +def get_env_lang(): +# lang = os.getenv("LANG") +# if lang.startswith("zh"): +# return STR_GET_ENV_LANG_ZH +# elif lang.startswith("en"): +# return STR_GET_ENV_LANG_EN +# else: +# return STR_GET_ENV_LANG_UNKNOW +# + if arg_lang == "zh": + return STR_GET_ENV_LANG_ZH + elif arg_lang == "en": + return STR_GET_ENV_LANG_EN + else: + return STR_GET_ENV_LANG_UNKNOW + +def is_root(): + if os.geteuid() == 0: + print(STR_IS_ROOT_TRUE) + return True + else: + print(STR_IS_ROOT_FALSE) + return False + +################################ +# 辅助函数 +def l_print(zh_str, en_str) : + if STR_GET_ENV_LANG_ZH == get_env_lang() : + print(zh_str); + else : + print(en_str); + + +################################ +# 功能函数 +def chattr_i(): + cmd1= 'touch /home/kylin/aa.txt' + os.system(cmd1) + cmd2= 'sudo chattr +i /home/kylin/aa.txt ' + os.system(cmd2) + output = os.popen('sed -i "1i\12" /home/kylin/aa.txt 2>&1').read().strip() + + if "不允许的操作" in output : + l_print("[OK] 测试通过", + "[OK] pass") + else: + l_print("[ERROR] 测试未通过", + "[ERROR] fail") + cmd3= 'sudo chattr -i /home/kylin/aa.txt ' + os.system(cmd3) + cmd4= 'rm -f /home/kylin/aa.txt ' + os.system(cmd4) +################################ +# main +if __name__ == "__main__": + if len(sys.argv)>1: + arg_lang = sys.argv[1] + else: + arg_lang = 'zh' + + chattr_i() + exit(0) diff --git a/data/BaseLine/LocalServices/TestingDepartmentPrivateUseCases/13/13用户对文件的i权限.yaml b/data/BaseLine/LocalServices/TestingDepartmentPrivateUseCases/13/13用户对文件的i权限.yaml new file mode 100755 index 0000000..ecc3f5f --- /dev/null +++ b/data/BaseLine/LocalServices/TestingDepartmentPrivateUseCases/13/13用户对文件的i权限.yaml @@ -0,0 +1,22 @@ +FormatVer: 20230623 +Id: chattr_i +Belong: baseline +SiteInfo: + Name: 13用户对文件的i权限 +Power : "root" +SiteRequests: + Implement: + ImArray: + - Inter : python3 + InterArgs : + Exec : 13用户对文件的i权限.py + Args : + Inter: + - "[ERROR]" + Condition: None +RepairArgs: + - Inter : python3 + InterArgs : + Exec : + Args : + RepairPower: #root # root权限或者普通用户权限