当我想让一个脚本(通常bash
是 或python
)在我的文件夹结构中的任何位置都可以执行时,我倾向于将符号链接放入/usr/local/bin
。因此,每次进行更改时,我不必重新复制脚本。
我认为,通过这种设置,有权访问我用户帐户的人将能够更改脚本。如果它是一个多用户系统,这可能会非常糟糕。但由于它只是一个单用户桌面,所以没有什么区别,因为有权访问用户帐户的攻击者可以轻松地以用户权限执行任何她想要的操作,无论 中指向我的脚本的符号链接是什么/usr/local/bin
。
脚本不需要任何扩展权限即可正确执行。
无论如何:这种策略是否会对单用户系统造成安全风险?
答案1
由于您是唯一想要访问您的脚本的用户,因此最好在您的主文件夹中创建一个名为“scripts”的文件夹并将其添加到您的 PATH 中。
将其添加到您的~/.profile
文件中:
export PATH=$PATH:~/scripts
您可以将不同的脚本保存在不同的文件夹中(例如〜/ pythonscripts / script_version1.py和〜/ pythonscripts / script_version2.py)以及〜/ scripts中指向最新版本的符号链接
答案2
如果您是唯一执行脚本的人,并且未设置设置的用户 ID 位(chmod +s),则没有区别。
如果脚本由其他用户调用,则如果您使用符号链接,则该用户需要可以读取您的 $HOME,这可能会带来安全隐患,尤其是当您选择让每个人都可以读取您的 $HOME 时。还请记住,您的用户拥有的任何进程都可以更改脚本并使用它来获取调用用户的权限,如 hastur 所述。