Custom theme has broken permissions


#1

Hi all :wave:,
I created a custom theme based on WorldCasper2 and uploaded it to Ghost via the admin interface. The theme also passed GScan. Everything seems to work well, but when I wanted to update Ghost to v 2.1.2 I got the following error message from Ghost CLI (here recreated with ghost doctor):

$ ghost doctor
✔ Checking system Node.js version
✔ Checking logged in user
✔ Ensuring user is not logged in as ghost user
✔ Checking if logged in user is directory owner
✔ Checking current folder permissions
✔ Checking operating system compatibility
✔ Checking for a MySQL installation
Running sudo command: systemctl is-active ghost_test-karman-ac-de
ℹ Validating config [skipped]
✔ Checking folder permissions
✖ Checking file permissions
✔ Checking content folder ownership
✔ Checking memory availability
One or more errors occurred.

1) Checking file permissions

Message: Your installation folder contains some directories or files with incorrect permissions:
- ./content/themes/kasper/page.hbs
- ./content/themes/kasper/subscribe.hbs
- ./content/themes/kasper/assets/screenshot-mobile.jpg
- ./content/themes/kasper/assets/css/csscomb.json
- ./content/themes/kasper/assets/css/global.css
- ./content/themes/kasper/assets/css/screen.css
- ./content/themes/kasper/assets/screenshot-desktop.jpg
- ./content/themes/kasper/assets/built/screen.css.map
- ./content/themes/kasper/assets/built/global.css.map
- ./content/themes/kasper/assets/built/global.css
- ./content/themes/kasper/assets/built/screen.css
- ./content/themes/kasper/assets/js/infinitescroll.js
- ./content/themes/kasper/assets/js/jquery.fitvids.js
- ./content/themes/kasper/CONTRIBUTING.md
- ./content/themes/kasper/author.hbs
- ./content/themes/kasper/tag.hbs
- ./content/themes/kasper/yarn.lock
- ./content/themes/kasper/error.hbs
- ./content/themes/kasper/error-404.hbs
- ./content/themes/kasper/README.md
- ./content/themes/kasper/partials/floating-header.hbs
- ./content/themes/kasper/partials/byline-single.hbs
- ./content/themes/kasper/partials/post-card.hbs
- ./content/themes/kasper/partials/site-nav.hbs
- ./content/themes/kasper/partials/pagination.hbs
- ./content/themes/kasper/partials/icons/avatar.hbs
- ./content/themes/kasper/partials/icons/website.hbs
- ./content/themes/kasper/partials/icons/ghost-logo.hbs
- ./content/themes/kasper/partials/icons/twitter.hbs
- ./content/themes/kasper/partials/icons/facebook.hbs
- ./content/themes/kasper/partials/icons/location.hbs
- ./content/themes/kasper/partials/icons/rss.hbs
- ./content/themes/kasper/partials/icons/infinity.hbs
- ./content/themes/kasper/partials/icons/point.hbs
- ./content/themes/kasper/partials/byline-multiple.hbs
- ./content/themes/kasper/partials/subscribe_form.hbs
- ./content/themes/kasper/index.hbs
- ./content/themes/kasper/gulpfile.js
- ./content/themes/kasper/LICENSE
- ./content/themes/kasper/locales/lt.json
- ./content/themes/kasper/locales/fi.json
- ./content/themes/kasper/locales/fr.json
- ./content/themes/kasper/locales/ru.json
- ./content/themes/kasper/locales/de.json
- ./content/themes/kasper/locales/es.json
- ./content/themes/kasper/locales/hr.json
- ./content/themes/kasper/locales/pt-BR.json
- ./content/themes/kasper/locales/zh.json
- ./content/themes/kasper/locales/ro.json
- ./content/themes/kasper/locales/sv.json
- ./content/themes/kasper/locales/pl.json
- ./content/themes/kasper/locales/it.json
- ./content/themes/kasper/locales/fr-CA.json
- ./content/themes/kasper/locales/en.json
Run sudo find ./ ! -path "./versions/*" -type f -exec chmod 664 {} \; and try again.

Debug Information:
    OS: Ubuntu, v16.04
    Node Version: v8.9.4
    Ghost-CLI Version: 1.9.3
    Environment: production
    Command: 'ghost doctor'

It seems as if the file permissions for the custom theme are broken. Running the recommended command throws a bunch of the following:

chmod: cannot access '': No such file or directory

When I deleted the custom theme from the server I could upgrade Ghost to v 2.1.2 (and afterwards re-upload the theme again, which worked). Do you have any suggestions?

Thanks in advance! :slight_smile:


#2

I’ve had that before

running sudo chown -R ghost:ghost ./content should fix it