Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.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中以安全的方式创建目录_Python_Bash_Security - Fatal编程技术网

如何在python中以安全的方式创建目录

如何在python中以安全的方式创建目录,python,bash,security,Python,Bash,Security,我面临以下问题: 用户有一些文件需要同步,所以我正在编写一个脚本,将加密文件从用户目录复制到服务器中的临时目录,然后再分发到其他5台服务器中 初始复制是通过创建一个带有用户名的文件夹并将文件放在那里来完成的。 用户可以自由更改用户名,因此,如果有人将其用户名更改为令人讨厌的内容,则服务器归其所有 我必须使用用户名作为文件夹名称,因为执行同步的脚本使用文件夹用户名作为某种元数据 那么,有没有办法转义用户名并确保所有内容都是在主文件夹下创建的?正如nrathaus建议的那样,您可以使用os.path

我面临以下问题:

用户有一些文件需要同步,所以我正在编写一个脚本,将加密文件从用户目录复制到服务器中的临时目录,然后再分发到其他5台服务器中

初始复制是通过创建一个带有用户名的文件夹并将文件放在那里来完成的。 用户可以自由更改用户名,因此,如果有人将其用户名更改为令人讨厌的内容,则服务器归其所有

我必须使用用户名作为文件夹名称,因为执行同步的脚本使用文件夹用户名作为某种元数据


那么,有没有办法转义用户名并确保所有内容都是在主文件夹下创建的?

正如nrathaus建议的那样,您可以使用os.path.normpath获取“规范化”路径并检查安全问题一般来说,这些内容是由操作系统级别的权限处理的。。。您是以root用户身份运行脚本吗?防止问题的最佳方法是使用
realpath
,我不确定在Python/Bash中是如何实现的,但在php和perl中的
basepath
中可以用来验证不存在目录遍历occurring@mgilson我不知道调用脚本的权限,这就是为什么我想让它像我所能做的那样简单,不管脚本是在用户权限下运行的,还是你正在编写它的项目在安全方面遇到了巨大的深层次问题。你可能想澄清这个问题,而不是在令人困惑的部分下面添加解释。