Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python os.system()-它是否保留历史记录(bash_历史记录等)?_Python_Linux - Fatal编程技术网

Python os.system()-它是否保留历史记录(bash_历史记录等)?

Python os.system()-它是否保留历史记录(bash_历史记录等)?,python,linux,Python,Linux,我正在使用os.system()从我的ubuntu框中调用一些openssl命令。我在第行中指定密码,使其看起来像: //python code os.system("openssl enc -aes-256-cbc ... -k password") 我需要知道是否可以在某个shell/bash历史文件中跟踪此命令(如果我直接在终端中键入此命令也是可能的,所以基本上我是在询问密码处理是否安全)否,bash只记录以交互方式输入的命令 通过操作系统执行的命令不会记录在任何地方。不,但在多用户框中

我正在使用
os.system()
从我的ubuntu框中调用一些openssl命令。我在第行中指定密码,使其看起来像:

//python code
os.system("openssl enc -aes-256-cbc ... -k password")

我需要知道是否可以在某个shell/bash历史文件中跟踪此命令(如果我直接在终端中键入此命令也是可能的,所以基本上我是在询问密码处理是否安全)

否,bash只记录以交互方式输入的命令


通过操作系统执行的命令不会记录在任何地方。

不,但在多用户框中,通过命令行参数传递密码被视为对安全有害,因为其他用户(原则上)可以通过“ps”等查看密码


通过文件描述符(如stdin)或环境变量传递密码不会受到此攻击;大多数程序都支持这些方法之一。如果它困扰你,考虑使用其中的一个。

当参数没有被记录(只有交互命令被记录,而在一个文件中,在你的主目录中存储了正确的权限)时,通过密码仍然有一个真正的危险。命令行参数和环境变量对于使用正确选项的

ps
计算机的所有用户都是可见的。在不同的操作系统中,执行此操作的具体选项各不相同,因此请查看您的本地文档(在OSX上,
ps-wwaxE
会泄漏bean)

传递密码的安全方法是通过管道和openssl的
-pass stdin
选项(
-k
不安全且过时),或者通过具有仔细设置的权限的文件和
-pass file:pathname
选项(当然,将
路径名
替换为文件名)。您也可以使用
-pass fd:number
,但我不知道这对于
os.system
来说有多容易。所有这些都是安全的(可能需要小心),因为您不能窥视管道内部,并且可以正确地保护文件系统

当然,一旦你采取了这些步骤来保护你对openssl的调用,无论它是否被记录都无关紧要无论如何它都是安全的