Когда вы начинаете работать с Линуксом у Вас могут возникнуть трудности с открытием того или иного файла, переходом в какую-либо директорию или тп.
Вы можете увидеть следующего вида сообщение:
alexander@srv-ubuntu:~$ cat permissions.txt
cat: permissions.txt: Permission denied
Для того чтобы понять что и кому можно делать с файлом и вообще что это за объёкт нужно ввести команду:
ls -l filename
Или просто ls -l и вам покажут все файлы в текущем каталоге (в том каталоге где вы находитесь).
Например, в моём домашнем каталоге:
alexander@srv-ubuntu:~$ ls -l
total 64
drwxrwxr-x 2 alexander alexander 4096 May 8 08:30 backups
-rwxrwxr-- 1 alexander alexander 39 Jun 4 17:43 helloworld.sh
-rw------- 1 alexander alexander 33838 Jun 3 18:37 it-inside_logo.jpg
-rw------- 2 alexander alexander 233 Jun 3 18:47 my_vs_info.txt
-rwxrwxrwx 1 alexander alexander 37 Jun 4 18:20 permissions_all.txt
--w-rw-r-- 1 alexander alexander 37 Jun 4 18:00 permissions.txt
drwxrwxr-x 2 alexander alexander 4096 May 8 08:34 recovers
lrwxrwxrwx 1 alexander alexander 14 Jun 3 18:46 soft_link_my_vs_info.txt -> my_vs_info.txt
-rw------- 2 alexander alexander 233 Jun 3 18:47 test_ln_my_vs_info.txt_
В левой колонке отображаются права доступа (-rwxrwxrwx). Так же вы видите кому принадлежит файл (alexander alexander).
В блоке (alexander alexander) первым указывается имя пользователя кому принадлежит файл, вторым группа которой принадлежит файл. Они могут быть одинаковыми или разными.
Рассмотрим блок (-rwxrwxrwx).
Первый символ (-). Эта позиция отвечает за тип файла (-) обозначает обычный файл (картинки, текст, видео и тп)
Тут может быть (d) – директория. Например, в моём домашнем каталоге есть директория=папка backups.
(l) – символьная ссылка. Например, soft_link_my_vs_info.txt. По сути это ярлык в терминологии Windows. Этот ярлык ссылается на другой файл (soft_link_my_vs_info.txt -> my_vs_info.txt).
Есть и другие варианты. Смотри ссылку в конце.
Следующие 9 символов (rwxrwxrwx) обозначают права доступа для владельца-u, группы-g и всех остальных.
Например, для файла helloworld.sh – это скрипт, его можно запускать и он будет что-то делать.
-rwxrwxr–
uuugggooo
Это означает. Что для владельца-u доступно следующее:
r-read – читать
w-write – писать
x-execute – выполнять
По сути, владелец может делать всё что угодно с этим файлом. Члены группы к которой принадлежит данный файл тоже могут делать всё (rwx).
А вот все остальные пользователи могут только читать (r–). Доступа к записили и исполнению у них нет.
Для каталогов тоже есть такие параметры. Например, для backups (drwxrwxr-x).
d – означает, что это директория
Пользователь и группа могут делать всё что захотят.
r – чтение в данном случает означает, например, то что владелец может просмотреть содержимое директории – прочитать список назходящихся в ней файлов.
w – запись – вы можете создавать и удалять файлы в этой директории.
x – можете перейти в эту директорию.
Например, в данной директории пользователи не входящие в группу alexander не могут создавать файлы, но могут просмотреть её содержимое и перейти в неё.
Если директория будет иметь следующие права:
alexander@srv-ubuntu:~$ ls -l | grep dir_permissions
dr--r--r-- 2 alexander alexander 4096 Jun 4 18:39 dir_permissions
То владелец сможет посмотерть её содержимое(но не увидет права доступа, просто файлы), но не сможет в неё перейти:
alexander@srv-ubuntu:~$ ls -l dir_permissions/
ls: cannot access dir_permissions/testfile.txt: Permission denied
total 0
-????????? ? ? ? ? ? testfile.txt
Перейти в директорию нельзя:
alexander@srv-ubuntu:~$ cd dir_permissions/
-bash: cd: dir_permissions/: Permission denied
При полном запрете будет просто отказ в доступе:
alexander@srv-ubuntu:~$ ls -l dir_permissions/
ls: cannot open directory dir_permissions/: Permission denied
Теперь Вы сможете понять причину по которой у Вас не получается что-то сделать с файлом =)