2gusia (2gusia) wrote,
2gusia
2gusia

Category:

Необходимый минимум о правах доступа к файлам и папкам

nas4free - программное обеспечение на основе FreeBSD. Поэтому вся основа - файлы, папки, права доступа - как в этой оси. (И вся это основа - очень близка к Linux, хотя и не полностью совпадает). Я попытаюсь предельно кратко и поверхностно описать эти самые права. Более полное и корректное описание см "Руководство FreeBSD" Права доступа. В соседних главах, кстати, тоже есть что почитать долгими зимними вечерами ;)

С правами доступа к файлам на NAS вы обычно сталкиваетесь, когда при попытке удалить файл на Windows шаре, а система не даёт. Если посмотреть на такой файл в файловом менеджере nas4free (как пример - files.db на картинке), то


в столбце справа видим запись -rw-r---r--. А у папки - drwxr-xr-x. Можно догадаться, что первая буква позволяет отличить папку (от слова directory) от файла. Так и есть. Бывают и другие значения, например l - (от link) софтлинк, ссылка на файл, примерно как ярлык в Windows.

Остальные 9 букв - три тройки. Первая тройка флагов - права для пользователя-владельца файла. Вторая - для тех, кто состоит в той же группе, что и основная группа владельца и третья - для всех прочих. В нашем примере для файла files.db владелец может его читать ( r - read), писать в него (включая изменять содержимое и удалять; w - write) и исполнять как программу (x - eXecute). Для папки флаг x имеет немного другое значение. Если не вдаваться в детали - для нормального чтения папки должны быть подняты флаги r и x.

Как менять права?
NB хорошая практика - давать доступ тем пользователям и туда, куда им положено. Она обязательна на работе. Да и дома позволяет ограничить доступ членам семьи туда, где они что-то могут по незнанию поломать. Так что если вы можете внедрить и использовать такую практику дома - так и делайте. А описываемая ниже практика с полным доступам ко всем данным годится только для важного частного случая домашней доверенной сети без доступа извне, в которой кроме вас никто файлы не пишет-стирает.

Для новичка наиболее простой способ сменть права одному-двум файлам - через файловый менеджер. Кликаем мышкой на строку прав файла (напр -rw-r---r--) - открывается диалог редактирования прав.

Но если хочется разом изменить права многим файлам в многих подпапках - то без командной строки не обойтись.

Команда ls c ключами la показывает полную информацию о файлах, включая права и владельцев

n4fodroid: ~# ls -la /mnt/Pool/Media/
total 116779
drwxrwxrwx  4 root       wheel              6 Jan  6 01:07 .
drwxr-xr-x  6 vboxusers  vboxusers          6 Jan  4 22:39 ..
drwxr-xr-x  2 ftp        wheel              3 Jan  3 21:38 .wd_tv
drwxrwxrwx  5 ftp        wheel              5 Dec 28 01:39 SyncThing
-rw-r--r--  1 root       wheel          12351 Jan  6 01:07 lortr.S01E06.MP4.torrent
-rwxrw-rw-  1 ftp        wheel      119389144 Jan  4 23:14 pi2_11.xz


Команда chmod меняет права доступа

n4fodroid: ~# chmod 777 /mnt/Pool/Media/lortr.S01E06.MP4.torrent
n4fodroid: ~# ls -la /mnt/Pool/Media/
total 116779
drwxrwxrwx  4 root       wheel              6 Jan  8 17:56 .
drwxr-xr-x  6 vboxusers  vboxusers          6 Jan  4 22:39 ..
drwxr-xr-x  2 ftp        wheel              3 Jan  3 21:38 .wd_tv
drwxrwxrwx  5 ftp        wheel              5 Dec 28 01:39 SyncThing
-rwxrwxrwx  1 root       wheel          12351 Jan  6 01:07 lortr.S01E06.MP4.torrent
-rwxrw-rw-  1 ftp        wheel      119389144 Jan  4 23:14 pi2_11.xz


права 777 - это обозначение полных прав доступа - всем разрешено всё.
[Подробнее...]


Значение






Права доступа






Список файлов каталога
0 Ничего не разрешено ---
1 Нельзя читать и писать, разрешено исполнять --x
2 Нельзя читать и исполнять, разрешено писать -w-
3 Нельзя читать, разрешено писать и исполнять -wx
4 Разрешено читать, нельзя писать и исполнять r--
5 Разрешено читать и исполнять, нельзя писать r-x
6 Разрешено читать и писать, нельзя исполнять rw-
7 Разрешено все rwx


Ключ -R применяет команду рекурсивно - к папке, на которую команда дана, ко всем подпапкам в этой папке, ко всем файлам в этих папках.

n4fodroid: ~# chmod -R 777 /mnt/Pool/Media/test

даст полный доступ ко всему содержимому папки /mnt/Pool/Media/test

Обращаться с ОСТОРОЖНОСТЬЮ. Например, команда chmod -R 777 /mnt/Pool/Media даст полный доступ к содержимому /mnt/Pool/Media - а это нежелательно. К примеру, у нас там был служебный файл .wd_tv и сломать доступ к нему - нехорошо. Ещё хуже, если мы нарушим доступ к чему-то более сложному, чем данные - к клеткам (jail), папкам с исполняемыми кодами и пр. Скорее всего просто перестанет работать. И починить будет непросто.

Поэтому открывайте доступ только к тому, к чему вам действительно нужно.

PS А владельцев позволяет задавать команда chown.
Tags: nas, nas4free
Subscribe

  • Выезжала на берег «Катюша»

    Запрет на исполнение вместо гимна «Катюши» - это, несомненно, попытка плюнуть в лицо всей России. Но, парадоксальным образом, штука для нас очень…

  • День рожденья Чебурнета

    Сам по себе Твиттер, который сегодня начали замедлять - порядочная дрянь и вряд ли достоин жалости. Есть даже ирония в том, что от цензуры страдает…

  • Притча

    В России всегда были две беды. Дураки и дороги. И причем сумма их всегда была постоянной, чтобы ни случалось. Чуть получше дороги, чуть побольше…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 23 comments

  • Выезжала на берег «Катюша»

    Запрет на исполнение вместо гимна «Катюши» - это, несомненно, попытка плюнуть в лицо всей России. Но, парадоксальным образом, штука для нас очень…

  • День рожденья Чебурнета

    Сам по себе Твиттер, который сегодня начали замедлять - порядочная дрянь и вряд ли достоин жалости. Есть даже ирония в том, что от цензуры страдает…

  • Притча

    В России всегда были две беды. Дураки и дороги. И причем сумма их всегда была постоянной, чтобы ни случалось. Чуть получше дороги, чуть побольше…