私はAmazon Linuxを使用しており、次の行を含むJenkinsタスクを介してスクリプトを実行しています。
touch /usr/java/jboss/standalone/deployments/myproject.war.dodeploy
これによりエラーが発生します。
touch: cannot touch ‘/usr/java/jboss/standalone/deployments/myproject.war.dodeploy’: Permission denied
権限とグループが正しく設定されていると考え、スクリプトにも出力しました。しかし、なぜ仕事がクラッシュするのかわかりません。以下は出力です。タッチコマンドが機能するには何が必要ですか?
+ whoami
jboss
+ groups jboss
jboss : jboss evotext
+ ls -al /usr/java/jboss/standalone/deployments/
total 20
drwxrwxr-x 4 deploy evotext 4096 Apr 23 18:18 .
drwxr-xr-x 8 jboss evotext 4096 Jun 24 2013 ..
drwxrwxr-x 11 jboss evotext 4096 Apr 23 18:23 myproject.war
drwxrwxr-x 9 deploy evotext 4096 Apr 22 19:21 jenkins.war
-rwxrwxr-x 1 deploy evotext 11 Apr 22 19:21 jenkins.war.deployed
+ touch /usr/java/jboss/standalone/deployments/myproject.war.dodeploy
touch: cannot touch ‘/usr/java/jboss/standalone/deployments/myproject.war.dodeploy’: Permission denied
Build step 'Execute shell' marked build as failure
答え1
親ディレクトリに編集を妨げるACLがありますか?次のコマンドを実行してみてください。
sudo setfacl yourname:rwx /usr/java/jboss/standalone/deployments
ここで yourname はユーザー名です。