Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Permissions mode = 509. #19775

Closed
Biggy905 opened this issue Feb 25, 2023 · 1 comment
Closed

Permissions mode = 509. #19775

Biggy905 opened this issue Feb 25, 2023 · 1 comment

Comments

@Biggy905
Copy link

Biggy905 commented Feb 25, 2023

What steps will reproduce the problem?

When creating a log file, it cannot create a directory with the file.
Permission mode = 509(dec)
chmod() does not understand dec formats
Stacktrace:

Next yii\base\Exception: Failed to change permissions for directory "/app/src/auction/runtime": chmod(): Operation not permitted
in /app/src/vendor/yiisoft/yii2/helpers/BaseFileHelper.php:656
Stack trace:
#0 /app/src/vendor/yiisoft/yii2/helpers/BaseFileHelper.php(642): yii\helpers\BaseFileHelper::createDirectory('/app/src/auctio...', 509, > true)
#1 /app/src/vendor/yiisoft/yii2/caching/FileCache.php(82): yii\helpers\BaseFileHelper::createDirectory('/app/src/auctio...', 509, true)
#2 /app/src/vendor/yiisoft/yii2/base/BaseObject.php(109): yii\caching\FileCache->init()
#3 [internal function]: yii\base\BaseObject->__construct(Array)
#4 /app/src/vendor/yiisoft/yii2/di/Container.php(411): ReflectionClass->newInstanceArgs(Array)
#5 /app/src/vendor/yiisoft/yii2/di/Container.php(170): yii\di\Container->build('yii\caching\Fil...', Array, Array)
#6 /app/src/vendor/yiisoft/yii2/BaseYii.php(365): yii\di\Container->get('yii\caching\Fil...', Array, Array)
#7 /app/src/vendor/yiisoft/yii2/di/ServiceLocator.php(137): yii\BaseYii::createObject(Array)
#8 /app/src/vendor/yiisoft/yii2/base/Module.php(766): yii\di\ServiceLocator->get('cache', true)
#9 /app/src/vendor/yiisoft/yii2/di/Instance.php(172): yii\base\Module->get('cache')
#10 /app/src/vendor/yiisoft/yii2/di/Instance.php(144): yii\di\Instance->get(NULL)
#11 /app/src/vendor/yiisoft/yii2/web/UrlManager.php(266): yii\di\Instance::ensure(Object(yii\di\Instance), 'yii\caching\Cac...')
#12 /app/src/vendor/yiisoft/yii2/web/UrlManager.php(306): yii\web\UrlManager->ensureCache()
#13 /app/src/vendor/yiisoft/yii2/web/UrlManager.php(229): yii\web\UrlManager->getBuiltRulesFromCache(Array)
#14 /app/src/vendor/yiisoft/yii2/web/UrlManager.php(190): yii\web\UrlManager->buildRules(Array)
#15 /app/src/vendor/yiisoft/yii2/base/BaseObject.php(109): yii\web\UrlManager->init()
#16 [internal function]: yii\base\BaseObject->__construct(Array)
#17 /app/src/vendor/yiisoft/yii2/di/Container.php(419): ReflectionClass->newInstanceArgs(Array)
#18 /app/src/vendor/yiisoft/yii2/di/Container.php(170): yii\di\Container->build('yii\web\UrlMana...', Array, Array)
#19 /app/src/vendor/yiisoft/yii2/BaseYii.php(365): yii\di\Container->get('yii\web\UrlMana...', Array, Array)
#20 /app/src/vendor/yiisoft/yii2/di/ServiceLocator.php(137): yii\BaseYii::createObject(Array)
#21 /app/src/vendor/yiisoft/yii2/base/Module.php(766): yii\di\ServiceLocator->get('urlManager', true)
#22 /app/src/vendor/yiisoft/yii2/base/Application.php(569): yii\base\Module->get('urlManager')
#23 /app/src/vendor/yiisoft/yii2-debug/src/Module.php(284): yii\base\Application->getUrlManager()
#24 /app/src/vendor/yiisoft/yii2/base/Application.php(325): yii\debug\Module->bootstrap(Object(yii\web\Application))
#25 /app/src/vendor/yiisoft/yii2/web/Application.php(69): yii\base\Application->bootstrap()
#26 /app/src/vendor/yiisoft/yii2/base/Application.php(271): yii\web\Application->bootstrap()
#27 /app/src/vendor/yiisoft/yii2/base/BaseObject.php(109): yii\base\Application->init()
#28 /app/src/vendor/yiisoft/yii2/base/Application.php(204): yii\base\BaseObject->__construct(Array)
#29 /app/src/auction.ru/index.php(30): yii\base\Application->__construct(Array)
#30 {main}

What is the expected result?

Use the native decoct() function to convert to the desired permission mode.

What do you get instead?

Correct work with directories and permission mode.

Additional info

Q A
Yii version 2.0.48
PHP version 8.1.16
Operating system Linux version 5.15.79.1-microsoft-standard-WSL2

updated: 02-27-2023
Fix:

  1. Check under which user php is running
  2. Check under which user the directories were created

For dockerfile, example:
RUN apk add -U shadow

ARG user_id=1000
RUN usermod -u $user_id www-data

@bizley
Copy link
Member

bizley commented Feb 25, 2023

It's not the problem with the "509" as you said (it's 0775 in octal), it's a problem with your filesystem and permissions on your folders. You need to correct them yourself.

@bizley bizley closed this as completed Feb 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants