![如何在没有 sudo 或 root 的情况下运行 /usr/local/bin 中的程序?](https://linux22.com/image/1128171/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%B2%A1%E6%9C%89%20sudo%20%E6%88%96%20root%20%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%20%2Fusr%2Flocal%2Fbin%20%E4%B8%AD%E7%9A%84%E7%A8%8B%E5%BA%8F%EF%BC%9F.png)
我在使用 Ubuntu 14.04 LTS。
我安装了 buildozer,结果显示为/usr/local/bin
。如果不使用 sudo 或 root,我无法运行它,这可能会导致以后出现问题。现在尝试运行buildozer init
会返回,buildozer: command not found
除非我使用 root。如何在不使用 root 的情况下使 中的程序/usr/local/bin/
可见?
如果不可能的话,我可以将 buildozer 移动到PATH
变量中的另一个文件夹并仍能使其正常工作吗?
/usr/local/bin
已经在我的PATH
变量中了。
移动buildozer
并buildozer-remote
运行/usr/bin/
可buildozer init
得出:
Traceback (most recent call last):
File "/usr/bin/buildozer", line 9, in <module>
load_entry_point('buildozer==0.29', 'console_scripts', 'buildozer')()
File "/usr/local/lib/python2.7/dist-packages/buildozer/scripts/client.py", line 13, in main
Buildozer().run_command(sys.argv[1:])
File "/usr/local/lib/python2.7/dist-packages/buildozer/__init__.py", line 971, in run_command
getattr(self, cmd)(*args)
File "/usr/local/lib/python2.7/dist-packages/buildozer/__init__.py", line 1015, in cmd_init
copyfile(join(dirname(__file__), 'default.spec'), 'buildozer.spec')
File "/usr/lib/python2.7/shutil.py", line 83, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 13] Permission denied: 'buildozer.spec'
编辑:我将目录更改为实际执行 Python 工作的位置,并且运行良好。非常感谢!!:)
答案1
用来ls -l
给出一个长列表。结果应该如下所示:
drwxr--r-- 10 root root 4096 Jul 25 22:17 usr
这里的字段分别显示文件的访问权限、文件的硬链接数、所有者的用户名、拥有文件的组的名称、文件的大小(以字节为单位)、文件最后修改的日期和时间以及文件的名称。
您感兴趣的是该文件的访问权限以及该文件的用户和组所有者。如果显示“root root”,则您必须具有 root 权限(使用 sudo 命令)才能写入或执行该文件。
您可以使用chmod
chown
和chgrp
命令来修改文件的权限。不过,我不建议您让非 root 用户写入或执行 /usr/bin 目录中的文件。这可能会导致系统安全性受损。
感谢@Martin Thornton 修改了错误。