Предположительно, на внешнем диске используется файловая система, например, вариант FAT, которая не хранит разрешения, и была смонтирована со всеми разрешенными для всех разрешениями. Утилита, которую вы использовали для копирования файлов, сохранила оригинальные разрешения.
Прямоугольный цвет предупреждает о том, что файлы можно записывать по всему миру. В выводе ls -l
разрешения rwx
сгруппированы в три блока по три символа: пользовательские, групповые и другие в этом порядке. Таким образом, rwxrwxrwx
означает, что каждый может делать все, в то время как rwxr-xr-x
означает файл, который каждый может читать и eXecute, но только пользователь, которому принадлежит этот файл, может Write. Смотрите Понимание разрешений UNIX и их атрибутов для получения более подробной информации о разрешениях и выводе ls -l
.
Чтобы изменить файлы, доступные только для записи, выполните команду chmod
:
chmod -R go-w .
-R
означает рекурсивное; go
означает влияние на группу и другие разрешения, а -w
означает удаление разрешений на запись.
Если вы хотите удалить разрешение на выполнение из файлов, потому что они на самом деле не исполняемые, не добавляйте x
к этой команде. Директории должны сохранять разрешение x
, потому что в директории x
на самом деле означает разрешение на доступ к файлам внутри этой директории (r
разрешает только перечисление содержимого директории, а не доступ к файлам). Вы можете использовать команду find
для запуска chmod
только на недиректориях. Чтобы убрать разрешение на выполнение со всего, что находится под текущей директорией, кроме директорий:
find . -type d -o -exec chmod a-x {} +