繁体   English   中英

Tomcat7 ubuntu用户所有者

[英]Tomcat7 ubuntu user owner

默认情况下,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

数字中的第一个数字对应于用户可以执行的操作,第二个数字对应于该组可以执行的操作,第三个数字对应于该世界可以执行的操作。 这里有一个很好的解释,你需要解决这个问题

这是在Debian 7实例(与Ubuntu非常相似)上对我有用的东西。

似乎/etc/init.d/tomcat7启动脚本中存在错误。 start-stop-daemon的手册页说可以使用-c参数设置守护进程的用户和组。 另请注意,tomcat7启动脚本读入/ etc / default / tomcat7,这是应该设置所有默认设置的地方。

所以要以用户app0000运行我的tomcat进程,但是使用组tomcat7(而不是组app0000,这是用户app0000的主要组)和setuid 002权限,以便组tomcat7中的用户可以删除app0000的文件,我有以下设置:

在/ etc / passwd中:

tomcat7:x:120:65534::/usr/share/tomcat7:/bin/false
app0000:x:2000:2000:app0000:/home/app0000:/bin/bash

在/ etc / group中:

tomcat7:x:120:
app0000:x:2000:

在/ etc / default / tomcat7中:

TOMCAT7_USER=app0000
TOMCAT7_GROUP=tomcat7

使日志,临时和工作组可写:

drwxr-xr-x 11 tomcat7 tomcat7  4096 Mar 13 02:40 .
drwxr-x---  6 tomcat7 tomcat7  4096 Mar 29 15:06 ..
drwxr-xr-x  2 tomcat7 tomcat7  4096 Mar 29 15:33 bin
drwxr-xr-x  2 tomcat7 tomcat7  4096 Mar 29 14:30 conf
drwxr-xr-x 25 tomcat7 tomcat7  4096 Mar 29 07:54 confluence
drwxr-xr-x  2 tomcat7 tomcat7  4096 Mar 29 07:54 lib
-rw-r--r--  1 tomcat7 tomcat7 38657 Nov 28  2011 LICENSE
drwxr-xr-x  3 tomcat7 tomcat7  4096 Mar 13 02:40 licenses
drwxrwxr-x  2 tomcat7 tomcat7  4096 Mar 29 15:04 logs
-rw-r--r--  1 tomcat7 tomcat7   574 Nov 28  2011 NOTICE
-rw-r--r--  1 tomcat7 tomcat7  2291 Mar 13 02:40 README.html
-rw-r--r--  1 tomcat7 tomcat7  1212 Mar 13 02:40 README.txt
-rw-r--r--  1 tomcat7 tomcat7  8680 Nov 28  2011 RELEASE-NOTES
-rw-r--r--  1 tomcat7 tomcat7  6836 Nov 28  2011 RUNNING.txt
drwxrwxr-x  2 tomcat7 tomcat7  4096 Mar 29 13:16 temp
drwxr-xr-x  2 tomcat7 tomcat7  4096 Mar 13 02:40 webapps
drwxrwxr-x  3 tomcat7 tomcat7  4096 Mar 29 15:19 work

最后(我认为这是最重要的部分),修复/etc/init.d/tomcat7:

start-stop-daemon --start -b -u "$TOMCAT7_USER" -g "$TOMCAT7_GROUP" \
            -c "$TOMCAT7_USER:$TOMCAT7_GROUP" -k 002 -d "$CATALINA_TMPDIR" \
            -p "$CATALINA_PID" -x /bin/bash -- -c "$AUTHBIND_COMMAND $TOMCAT_SH"

(本来:)

start-stop-daemon --start -b -u "$TOMCAT7_USER" -g "$TOMCAT7_GROUP" \
            -c "$TOMCAT7_USER" -d "$CATALINA_TMPDIR" \
            -p "$CATALINA_PID" -x /bin/bash -- -c "$AUTHBIND_COMMAND $TOMCAT_SH"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM