Назад | Перейти на главную страницу

Утрачено разрешение на файлы с использованием неправильного синтаксиса chmod Centos 5.5

Я пытался удалить права на запись для всего каталога и использовал неверную команду:

chmod 644 -r sites/default

Я хотел напечатать

chmod -R 644 sites/default

Результат был такой:

chmod: cannot access `644': No such file or directory
$ ls -als sites
total 24
4 drwxr-xr-x  5 user group 4096 Jan 11 10:54 .
4 drwxrwxr-x 14 user group 4096 Jan 11 10:11 ..
4 drwxr-xr-x  4 user group 4096 Jan  5 01:25 all
4 d-w-------  3 user group 4096 Jan 11 10:43 default
4 -rw-r--r--  1 user group 1849 Apr 15  2010 example.sites.php

Я исправил разрешения для папки по умолчанию с помощью $ chmod 644 sites / default. Но следующий ls показывает все файлы с красным фоном и вопросительными знаками. Я не могу получить доступ к файлам, если не являюсь пользователем root.

$ ls -als sites/default
total 0
? ?--------- ? ? ? ?            ? .
? ?--------- ? ? ? ?            ? ..
? ?--------- ? ? ? ?            ? default.settings.php
? ?--------- ? ? ? ?            ? files
? ?--------- ? ? ? ?            ? settings.php

Когда я вхожу в систему как root, я могу редактировать все файлы, и их разрешения отображаются правильно. Я не знаю, как исправить ущерб, нанесенный использованием -r с chmod вместо -R.

Какие-либо предложения?

Сначала сделайте следующее:

chmod 755 sites/default

Результат, который вы видите, связан с тем, что у вас нет разрешения на выполнение в каталоге:

$ mkdir -p foo/bar
$ touch foo/bar/a foo/bar/b foo/bar/c
$ ls -l foo
total 4
drwxr-xr-x 2 thedward thedward 4096 2011-01-11 10:28 bar
$ ls -l foo/bar
total 0
-rw-r--r-- 1 thedward thedward 0 2011-01-11 10:28 a
-rw-r--r-- 1 thedward thedward 0 2011-01-11 10:28 b
-rw-r--r-- 1 thedward thedward 0 2011-01-11 10:28 c
$ chmod 644 foo/bar
$ ls -l foo/bar
total 0
-????????? ? ? ? ?                ? a
-????????? ? ? ? ?                ? b
-????????? ? ? ? ?                ? c
$ chmod 755 foo/bar
$ ls -l foo/bar
total 0
-rw-r--r-- 1 thedward thedward 0 2011-01-11 10:28 a
-rw-r--r-- 1 thedward thedward 0 2011-01-11 10:28 b
-rw-r--r-- 1 thedward thedward 0 2011-01-11 10:28 c

Почему бы не запустить ту же команду еще раз с соответствующими разрешениями, а затем применить желаемые разрешения к сайтам / по умолчанию?