chmod:更改'my_script.sh'的权限:不允许操作

reh*_*del 8 linux bash shell

当我试图使shell脚本显示错误时,我必须做什么?

 [rehamadel@localhost bin]$ sudo vi my_script.sh
Run Code Online (Sandbox Code Playgroud)

[sudo] password for rehamadel: [rehamadel@localhost bin]$ ls -l my_script.sh

-rw-r--r--. 1 root root 52 Jul 30 19:25 my_script.sh
[rehamadel@localhost bin]$ chmod u+x my_script.sh
chmod: changing permissions of ‘my_script.sh’: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

jon*_*oth 8

解决操作不允许错误:

sudo chmod u+x my_script.sh
Run Code Online (Sandbox Code Playgroud)

您通过以下方式创建了文件

sudo vi my_script.sh
# editing
Run Code Online (Sandbox Code Playgroud)

这意味着,文件的所有者和组是root.默认情况下,您不能更改它的文件.您需要更改权限(chmod执行此操作)或更改所有者:

sudo chown you:yourgroup my_script.sh
Run Code Online (Sandbox Code Playgroud)

这应该做到这一点.省去麻烦,无需通过sudo创建文件.


mkl*_*nt0 5

您已经my_script.shroot用户作为所有者创建了文件(因为您使用了sudo),这就是为什么您不能以自己的身份更改权限。

因此,使用sudo chmod u+x my_script.sh,但请注意,这将使文件仅对root用户可执行。

要使每个人都可以执行该文件,请使用sudo chmod a+x my_script.sh.