当我在kubernetes的init-container中使用.sh文件在tomcat中运行我的spring应用程序时,我在部署的init-container的安全上下文中设置了runAsUser: 1337。yaml文件。
它给
cp:无法创建常规文件'/usr/java/openjdk-11/conf/security/java.security.bak': permission denied
和
sed: cannot open temporary file ": permission denied.
我已经使用chmod更改权限,但面临以下问题
chmod:修改/opt/jdk/conf/security/java. conf的权限。security':不允许操作
也面临
/startup.sh: line 3: exec: catalina.sh: not found
my .sh file(添加chmod后)
chmod -R 766 ${JAVA_HOME}/conf/security
/add-jce-provider.sh ${JAVA_HOME}/conf/security/java.security;
exec catalina.sh run;
如果无法写入目录,则有可能:
-
目录启用了不可变标志。查看lsattr
-
目录以只读权限挂载:输入in终端:
cat /proc/mounts (or mount or cat /etc/mtab)
如果目录挂载为只读,检查输出。
如果是第一种情况,使用chattr
更改目录属性;
删除文件或目录chattr -i <file/dir>
上的不可变标志
再次在文件或目录上添加不可变标志chattr +i <file/dir>
如果是后一种情况,请编辑文件/etc/fstab
.