Права доступа для каждого файла или директории — это права на чтение, запись (в т.ч. редактирование и удаление) и исполнение данного файла (или вход в директорию). Обозначаются буквами r, w и x, соответственно.
Права устанавливаются раздельно для 3 категорий пользователей: владелец файла, группа, к которой он принадлежит, и весь остальной мир. В NSG Linux это, как правило, не имеет значения, поскольку пользователь nsg и дополнительные пользователи (если они созданы) имеет должные права на все необходимые им файлы, а возможность управлять правами имеет только root. Однако некоторые приложения критично относятся к правам на некоторые файлы, несмотря на то, что это в данном случае формальное понятие.
В целом права описываются 9-битной маской. Перед ней ставится прочерк для обычного файла, d для директории (есть и другие типы объектов, но они выходят за рамки вводного курса). Например:
# ls -l -rw-r--r-- 1 root root 5 янв 14 19:02 myPoopyFile.txt
9-битную маску прав часто удобнее записывать в виде трёх восьмиричных цифр. При этом в каждом разряде старший бит r=4, средний w=2 и младший x=1, а набор прав для каждой категории пользователей определяется сложением этих бит. Например, для вышеприведённого файла:
-rw-r--r-- 110100100 ││ ││ │└─┴─мир 4 + 0 + 0 = 4 ││ │└─┴─группа 4 + 0 + 0 = 4 │└─┴─владелец 4 + 2 + 0 = 6 └─-
— файл,d
— директория
итого права доступа к нему записываются как 644. Для исполняемых файлов наиболее часто используется маска 755, то есть читать и исполнять их могут все, а писать — только владелец:
# chmod +x myPoopyScript.sh # ls -l -rwxr-xr-x 1 root root 5 янв 14 19:04 myPoopyScript.sh
Важная категория файлов, для которых права доступа могут играть критическую роль — это файлы с паролями и приватными (закрытыми) ключами RSA. Это же не очень правильно, если ваш приватный ключ сможет смотреть кто угодно, верно? Для таких файлов постулируется, что они должны быть доступны только их владельцу и недоступны ни группе, ни миру. Если это правило нарушено, то одни приложения, например, pppd, относятся к этому снисходительно — пишут в журнале предупреждение и работают дальше. Другие же, в частности, IPsec и OpenVPN, расценивают это как критическую ошибку и аварийно завершаются. Для таких файлов необходимо, после записи паролей, генерации или переноса ключей, установить права 600:
# chmod 600 myPoopyPrivateKey.pem # ls -l -rw------- 1 root root 5 янв 14 19:04 myPoopyPrivateKey.pem
К файлам публичных (открытых) ключей RSA и сертификатов X.509 это не относится, поскольку они, напротив, предназначены именно для того, чтобы раздавать их всем, кому угодно.
© Network Systems Group 2015–2024 | Отдел документации |