默认情况下,Ubuntu tomcat7 的设置在“tomcat7”用户和组下运行。
我想更改它,因为我无法通过 sftp 文件上传到由“tomcat7”进程创建的目录。

更改/etc/init.d/tomcat7 中的 TOMCAT7_USER TOMCAT7_GROUP 并重新启动服务无济于事..

最佳答案

我首先将您的/etc/init.d/tomcat7 文件恢复到原来的样子。只有在极少数情况下,您才希望手动编辑/etc 中与 init 相关的文件。如果有用于此目的的内置工具,请使用该工具。

使用 chown 更改用户或您尝试上传到的目录的用户和组。

例如,如果您尝试上传到的目录类似于/home/tomcat7/new_directory,请执行以下操作:

cd /home/tomcat7
chown tomcat7:staff new_directory

那么 new_directory 仍将归 tomcat7 所有,但组中的任何用户现在都将拥有 new_directory 的组权限。

如果您需要将您的用户名添加到群组人员中,您可以使用
usermod -aG staff username

其中 username 是您要将文件上传到 new_directory 的用户名。

如果之后它仍然不起作用,您可能还想检查该目录的权限。
MtWoRw@WorkVM:/home/tomcat7$ ls -l
total 8
drwxr-xr-x 2 tomcat7 tomcat7 4096 Oct  2 17:02 new_directory
-rw-r--r-- 1 tomcat7 tomcat7    6 Oct  2 17:03 regular_file.txt
MtWoRw@WorkVM:/home/tomcat7$

d 表示它是一个目录,接下来的三个点表示目录的用户/所有者可以做什么,后面的三个点是组可以做什么(这个组部分是你想看的),最后三个点是世界可以做的。确保 new_directory 具有该组的读取、写入和执行权限(读取以便您可以看到内容,写入以便您可以向其中添加/上传新文件,并执行以便您能够打开目录(执行的行为有点目录与常规文件不同))。

使用 chmod 更改目录或文件的权限。你会输入类似的东西
chmod 775 /home/tomcat7/new_directory

数字中的第一个数字对应于用户可以做什么,第二个数字对应于组可以做什么,第三个数字对应于世界可以做什么。有 a good explanation of everything you need for this issue here

10-07 19:19
查看更多