jrgf 发表于 2018-12-4 09:04:05

Linux 给新用户授予、设置Tomcat目录的使用权限

  本文目标:
  基于安全考虑,将tomcat的使用权限赋给devnote组,新增的用户,只要设置到这个组中,即可以直接使用tomcat。这样一来可以防止用户误删系统或其他用户的文件;二来即使tomcat中的项目有漏洞遭到***,也不至于破坏系统。
  设置方法:
  一、Tomcat目录

[*]  创建用户devnote,并设置密码(默认连带创建devnote组)
# /usr/sbin/useradd devnote  
# passwd devnote
[*]  将tomcat目录的属主用户设置为devnote,属组设置为devnote组
# chown -R devnote.devnote /opt/tomcat
[*]  对组内用户开放tomcat下所有文件的可读权限,以免启动时报错。如,不能读取sever.xml文件
# chmod g+r -R /opt/tomcat
[*]  对组内用户开放tomcat下webapps,logs,work,temp目录的可写权限
# chmod g+w -R /opt/tomcat/webapps  
# chmod g+w -R /opt/tomcat/logs
  
# chmod g+w -R /opt/tomcat/work
  
# chmod g+w -R /opt/tomcat/temp
[*]  使用用户devnote登陆系统,启动tomcat,确保能正常启动,如果不成功,请查看tomcat下的 catalina.out,一般是相关的文件,没有权限,相应设置即可;
[*]  新建用户david,同时指定属组为devnote组,并设置密码
# /usr/sbin/useradd -g devnote david  
# passwd david
[*]  使用用户david登陆系统,启动tomcat,成功。
  二、其他相关目录
  有时候在更新项目之前需要将线上运行的正常的项目备份,以便上线失败后迅速恢复。
  假设我这里的备份目录为/mnt/backup,参照如上,不难得出设置方法
# chown -R devnote.devnote /mnt/backup  
# chmod g+w -R /mnt/backup
  三、为新用户增加sudo操作
  一般情况,我们需要用普通用户执行只有管理员才能运行的命令,这样要比直接用管理员帐户安全些。
# vi /etc/sudoers  在root的设置下新增一行,我这里是对组的设置。%标识devnote是组名。
http://www.devnote.cn/upload/image/2014/01/09/seF4vnbNvn.png
  这样,用户devnote和david都有执行权限了,如:
  设置前:
$ more /etc/sudoers  
/etc/sudoers: Permission denied
  设置后:
$ sudo more /etc/sudoers  提示输入david的密码(非root密码),即可。
  当然,如果之前设置了tomcat开机自动启动,需要相应修改,可参见:
  Linux 修改rc.local文件设置开机自动启动tomcat
  相关说明:
  在apache官网下载的tomcat gz包是有预置权限的,直接在linux下解压缩即可,如下图:
http://www.devnote.cn/upload/image/2014/01/09/8PXPlwx5l9.png
  所以,基于如上配置,tomcat主用户对startup.sh这个文件有修改权限,而组内用户david则没有。


页: [1]
查看完整版本: Linux 给新用户授予、设置Tomcat目录的使用权限