只有执行的用户权限

问题描述:

我在raspberryi pi 3上有一个python脚本。我想让它仅对x用户可执行而没有root权限。它不可读写。我怎样才能做到这一点?我只对x用户的文件给出了x(执行)权限。但是当我执行脚本时,它需要root密码。只有执行的用户权限

+0

如果您需要高效的帮助,请添加脚本 – PRMoureu

+2

Linux从不请求密码仅用于执行脚本。它会拒绝或允许没有提示。 *脚本中的某些内容正在导致密码提示,您没有提供任何详细信息。 – jordanm

+0

该脚本并不重要,例如打印(&“测试&”)。其实我想让我的代码无法读取x用户。我可以通过更改x用户权限来做到这一点吗? – Onur94

如果用户有权访问脚本,他可以自己修改内容。然而,只为答案或方法的缘故,我们可以做这样的事情:

您可以通过获取用户的用户名的运行系统上限制访问脚本:

import getpass 
if getpass.getuser() in ['user1','user2'] # allowed user list: 
    main() # main function 
else: 
    print("You are not authorised to run this script") 
+0

我可以做到这一点,但用户可以阅读这个脚本。我想制作不可读的脚本。 – Onur94

+0

@ Onur94你总是可以使用base64,或以不同的格式进行编码,然后使用exec()来运行代码。但是,如果用户查看脚本,他可能能够解密它。看看这个:https://stackoverflow.com/questions/261638/how-do-i-protect-python-code –

+0

同样,如果用户甚至有一点python的知识,他们可以看看你的代码。但是,通过使用zlib和base64,可以使其变得有点困难。 –