Mik*_*rza 1 server permissions chmod
我正在尝试授予用户 tomcat8 对服务器上特定文件夹的读写访问权限。我试过这个命令:
sudo chmod -R tomcat8 /usr/local/javaagent/appagent/ver2/logs/Tomcat1
Run Code Online (Sandbox Code Playgroud)
然而它给了我
chmod: invalid mode: `tomcat8'
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?这不是标准chmod
吗?
你不能只用 chmod
. 但是,您可以创建一个新组并更改目录的组所有权,将用户添加到该组,然后授予该组所需的目录权限,这样您就可以只授予该组的权限。
要创建一个组tomcat
并将用户添加tomcat8
到其中:
sudo groupadd tomcat && sudo adduser tomcat8 tomcat
Run Code Online (Sandbox Code Playgroud)
您可能还想将您自己(以及在此处需要读写访问权限的任何其他用户)添加到组中 sudo adduser [username] tomcat
现在更改目录的组所有权:
sudo chown :tomcat /usr/local/javaagent/appagent/ver2/logs/Tomcat1
Run Code Online (Sandbox Code Playgroud)
不要忘记冒号 - 这只是更改组所有权。
现在更改权限,例如,您向组添加读写权限,如下所示:
sudo chmod g+rw /usr/local/javaagent/appagent/ver2/logs/Tomcat1
Run Code Online (Sandbox Code Playgroud)
根据您的问题,我不确定您希望其他设置是什么。我建议你阅读man chmod
与本指南的权限,以更好地了解你在做什么。
目录需要执行权限才能输入和搜索,因此您很可能需要八进制775
(因此所有用户都可以读取和搜索但只有组可以写入)或770
(因此只有所有者和组具有任何权限 - 保持目录私有)
不要使用 -R
因为您不太可能希望所有文件都具有执行权限。
不过,您可能确实希望添加 setgid 位,以便所有用户在此处创建的文件继承与目录相同的组所有权:
chmod g+s /usr/local/javaagent/appagent/ver2/logs/Tomcat1
Run Code Online (Sandbox Code Playgroud)
或者使用八进制,一步:
chmod 2775 /usr/local/javaagent/appagent/ver2/logs/Tomcat1
Run Code Online (Sandbox Code Playgroud)
它提供了这些权限:
drwxrwsr-x
Run Code Online (Sandbox Code Playgroud)
(s
在那个位置是 setgid 位)或
chmod 2770 /usr/local/javaagent/appagent/ver2/logs/Tomcat1
Run Code Online (Sandbox Code Playgroud)
这使
drwxrws---
Run Code Online (Sandbox Code Playgroud)
要检查目录的权限和所有者,请使用ls -ld
:
ls -ld /usr/local/javaagent/appagent/ver2/logs/Tomcat1
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1993 次 |
最近记录: |