我在 Ubuntu 12.04 上使用编剧软件 Celtx。它运行良好,只是我必须定期使用该软件,并且每次使用它时它都会要求我输入密码。我更改了 /usr/local/celtx 的权限,这样我就可以在没有 gksudo 的情况下使用它。之后,软件打开时我无需输入密码,但我的作品无法保存。当我尝试保存它时,它给了我以下错误消息:
Celtx was unable to save your project: [Exception... "Component
returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)
[nsIZipWriter.open]" nsresult: "0x80520015
(NS_ERROR_FILE_ACCESS_DENIED)" location: "JS frame ::
chrome://celtx/content/save.js :: archiveCeltxProject :: line 1568"
data: no]
有什么想法可以修复这个问题吗?
哈哈,是的,我把它改成了我的真实用户名。文件如下所示 -
GNU nano 2.2.6 File: /etc/sudoers.tmp
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
#bhaskar ALL=NOPASSWD:/usr/local/celtx/celtx
答案1
问题在于您更改了权限,/usr/local/celtx
这是一个非常糟糕的想法,但还没有更改保存您的工作内容的任何地方的权限。
无论如何,请不要这样做。更改系统文件夹的权限永远不是一个好主意。相反,请设置sudo
为允许您无需密码即可使用此命令。运行sudo visudo
并添加此行:
youruser ALL=NOPASSWD:/path/to/celtx
因此,假设您的用户名是bob
,并且 celtx 可执行文件在/usr/local/bin
,您需要添加此行:
bob ALL=NOPASSWD:/usr/local/bin/celtx
现在您将能够运行sudo celtx
而无需提示输入密码,如果写入sudo
太多,只需将此行添加到您的~/.bashrc
:
alias celtx='sudo celtx'
现在您可以直接运行celtx
,而且实际上sudo celtx
无需输入密码即可运行。我还建议您将权限恢复到您发现它们时的状态。