[英]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.