我无法在我的 python 程序中获得 root 权限
I'm not able to get root permission within my python program
我是 Python 的新手,当我执行以下语句时,不断收到相同的 permission denied 错误:
>>> os.chdir('/root')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 13] Permission denied: '/root'
您不是 运行 具有相应权限的程序。
运行 以 root 用户身份运行程序,这将授予您适当的权限。
您可以使用
sudo python script.py
如果你没有 sudo
su - root -c "python script.py"
了解更多信息http://www.cyberciti.biz/open-source/command-line-hacks/linux-run-command-as-different-user/
这意味着 /root
目录的权限设置为非 root 用户无法访问它。
所以这不是真正的程序错误,也不是Python错误,而是系统配置问题。人们可以争论限制这样的权限的必要性。在我的 FreeBSD 系统上,您可以阅读和访问 /root
;反正那里几乎没有任何文件。但它可能包含您系统上的敏感数据或程序。
所以你基本上有两个选项;
- 使用
sudo
或
- 更改
/root
. 的权限
两者中的哪一个"best"取决于你想做什么以及根目录中有什么。
但是由于 root
用户可以访问 所有内容,因此 运行 可能会意外造成很大的损害,因为 root
.
所以一般情况下建议不要以root身份执行脚本,除非万不得已。
顺便说一句,可以通过先测试访问来处理这种情况;
import os
if os.access('/root', os.R_OK|os.X_OK):
os.chdir('/root')
# whatever else you were going to do
else:
print 'Insufficient access to /root'
我是 Python 的新手,当我执行以下语句时,不断收到相同的 permission denied 错误:
>>> os.chdir('/root')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 13] Permission denied: '/root'
您不是 运行 具有相应权限的程序。
运行 以 root 用户身份运行程序,这将授予您适当的权限。
您可以使用
sudo python script.py
如果你没有 sudo
su - root -c "python script.py"
了解更多信息http://www.cyberciti.biz/open-source/command-line-hacks/linux-run-command-as-different-user/
这意味着 /root
目录的权限设置为非 root 用户无法访问它。
所以这不是真正的程序错误,也不是Python错误,而是系统配置问题。人们可以争论限制这样的权限的必要性。在我的 FreeBSD 系统上,您可以阅读和访问 /root
;反正那里几乎没有任何文件。但它可能包含您系统上的敏感数据或程序。
所以你基本上有两个选项;
- 使用
sudo
或 - 更改
/root
. 的权限
两者中的哪一个"best"取决于你想做什么以及根目录中有什么。
但是由于 root
用户可以访问 所有内容,因此 运行 可能会意外造成很大的损害,因为 root
.
所以一般情况下建议不要以root身份执行脚本,除非万不得已。
顺便说一句,可以通过先测试访问来处理这种情况;
import os
if os.access('/root', os.R_OK|os.X_OK):
os.chdir('/root')
# whatever else you were going to do
else:
print 'Insufficient access to /root'