Я новый пользователь Ubuntu. Ранее я использовал Windows. Я сталкиваюсь с проблемами разрешения на каждом шагу. На самом деле я ищу разрешения для файлов и папок, как окна. Я прочитал несколько документов по этому поводу, но мне было не ясно.
Например, я хотел бы получить все типы разрешений для этого каталога /opt/lampp/htdocs
и подкаталогов.
Я попробовал следующую команду
sudo chown -R abu:abu /opt/lampp/htdocs
Но ничего не произошло.
Может ли кто-нибудь помочь мне в этом отношении?
Вы ничего не видите, потому что ни одна из тех команд не предназначена для вывода чего-либо, но это не означает, что изменения не были внесены;
Для получения видимой обратной связи изменений, Вы сделали, можно просто работать ls -l
на каждом затронутом каталоге для проверки его содержания однако более опрятный способ сделать это должно было бы установить tree
и использовать его для списка каждого каталога / файл наряду с желаемым атрибутом (атрибутами) рекурсивно:
tree -u -g -p
-u
: каталоги списков / файлы вместе с владельцем-g
: каталоги списков / файлы наряду с группой-p
: каталоги списков / файлы наряду с полномочиямиuser@user-X550CL ~/tmp % tree -u -g -p
.
└── [drwxrwxr-x user user ] dir
├── [-rw-rw-r-- user user ] file1
├── [-rw-rw-r-- user user ] file2
├── [-rw-rw-r-- user user ] file3
├── [drwxrwxr-x user user ] subdir1
├── [drwxrwxr-x user user ] subdir2
└── [drwxrwxr-x user user ] subdir3
4 directories, 3 files
user@user-X550CL ~/tmp % find . -type d -exec chmod 755 {} \;
user@user-X550CL ~/tmp % find . -type f -exec chmod 644 {} \;
user@user-X550CL ~/tmp % tree -u -g -p
.
└── [drwxr-xr-x user user ] dir
├── [-rw-r--r-- user user ] file1
├── [-rw-r--r-- user user ] file2
├── [-rw-r--r-- user user ] file3
├── [drwxr-xr-x user user ] subdir1
├── [drwxr-xr-x user user ] subdir2
└── [drwxr-xr-x user user ] subdir3
4 directories, 3 files
Команда не произведет ничего вообще, если она работала, если Вы не добавляете V опций заставить ее произвести вывод verbosley. Я рекомендую читать chmod
руководство, доступное здесь или путем выполнения man chmod
, поскольку необходимо удостовериться, что Вы знаете то, что делает каждая команда.
, Чтобы заставить его работать recursivly, просто необходимо передать -R
рекурсивный флаг - например, таким образом, эта команда сделает все в /opt/lampp/htdocs
, имеют разрешение -rwxr-xr-x
(владелец папки может читать. запишите и выполнитесь, группа, и все остальные могут читать и выполниться:
sudo chmod -R 755 /opt/lampp/htdocs
Обратите внимание на то, что это, я думаю, будет относиться и к файлам и к каталогам, и если каталоги не будут иметь исполняемого разрешения, то они не будут работать (см. здесь ). Поэтому, если Вы не хотите, чтобы файлы были excutable, необходимо будет использовать что-то вроде этого (вероятно, как корень):
find /path/to/base/dir -type d -exec chmod 755 {} +
find /path/to/base/dir -type f -exec chmod 644 {} +
, Если Вы хотите знать то, что это делает, можно считать соответствующие части руководства (man find
) находки. В основном, если находят все файлы/папки в указанном пути, и изменяет полномочия их.
, Если Вы хотите стать владельцем (и группа) файлов (не может рекомендуемый для сервера и файлов конфигурации системы), таким образом, можно измениться (пишут в) их, консультируйтесь этот вопрос . Это также возможно путем нахождения в группе, которая имеет доступ для записи к файлам, или заставляя всех 'других' пользователей иметь доступ для записи к ним