Chmod 无效命令,Ubuntu 服务器

Chmod 无效命令,Ubuntu 服务器

我正在尝试授予用户 tomcat8 对服务器上特定文件夹的写入和读取权限。我尝试了这个命令:

sudo chmod -R tomcat8 /usr/local/javaagent/appagent/ver2/logs/Tomcat1

然而它给了我

chmod: invalid mode: `tomcat8'

这怎么不管用呢?这不是标准吗chmod

答案1

您不能仅使用 来执行此操作chmod。但是,您可以创建一个新组并更改目录的组所有权,将用户添加到该组,然后授予团体您想要的目录权限,这样您就可以只向该组授予权限。

要创建一个组tomcat并将用户添加tomcat8到其中:

sudo groupadd tomcat && sudo adduser tomcat8 tomcat

您可能还想将自己(以及此处需要读写权限的任何其他用户)添加到具有sudo adduser [username] tomcat

现在更改目录的组所有权:

sudo chown :tomcat /usr/local/javaagent/appagent/ver2/logs/Tomcat1

不要忘记冒号——这只是为了改变群组所有权。

现在更改权限,例如,你像这样为组添加读写权限:

sudo chmod g+rw /usr/local/javaagent/appagent/ver2/logs/Tomcat1

从你的问题来看,我不确定你想要什么其他设置。我建议阅读man chmod本权限指南更好地了解你正在做的事情。

目录需要执行权限可以输入和搜索,因此您很可能需要八进制775(因此所有用户都可以读取和搜索,但只有组可以写入)或770(因此只有所有者和组才有任何权限 - 保持目录私密)

不要使用,-R因为您不太可能希望所有文件都具有执行权限。

您可能确实想添加 setgid 位,以便所有用户在此处创建的文件都继承与目录相同的组所有权:

chmod g+s /usr/local/javaagent/appagent/ver2/logs/Tomcat1

或者使用八进制,只需一步:

chmod 2775 /usr/local/javaagent/appagent/ver2/logs/Tomcat1

授予以下权限:

drwxrwsr-x

s该位置是 setgid 位)或

chmod 2770 /usr/local/javaagent/appagent/ver2/logs/Tomcat1

这使

drwxrws---

要检查目录的权限和所有者,请使用ls -ld

ls -ld /usr/local/javaagent/appagent/ver2/logs/Tomcat1

相关内容