我在 Linux 服务器上重命名了一个 shell 脚本,并通过 WinScp 等 FTP 工具上传了一个新文件。
现在,我尝试通过终端执行该文件,但我得到没有权限错误。
为了解决这个问题,我执行了触碰命令但仍然有同样的问题。我使用相同的用户帐户登录终端并上传文件。
这是否是权限问题,例如我的用户帐户无权上传文件?
答案1
您需要使该文件可执行。该touch
命令不会执行此操作,该chmod
命令会执行以下操作:
chmod a+x some_new_file.sh
或者使用 GUI 设置文件的可执行权限。
不要忘记,如果您要上传脚本,则必须以文本模式传输文件,并且不是在二进制模式下。否则,它将在下一步(当您运行它时)失败。
答案2
要查看文件的权限,请运行:
ls -l yourfile
您应该看到如下输出:
$ ls -l newfile
-rw-rw-r--. 1 ira ira 0 Dec 11 09:41 newfile
其中“-rw-rw-r--”。部分是用户、组和其他人的读/写/执行权限。 “ira ira”部分是用户,然后是用户所属的组。
从更多信息乔恩和chmod看这篇操作方法文章