Что значит владелец файла
Первоначально в DOS, а затем и в Windows не было такого понятия, как "владелец файла" и "права доступа к файлу". Права доступа к файлам и каталогам появились только в файловой системе NTFS, но фактически NTFS "пришла в массы" лишь в 2001-2002 годах. Сейчас поясню, почему так поздно.
Файловая система NTFS поддерживалась только операционной системой Windows NT, которая не была столь распространена, как Windows 95/98. Windows 2000, в которой тоже была поддержка NTFS, также не получила широкого распространения. Достаточной популярностью из ОС, поддерживающих файловую систему NTFS, пользовалась лишь Windows XP. Но многие пользователи просто не использовали всех возможностей NTFS или вообще не использовали згой файловой системы (ведь Windows XP также поддерживала и файловую систему FAT32): кто по привычке к FAT, а кто - по незнанию. Поэтому понятие прав доступа, скорее всего, будет новым для Windows-пользователей.
В Linux всех пользователей можно разделить на три большие группы.
• Владелец - к этой группе принадлежит всего один пользователь, создавший файл или каталог.
• Группа - члены группы, к которой принадлежит владелец. Например, может быть создана группа users, к которой будут принадлежать пользователи ivanov, petrov и sidorov. Подробнее о группах, а также О правах членов группы мы поговорим в следующей главе.
• Прочие - все остальные пользователи, которые не являются владельцем файла и которые не входят в группу, к кото-роб принадлежит владелец файла.
Вот что нужно помнить о правах доступа к файлам в Linux,
• Вы, как владелец файла, можете назначать права доступа к собственным файлам и каталогам для каждой группы пользователей.
• Обычный пользователь может создавать файлы только в пределах своего домашнего каталога. Доступ к остальным каталогам файловой системы ограничен (как правило, только чтением, без возможности создания новых файлов и изменения уже имеющихся).
• Изменить права доступа к файлу может либо его владелец, либо пользователь root.
• Пользователь root обладает максимальными привилегиями, поэтому он может получить полный доступ к любому файлу и каталогу и системе.
Установить права доступа к файлу или каталогу очень просто. Откройте свой домашний каталог, щелкните правок кнопкой мыши на любом файле и выберите в контекстном меню команду Свойства. В раскрывшемся окне перейдите на вкладку Права (рис. 1.56), где можно установить права доступа для владельца, группы владельца (если владелец является членом нескольких групп, тогда можно установить отдельный права доступа для каждой группы) и для остальных пользователей. Права доступа могут быть следующими:
• Чтение и запись - полный доступ к файлу или каталогу;
• Только чтение - файл доступен только для чтения;
• Нет - в доступе к файлу будут отказано (как в случае открытий файла в режиме только чтения, так и в режиме записи).
Puc. 1.56. Установка прав доступа
Право на выполнение означает, что файл можно будет запускать (как программу). Понятно, что право на выполнение нужно устанавливать только для программ или сценариев командного интерпретатора, поскольку система всё равно не сможет выполнить файл другого типа. Ну, как, например, можно запустить на выполнение файл формата МS Word?
Право выполнения для каталога также означает, что можно будет просматривать содержимое этого каталога.
Модель прав доступа в Linux
В каких группах я состою?
Чтобы увидеть к каким группам вы принадлежите используйте команду groups:
$ groups
drobbins wheel audio
Из этого примера видно, что я состою в группах drobbins, wheel, и audio. Если вы хотите посмотреть, в каких группах состоит другой пользователь, то передайте его имя в качестве аргумента.
$ groups root daemon
root : root bin daemon sys adm disk wheel floppy dialout tape video
daemon : daemon bin adm
Определение доступа к файлам поддержки
Определение доступа к файлам поддержки На вкладке Files диалогового окна Options, показанной на рис. 3.1, задаются пути доступа к файлам поддержки, где хранятся шрифты, шаблоны рисунков, типы линий и образцы штриховок, используемые AutoCAD. Здесь перечисляются все пути доступа к
Aron Griffis
Эйрон Гриффис живет на территории Бостона, где провел последнее десятилетие работая в Hewlett-Packard над такими проектами, как сетевые UNIX-драйвера для Tru64, сертификация безопасности Linux, Xen и KVM виртуализация, и самое последнее — платформа HP ePrint. В свободное от программирования время Эйрон предпочитает размыщлять над проблемами программирования катаясь на своем велосипеде, жанглируя битами, или болея за бостонскую профессиональную бейсбольную команду «Красные Носки».
Описывает лучшие практики, расположение, значения, управление политикой и **** соображения безопасности для настройки безопасности файлов или других объектов.
Права и директории
До текущего момента мы рассматривали права доступа с точки зрения обычных файлов. Когда речь заходит о директориях, появляются некоторые отличия. Директории используют те же флаги прав доступа, но их интерпретация имеет немного другой смысл.
Если для директории задан флаг чтения, то вы можете просматривать список содержимого директории; флаг записи означает, что вы можете создавать файлы в директории; и флаг исполнения означает, что вы можете войти в директорию и обращаться ко всем поддиректориям внутри. Без флага исполнения у вас не будет доступа к объектам файловой системы внутри директории. Без флага чтения объекты файловой системы внутри директории нельзя просмотреть, но к объектам внутри директории все еще можно обратиться, если вы знаете полный путь к объекту на диске.
Знакомство с chmod
chown и chgrp используются для изменения владельца и группы объекта файловой системы, но кроме них существует и другая программа, называемая chmod, которая используется для изменения прав доступа на чтение, запись и исполнение, которые мы видим в выводе команды ls -l. chmod использует два и более аргументов: метод, описывающий как именно необходимо изменить права доступа с последующим именем файла или списком файлов, к которым необходимо применить эти изменения:
$ chmod +x scriptfile.sh
В примере выше в качестве метода указано +x. Как можно догадаться, метод +x указывает chmod, что файл необходимо сделать исполняемым для пользователя, группы и для всех остальных. Если мы решим отнять все права на исполнение файла, то сделаем вот так:
$ chmod -x scriptfile.sh
Числовые режимы
До сих пор, мы использовали то что называется символическим способом указания прав доступа для команды chmod. Однако есть еще один достаточно распространенный способ указания прав: использование четырехзначных восьмеричных чисел. Этот синтаксис, называется числовым синтаксисом прав доступа, где каждая цифра представляет тройку разрешений. Например, в 1777, 777 устанавливают флаги о которых мы говорим в этом разделе, для владельца, группы, и остальных пользователей. 1 используется для указания специального бита прав доступа, который мы рассмотрим позже (смотрите «Неуловимая первая цифра» в конце раздела). Эта таблица показывает как транслируются права доступа на числовые значения.
Предупреждения о suid/sgid
Мы увидели как работает suid, sgid работает похожим образом. Она позволяет программе наследовать права доступа группы, а не текущего пользователя.
4.16.1. Команда chmod
Для изменения прав доступа используется команда chmod . В следующем примере мы покажем, как можно изменить права доступа к файлу example1.txt при помощи команды chmod .
Вот как выглядят текущие права доступа к рассматриваемому файлу:
Если вы являетесь владельцем файла или вошли в систему как суперпользователь, вы можете изменить все права доступа и для владельца, и для группы, и для остальных пользователей.
В данный момент владелец и группа могут читать и изменять содержимое файла. Любой другой пользователь, не входящий в группу, может только читать файл ( r-- ).
Помните, что ограничение доступа к файлам — это способ защитить систему. Всякий раз, когда вы разрешаете кому-нибудь читать файл, записывать в него или запускать его на исполнение, вы рискуете, что файл будет изменен или удален. Как правило, доступ к файлу следует разрешать только тем пользователям, которым это действительно необходимо.
В следующем примере показано, как разрешить всем пользователям читать файл, вносить в него изменения и сохранять их. Для этого надо изменить права доступа группы « остальные ».
Введите в командной строке:
На экран будет выведена следующая информация:
Теперь введите такую команду:
Команда o+w означает, что вы даете права « остальным » (« others », обозначается буквой « о ») на запись в файл example1.txt . Чтобы увидеть, к чему привело выполнение указанной команды, опять посмотрим на файл:
Теперь все могут читать и осуществлять запись в файл.
Чтобы запретить чтение файла example1.txt и запись в него, используйте команду chmod .
Команда go-rw сообщает системе, что вы хотите запретить чтение файла example1.txt и запись в него группе и « остальным ».
В результате права доступа будут выглядеть так:
Рассмотренные классы и права являются сокращениями от соответствующих английских слов, поэтому их легко запомнить: все, что нужно помнить, — это несколько символов и букв.
Вот список расшифровок данных сокращений:
u — пользователь, который является владельцем файла (от английского « user »);
g — группа, к которой принадлежит пользователь (от английского « group »);
o — остальные (не владелец и не группа-владелец, от английского « others »);
a — все ( u , g и o , от английского « all »).
r — право на чтение;
w — право на запись;
x — право на исполнение.
= — оставляет только данное право.
Хотите проверить ваши знания? Отберите у всех пользователей все права на файл example1.txt .
А сейчас проверьте, можете ли вы прочитать данный файл командой cat example1.txt . Вы должны увидеть следующее:
Отозвав все права, включая ваши собственные, вы заблокировали доступ к файлу. Но так как файл принадлежит вам, всегда можно вернуть права следующей командой:
Чтобы убедиться что вы можете прочитать данный файл, воспользуйтесь командой cat example1.txt .
Приведем несколько примеров использования команды chmod :
g+w — дает группе-владельцу право на запись;
o-rwx — отбирает все права у остальных пользователей;
u+x — дает владельцу право на выполнение файла;
a+rw — позволяет любому читать и записывать в файл;
ug+r — позволяет владельцу и группе читать файл;
g=rx — позволяет группе читать и исполнять файл (не записывать в него).
Опция -R позволяет изменять права для всего дерева каталогов.
Поскольку каталоги нельзя « исполнять » как приложения, добавление или отмена соответствующего права означает разрешение (или запрет) просмотра каталога.
Например, если вы не позволили остальным пользователям исполнять каталог docs/ , не имеет значения, кому дано право на чтение и запись. Никто не получит доступ к содержимому каталога, если не знает точное имя находящегося в нем файла.
чтобы отозвать у всех пользователей право на исполнение.
Если теперь вы попытаетесь изменить каталог при помощи команды cd docs , получите отказ:
Верните права себе и своей группе:
Если вы сейчас проверите результаты своих действий при помощи команды ls -l , вы увидите, что доступ к каталогу docs/ запрещен только остальным пользователям.
Справочники
Этот параметр политики определяет, какие пользователи могут взять на себя право собственности на любой защищаемый объект на устройстве, включая объекты Active Directory, файлы и папки NTFS, принтеры, ключи реестра, службы, процессы и потоки.
У каждого объекта есть владелец, независимо от того, находится ли объект в томе NTFS или базе данных Active Directory. Владелец контролирует, как устанавливаются разрешения на объекте и кому выданы разрешения.
По умолчанию владельцем является тот, кто или процесс, создавший объект. Владельцы всегда могут изменять разрешения на объекты, даже если им отказано во всем доступе к объекту.
Знакомство с suid и sgid
В момент вашего входа в систему запускается новый процесс оболочки. Вы уже знаете об этом, но можете не знать о том, что этот новый процесс оболочки (обычно это bash) работает от имени вашего пользователя. И таким образом программа bash может обращаться ко всем файлам и директориям, владельцем которых вы являетесь. В действительности мы, как пользователи, полностью зависим от программ, выполняющих операции от нашего имени. И поскольку программы, которые вы запускаете, наследуют ваш пользовательский идентификатор, они не могут обращаться объектам файловой системы, к которым вам не предоставлен доступ. К примеру, обычные пользователи не могут напрямую изменять содержимое файла passwd потому что флаг записи отключен для всех пользователей кроме root:
$ ls -l /etc/passwd
-rw-r--r-- 1 root wheel 1355 Nov 1 21:16 /etc/passwd
Однако, обычным пользователям тоже нужно иметь возможность хотя бы опосредованно менять содержимое /etc/passwd когда им понадобится сменить пароль. Но если пользователь не может изменить этот файл, как это сделать?
К счастью, в модели прав доступа Linux имеются два специальных бита, называемых suid и sgid. Когда для запускаемой программы установлен бит suid, она будет работать от имени владельца исполняемого файла, а не от имени того, кто запустил программу. Теперь можем вернуться к вопросу с /etc/passwd. Если посмотрим на исполняемый файл passwd, увидим, что его владельцем является пользователь root:
$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root wheel 17588 Sep 24 00:53 /usr/bin/passwd
Обратите внимание, что вместо x в триплете прав доступа владельца стоит s. Это означает что для этой конкретной программы установлены биты suid и права на запуск. По этой причине при запуске программы passwd она будет работать от имени пользователя root (со всеми правами доступа суперпользователя), а не пользователя, запустившего её. И поскольку passwd работает с правами суперпользователя, она способна редактировать /etc/passwd без каких либо сложностей.
5.8.1. Права доступа к файлам и каталогам
5.8.1. Права доступа к файлам и каталогам Для каждого каталога и файла вы можете задать права доступа. Точнее права доступа автоматически задаются при создании каталога (файла), а вы, при необходимости, можете их изменить. Какая может быть необходимость?Например, вам нужно,
4.16.1. Команда chmod
Для изменения прав доступа используется команда chmod. В следующем примере мы покажем, как можно изменить права доступа к файлу example1.txt при помощи команды chmod.
Вот как выглядят текущие права доступа к рассматриваемому файлу:
Если вы являетесь владельцем файла или вошли в систему как суперпользователь, вы можете изменить все права доступа и для владельца, и для группы, и для остальных пользователей.
В данный момент владелец и группа могут читать и изменять содержимое файла. Любой другой пользователь, не входящий в группу, может только читать файл (r--).
Помните, что ограничение доступа к файлам — это способ защитить систему. Всякий раз, когда вы разрешаете кому-нибудь читать файл, записывать в него или запускать его на исполнение, вы рискуете, что файл будет изменен или удален. Как правило, доступ к файлу следует разрешать только тем пользователям, которым это действительно необходимо.
В следующем примере показано, как разрешить всем пользователям читать файл, вносить в него изменения и сохранять их. Для этого надо изменить права доступа группы « остальные ».
Введите в командной строке:
На экран будет выведена следующая информация:
Теперь введите такую команду:
Команда o+w означает, что вы даете права « остальным » (« others », обозначается буквой « о ») на запись в файл example1.txt. Чтобы увидеть, к чему привело выполнение указанной команды, опять посмотрим на файл:
Теперь все могут читать и осуществлять запись в файл.
Чтобы запретить чтение файла example1.txt и запись в него, используйте команду chmod.
Команда go-rw сообщает системе, что вы хотите запретить чтение файла example1.txt и запись в него группе и « остальным ».
В результате права доступа будут выглядеть так:
Рассмотренные классы и права являются сокращениями от соответствующих английских слов, поэтому их легко запомнить: все, что нужно помнить, — это несколько символов и букв.
Вот список расшифровок данных сокращений:
u — пользователь, который является владельцем файла (от английского « user »);
g — группа, к которой принадлежит пользователь (от английского « group »);
o — остальные (не владелец и не группа-владелец, от английского « others »);
r — право на чтение;
w — право на запись;
x — право на исполнение.
= — оставляет только данное право.
Хотите проверить ваши знания? Отберите у всех пользователей все права на файл example1.txt.
А сейчас проверьте, можете ли вы прочитать данный файл командой cat example1.txt. Вы должны увидеть следующее:
Отозвав все права, включая ваши собственные, вы заблокировали доступ к файлу. Но так как файл принадлежит вам, всегда можно вернуть права следующей командой:
Чтобы убедиться что вы можете прочитать данный файл, воспользуйтесь командой cat example1.txt.
Приведем несколько примеров использования команды chmod:
g+w — дает группе-владельцу право на запись;
o-rwx — отбирает все права у остальных пользователей;
u+x — дает владельцу право на выполнение файла;
a+rw — позволяет любому читать и записывать в файл;
ug+r — позволяет владельцу и группе читать файл;
g=rx — позволяет группе читать и исполнять файл (не записывать в него).
Опция -R позволяет изменять права для всего дерева каталогов.
Поскольку каталоги нельзя « исполнять » как приложения, добавление или отмена соответствующего права означает разрешение (или запрет) просмотра каталога.
Например, если вы не позволили остальным пользователям исполнять каталог docs/, не имеет значения, кому дано право на чтение и запись. Никто не получит доступ к содержимому каталога, если не знает точное имя находящегося в нем файла.
чтобы отозвать у всех пользователей право на исполнение.
Если теперь вы попытаетесь изменить каталог при помощи команды cd docs, получите отказ:
Верните права себе и своей группе:
Если вы сейчас проверите результаты своих действий при помощи команды ls -l, вы увидите, что доступ к каталогу docs/ запрещен только остальным пользователям.
Рекомендации
- Назначение этого права пользователя может быть угрозой безопасности. Так как владельцы объектов имеют полный контроль над ними, назначьте это право только доверенным пользователям.
Понимание «ls -l»
Давайте рассмотрим вывод команды ls -l. Взглянем на первую колонку листинга:
$ ls -l /bin/bash
-rwxr-xr-x 1 root wheel 430540 Dec 23 18:27 /bin/bash
Первое поле -rwxr-xr-x содержит символическое представление прав на данный файл. Первый знак (-) в этом поле определяет тип файла, в данном случае это обычный файл. Другие возможные значения:
'd' директория
'l' символическая ссылка
'c' устройство символьного ввода-вывода
'b' устройство блочного ввода-вывода
'p' FIFO
's' сокет
Разделение между пользователем, группой и всеми остальными
До сих пор, наши примеры команды chmod влияли на права доступа всех трех наборов прав доступа — пользователя, группы и всех остальных пользователей. Часто бывает удобно изменить только один или два набора за раз. Чтобы сделать это, просто используйте специальный символ для обозначения набора прав доступа, который вам необходимо изменить, со знаком + или — перед ним. Используйте u для пользователя, g для группы и o для остальных пользователей.
$ chmod go-w scriptfile.sh
Мы только что удалили право на запись для группы и всех остальных пользователей, но оставили права владельца нетронутыми.
7.7. Как назначить конкретные права доступа к файлам и папкам в XP Home? Simple File Sharing не выключается.
7.7. Как назначить конкретные права доступа к файлам и папкам в XP Home? Simple File Sharing не выключается. Действительно, в XP Home Simple File Sharing отключить нельзя, и никаких средств для этого в GIU XP Home нет. Но утилика для командной строки, которая это делает, есть. Для того чтобы узнать как она
Уязвимость
Любые пользователи, которые имеют право на владение файлами или другими объектами, могут взять под свой контроль любой объект, независимо от разрешений на этот объект, а затем внести любые изменения, которые они хотят внести в этот объект. **** Такие изменения могут привести к воздействию данных, развращение данных или к отказу в обслуживании.
Об авторах
Изменение suid и sgid
Способ установки и удаления битов suid и sgid чрезвычайно прост. Вот так мы задаем бит suid:
А в следующем примере мы снимаем флаг sgid с директории. Вы увидите, как бит sgid работает с директориями немного ниже:
4.16.2. Определение прав доступа в виде числового кода
Помните сокращенный вариант записи аргументов команды chmod ? Рассмотрим теперь другой способ изменения прав доступа. На первый взгляд он выглядит более сложным.
Вернем первоначальные права доступа к файлу example1.txt :
Каждый тип прав доступа может быть представлен в цифровом виде:
Для установки определенных прав доступа используется сумма этих значений. Например, если вы хотите дать право на чтение и запись, необходимо использовать число 6, так как 4 (чтение) + 2 (запись) = 6.
Вот цифровой эквивалент прав доступа для файла example1.txt :
Сумма прав пользователя равна 6, сумма прав группы равна 6, и сумма прав остальных пользователей равна 4. Права доступа читаются как 664 .
Если вы хотите изменить права доступа таким образом, чтобы пользователи, принадлежащие к вашей группе, могли читать файл, но не могли изменять его, отберите у них соответствующее право вычитанием двойки из соответствующего набора чисел.
Цифровой эквивалент станет равным числу 644.
Чтобы ввести в действие новые настройки, введите:
Теперь проверьте изменения, набрав следующую команду:
Вывод должен быть:
Теперь ни у группы, ни у других пользователей нет права на запись в файл example1.txt . Чтобы вернуть право на запись группе, добавьте значение права на запись (2) ко второму набору разрешений.
Права доступа, зашифрованные как 666, дают всем пользователям право читать и изменять файл или каталог. Права доступа, зашифрованные как 777, дают право любому пользователю читать, изменять и исполнять файл. Данные разрешения позволяют любому изменять важные файлы, поэтому, в общем случае, устанавливать такие разрешения — не лучшая идея.
Вот список некоторых часто используемых настроек, цифровых эквивалентов и их значения:
-rw------- (600) — только владелец имеет права на чтение и изменение файла;
-rw-r--r-- (644) — только у владельца есть права на чтение и изменение; у группы и остальных есть право только на чтение;
-rwx------ (700) — только у владельца файла есть права на чтение, изменение и выполнение файла;
-rwxr-xr-x (755) — у владельца есть права на чтение, изменение и выполнение, а у группы и остальных пользователей — на чтение и выполнение;
-rwx--x--x (711) — у владельца есть права на чтение, изменение и выполнение, а у группы и остальных пользователей — только на выполнение;
-rw-rw-rw- (666) — любой пользователь может читать и изменять файл (будьте осторожны с такими правами);
-rwxrwxrwx (777) — любой пользователь может читать, изменять и выполнять файл (еще раз предупреждаем, что в общем случае использовать такие разрешения опасно).
Некоторые часто встречающиеся разрешения для каталогов:
drwx------ (700) — только владелец может читать и изменять данный каталог;
drwxr-xr-x (755) — владелец может читать и изменять каталог, у пользователей и группы есть право на чтение и выполнение.
Daniel Robbins
Дэниэль Роббинс — основатель сообщества Gentoo и создатель операционной системы Gentoo Linux. Дэниэль проживает в Нью-Мехико со свой женой Мэри и двумя энергичными дочерьми. Он также основатель и глава Funtoo, написал множество технических статей для IBM developerWorks, Intel Developer Services и C/C++ Users Journal.
Кто я?
Перед тем, как мы узнаем как изменить владельца или группу которой принадлежит файл, давайте сперва рассмотрим, как узнать вашего текущего пользователя и группу к которой вы принадлежите. Если вы не использовали команду su недавно, ваш текущий пользователь это тот, которым вы вошли в систему. Если вы часто используете su, вы можете не помнить пользователя под которым вы работаете в данный момент. Чтобы узнать под каким пользователем вы работаете, наберите whoami:
umask
Когда процесс создает новый файл, он указывает, какие права доступа нужно задать для данного файла. Зачастую запрашиваются права 0666 (чтение и запись всеми), что дает больше разрешений, чем необходимо в большинстве случаев. К счастью, каждый раз, когда в Linux создается новый файл, система обращается к параметру, называемому umask. Система использует значение umask чтобы понизить изначально задаваемые разрешения на что-то более разумное и безопасное. Вы можете просмотреть текущие настройки umask набрав umask в командной строке:
$ umask
0022
В Linux-системах значением по умолчанию для umask является 0022, что позволяет другим читать ваши новые файлы (если они могут до них добраться), но не изменять их. Чтобы автоматически обеспечивать больший уровень защищенности для создаваемых файлов, можно изменить настройки umask:
$ umask 0077
Такое значение umask приведет к тому, что группа и прочие не будут иметь совершенно никаких прав доступа для всех, вновь созданных файлов. Итак, как работает umask? В отличие от «обычного» назначения прав доступа к файлу, umask задает какие права доступа должны быть отключены. Снова посмотрим на таблицу соответствия значений чисел и методов:
Воспользовавшись этой таблицей мы видим, что последние три знака в 0077 обозначают ---rwxrwx. Теперь вспомните, что umask показывает системе, какие права доступа отключить. Совместив первое и второе становится видно, что все права для группы и остальных пользователей будут отключены, в то время как права владельца останутся нетронутыми.
Значения по умолчанию
По умолчанию этот параметр — администраторы на контроллерах домена и на автономных серверах.
В следующей таблице приведены фактические и действующие значения по умолчанию для этой политики. Значения по умолчанию также можно найти на странице свойств политики.
Тип сервера или объект групповой политики | Значение по умолчанию |
---|---|
Default Domain Policy | Не определено |
Политика контроллера домена по умолчанию | Администраторы |
Параметры по умолчанию для автономного сервера | Администраторы |
Действующие параметры по умолчанию для контроллера домена | Администраторы |
Действующие параметры по умолчанию для рядового сервера | Администраторы |
Действующие параметры по умолчанию для клиентского компьютера | Администраторы |
Числовой синтаксис прав доступа
Числовой синтаксис прав доступа особенно полезен когда требуется указать все разрешения для файла, как показано в следующем примере:
$ chmod 0755 scriptfile.sh
$ ls -l scriptfile.sh
-rwxr-xr-x 1 drobbins drobbins 0 Jan 9 17:44 scriptfile.sh
В этом примере мы назначили права доступа 0755, что равносильно комбинации прав -rwxr-xr-x.
Групповая политика
Параметры применяются в следующем порядке с помощью объекта групповой политики (GPO), который перезаписывал параметры на локальном компьютере при следующем обновлении групповой политики:
- Параметры локальной политики
- Параметры политики сайта
- Параметры политики домена
- Параметры политики подразделения
Когда локальный параметр серый, он указывает, что GPO в настоящее время контролирует этот параметр.
Владелец файла и права доступа
Владелец файла и права доступа Средства защиты Linux базируются на понятиях принадлежности файла определенному владельцу и правах доступа к нему, принятых в системе UNIX. Однако SMB/CIFS использует те же признаки несколько по-другому. Средства SMB/CIFS регистрируют пользователей,
Управление политикой
В этом разделе описаны компоненты, средства и рекомендации, которые помогут в управлении этой политикой.
Перезагрузка устройства не требуется для того, чтобы этот параметр политики был эффективным.
Изменения прав пользователя вступают в силу при его следующем входе в учетную запись.
Право собственности можно получить по:
- Администратор. По умолчанию группе администраторов предоставляется право на владение файлами или другими объектами.
- Любой пользователь или любая группа, у которых есть пользователь Take ownership прямо на объекте.
- Пользователь, который имеет право на восстановление файлов и каталогов.
Право собственности может быть передано следующим образом:
- Текущий владелец может предоставить право пользователя take ownership другому пользователю, если он является членом группы, определенной в маркере доступа текущего владельца. Чтобы завершить передачу, пользователь должен взять на себя ответственность.
- Администратор может взять на себя ответственность.
- Пользователь, у **** которого есть право на восстановление файлов **** и каталогов, может дважды щелкнуть другие пользователи и группы и выбрать любого пользователя или группу для назначения права собственности.
11.3.5. Смена владельца и группы файла
Изменение пользователя и группы владельца
Чтобы изменить владельца или группу файла (или другого объекта) используется команды chown или chgrp соответственно. Сначала нужно передать имя группы или владельца, а потом список файлов.
Вы не можете использовать команду chown без прав суперпользователя, но chgrp может быть использована всеми, чтобы изменить группу-владельца файла на ту группу, к которой они принадлежат.
Возможные значения
- Определяемый пользователей список учетных записей
- Не определено
Сброс разрешений
Помимо переключения бит, отвечающих за права доступа, в состояние вкл/выкл, мы можем задать конкретные значения для всех сразу. Используя оператор равенства мы можем указать chmod, что хотим задать только указанные права доступа:
$ chmod =rx scriptfile.sh
Этой командой мы установили все биты чтения и исполнения и сбросили все биты записи. Если вы хотите задать значения конкретной тройки бит, то можете сделать это, указав ее символьное наименование перед оператором равенства:
$ chmod u=rx scriptfile.sh
5.10 CМЕНА ВЛАДЕЛЬЦА И РЕЖИМА ДОСТУПА К ФАЙЛУ
5.10 CМЕНА ВЛАДЕЛЬЦА И РЕЖИМА ДОСТУПА К ФАЙЛУ Смена владельца или режима (прав) доступа к файлу является операцией, производимой над индексом, а не над файлом. Синтаксис вызова соответствующих системных функций:chown(pathname, owner, group)chmod(pathname, mode)Для того, чтобы поменять владельца
Разграничение доступа к файлам
Разграничение доступа к файлам В Windows Vista можно управлять правами доступа к файлам и папкам для различных пользователей. Эта возможность реализована в файловой системе NTFS в виде разрешений, которые хранятся для каждого файла или папки вместе с именем, размером, датой и
Второй отрывок третьей части серии руководств Linux для новичков. В котором вы сможете узнать, об одном из основных средств обеспечения безопасности в Linux. А именно, правах доступа и модели владения файлами.
Навигация по основам Linux от основателя Gentoo:
Часть I:
Часть II:
Часть III
5.5. Смена владельца, прав доступа и времени изменения
5.5. Смена владельца, прав доступа и времени изменения Несколько других системных вызовов дают вам возможность изменять другие относящиеся к файлу сведения: в частности, владельца и группу файла, права доступа к файлу и времена доступа и изменения
5.8. Права доступа и атрибуты файла. Команды chown, chmod и chattr
5.8. Права доступа и атрибуты файла. Команды chown, chmod и chattr 5.8.1. Права доступа к файлам и каталогам Для каждого каталога и файла вы можете задать права доступа. Точнее права доступа автоматически задаются при создании каталога (файла), а вы, при необходимости, можете их
Один пользователь, одна группа
В этом разделе мы рассмотрим права доступа в Linux и модель владения (ownership). Мы уже видели, что каждый файл принадлежит одному пользователю и одной группе. Это сама суть модели прав доступа в Linux. Вы можете узнать, какому пользователю и группе принадлежит файл в выводе команды ls -l.
$ ls -l /bin/bash
-rwxr-xr-x 1 root wheel 430540 Dec 23 18:27 /bin/bash
В данном примере исполнимый файл /bin/bash принадлежит пользователю root и группе wheel. Модель прав доступа позволяет задать три независимых уровня прав на каждый объект файловой системы — для владельца, для группы и для всех остальных пользователей.
Неуловимый первый знак
В завершение этого раздела мы наконец обратим внимание на первый знак, используемый в численном синтаксисе. Он используется для задания битов sticky, suid и sgid:
Ниже приведен пример того, как использовать 4-значный режим для установки прав доступа на директорию, которая будет использоваться рабочей группой:
В качестве домашней работы выясните что значит 1755 в настройках прав доступа. :)
Продолжение следует.
Chris Houser
Крис Хаусер был сторонником UNIX c 1994 года, когда присоединился к команде администраторов университета Тэйлора (Индиана, США), где получил степень бакалавра в компьютерных науках и математике. После он работал во множестве областей, включая веб-приложения, редактирование видео, драйвера для UNIX и криптографическую защиту. В настоящий момент работает в Sentry Data Systems. Крис также сделал вклад во множество свободных проектов, таких как Gentoo Linux и Clojure, стал соавтором книги The Joy of Clojure.
Противодействие
Убедитесь, что право пользователя на владение файлами или другими объектами имеет только группа локальных администраторов.
5.5. Смена владельца, прав доступа и времени изменения
5.5. Смена владельца, прав доступа и времени изменения Несколько других системных вызовов дают вам возможность изменять другие относящиеся к файлу сведения: в частности, владельца и группу файла, права доступа к файлу и времена доступа и изменения
5.5.1. Смена владельца файла: chown() , fchown() и lchown()
4.5. Права доступа к файлам и каталогам
4.5. Права доступа к файлам и каталогам Поскольку Linux - система многопользовательская, вопрос об организации разграничения доступа к файлам и каталогам является одним из существенных вопросов, которые должна решать операционная система. Механизмы разграничения доступа,
Возможное влияние
Нет. Ограничение права пользователя на владение файлами или другими объектами в локальной группе администраторов — это конфигурация по умолчанию.
Это была демонстрация одного из способов защиты системы в Linux. Linux, как и UNIX, является многопользовательской системой и разрешение доступа к файлам — это один из способов ее защиты от злонамеренного вмешательства.
Как мы рассказывали ранее, один из способов получения доступа к требуемому файлу или каталогу, в доступе к которому вам отказано, — ввести в командной строке su -. Человек, знающий пароль суперпользователя, имеет доступ ко всему.
Но переход к профилю суперпользователя не всегда удобен и не может быть рекомендован, так как всегда существует возможность сделать ошибку и изменить важный конфигурационный файл.
Все файлы и каталоги « находятся в собственности » пользователя, который их создал. Ранее вы создавали файл example1.txt (вспомните Разд. 4.12.1, Перенаправление стандартного вывода) в вашем домашнем каталоге, таким образом вы являетесь владельцем файла example1.txt.
Это означает, что вы можете указать, кому разрешено читать этот файл, кто может записывать текст в этот файл, или (если это программа, а не текстовый файл) кто может запускать его на исполнение.
Чтение, запись и запуск на исполнение — вот три действия, на которые требуется разрешение. Так как пользователи при создании учетных записей делятся на группы, вы можете также указать, имеет ли конкретная группа права на чтение, запись или запуск файла на исполнение.
Давайте рассмотрим более тщательно, что сообщает о файле example1.txt команда ls с опцией -l:
Выдается много подробностей. Можно видеть, кто имеет право на чтение (r) и запись (w) в файл, а также кто создал файл (user) и к какой группе принадлежит этот пользователь (user). Напоминаем, что по умолчанию имя группы, к которой принадлежит пользователь, совпадает с именем пользователя.
Остальная информация, выведенная справа от колонки групп, сообщает размер файла, дату и время его создания и его имя.
В первой колонке показаны текущие права доступа. Здесь имеется десять позиций. В первой позиции указывается тип файла. В оставшихся девяти выводятся права доступа для трех классов пользователей.
Три класса пользователей — это владелец файла, члены группы, являющейся владельцем файла, и « остальные », то есть остальные пользователи системы.
В первой позиции, где указывается тип файла, может быть выведено что-то из следующего списка:
- (дефис) — обычный файл (не каталог и не символьная ссылка на другой файл);
l — символьная ссылка на другой файл или программу где-то в системе.
Далее идут три набора по три символа. Это могут быть:
r — разрешено чтение файла;
w — разрешена запись в файл;
x — разрешено запускать файл на исполнение (если это программа);
- (дефис) — конкретное право не дано.
Если вы видите дефис в классе владельца, группы или остальных, это означает, что действие над файлом не разрешено. Вернемся к файлу example1.txt и определим права доступа к нему.
Владелец файла (в данном случае это user) может читать файл и записывать в него информацию. Группа, тоже user, также может читать файл example1.txt и записывать в него информацию. Этот файл не является программой, поэтому ни владелец, ни группа не могут запустить его на исполнение.
Директории и удаление
По умолчанию директории в Linux ведут себя не самым удобным во многих ситуациях образом. Обычно кто угодно может переименовать или удалить файл внутри директории если у них есть права на запись в этой директории. Для директорий, которыми владеют отдельные пользователи, такое поведение обычно не вызывает проблем.
Однако для директорий, которыми пользуется большое количество пользователей, в особенности /tmp и /var/tmp, это может вызвать целую кучу проблем. Все потому, что кто угодно может писать в эти директории, кто угодно может удалять и переименовывать чьи угодно файлы — даже если они им не принадлежат! Очевидно, довольно сложно использовать /tmp даже для временного хранения чего угодно, когда любой пользователь в любой момент может напечатать rm -rf /tmp/* и уничтожить файлы всех остальных.
Хорошая новость в том, что в Linux существует так называемый sticky бит. Когда для /tmp установлен sticky бит (командой chmod +t), единственные, кто могут удалить или переименовать файлы в /tmp — это либо владельцы этих файлов либо суперпользователь.
Рекурсивное изменение прав
Команды chown и chgrp могут быть использованы с параметром -R, что позволяет рекурсивно изменить владельца или группу у всех объектов в данной директории и ниже. Пример:
1.3. Права доступа к файлам
1.3. Права доступа к файлам Давайте создадим файл, используя команду touch:$ touch myfileТеперь выполним команду ls -1:$ ls -1 myfile-rw?r--r-- 1 dave admin 0 Feb 19 22:05 myfileМы получили пустой файл, и, как и ожидалось, первый символ в строке режима свидетельствует о том, что это обычный файл. В результате
Вопросы безопасности
В этом разделе описывается, каким образом злоумышленник может использовать компонент или его конфигурацию, как реализовать меры противодействия, а также рассматриваются возможные отрицательные последствия их реализации.
5.8.2. Смена владельца файла
5.8.2. Смена владельца файла Если вы хотите «подарить» кому-то файл, т. е. сделать какого-то пользователя владельцем файла, то вам нужно использовать команду chown: chown <пользователь> <файл> Примечание Возможно, что после изменения владельца файла вы сами не сможете
Определение доступа к файлам поддержки
Определение доступа к файлам поддержки На вкладке Files диалогового окна Options, показанной на рис. 3.1, задаются пути доступа к файлам поддержки, где хранятся шрифты, шаблоны рисунков, типы линий и образцы штриховок, используемые AutoCAD. Здесь перечисляются все пути доступа к
Директории и флаг sgid
В случае же, если для директории установлен бит sgid, все объекты файловой системы, создаваемые внутри, наследуют группу директории. Эта возможность бывает кстати, когда вам необходимо создать дерево директорий и все они должны принадлежать одной группе. Это можно сделать вот так:
Теперь любые пользователи группы mygroup могут создавать файлы и директории внутри /home/groupspace и им также будет автоматически задана принадлежность группе mygroup. В зависимости от настроек umask для данного пользователя новые объекты файловой системы могут быть или не быть читаемыми, изменяемыми или исполняемыми другими пользователями группы mygroup.
Определение доступа к файлам поддержки
Определение доступа к файлам поддержки На вкладке Files диалогового окна Options, показанной на рис. 3.1, задаются пути доступа к файлам поддержки, где хранятся шрифты, шаблоны рисунков, типы линий и образцы штриховок, используемые AutoCAD. Здесь перечисляются все пути доступа к
Location
Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment
4.16.2. Определение прав доступа в виде числового кода
Помните сокращенный вариант записи аргументов команды chmod? Рассмотрим теперь другой способ изменения прав доступа. На первый взгляд он выглядит более сложным.
Вернем первоначальные права доступа к файлу example1.txt:
Каждый тип прав доступа может быть представлен в цифровом виде:
Для установки определенных прав доступа используется сумма этих значений. Например, если вы хотите дать право на чтение и запись, необходимо использовать число 6, так как 4 (чтение) + 2 (запись) = 6.
Вот цифровой эквивалент прав доступа для файла example1.txt:
Сумма прав пользователя равна 6, сумма прав группы равна 6, и сумма прав остальных пользователей равна 4. Права доступа читаются как 664.
Если вы хотите изменить права доступа таким образом, чтобы пользователи, принадлежащие к вашей группе, могли читать файл, но не могли изменять его, отберите у них соответствующее право вычитанием двойки из соответствующего набора чисел.
Цифровой эквивалент станет равным числу 644.
Чтобы ввести в действие новые настройки, введите:
Теперь проверьте изменения, набрав следующую команду:
Вывод должен быть:
Теперь ни у группы, ни у других пользователей нет права на запись в файл example1.txt. Чтобы вернуть право на запись группе, добавьте значение права на запись (2) ко второму набору разрешений.
Права доступа, зашифрованные как 666, дают всем пользователям право читать и изменять файл или каталог. Права доступа, зашифрованные как 777, дают право любому пользователю читать, изменять и исполнять файл. Данные разрешения позволяют любому изменять важные файлы, поэтому, в общем случае, устанавливать такие разрешения — не лучшая идея.
Вот список некоторых часто используемых настроек, цифровых эквивалентов и их значения:
-rw------- (600) — только владелец имеет права на чтение и изменение файла;
-rw-r--r-- (644) — только у владельца есть права на чтение и изменение; у группы и остальных есть право только на чтение;
-rwx------ (700) — только у владельца файла есть права на чтение, изменение и выполнение файла;
-rwxr-xr-x (755) — у владельца есть права на чтение, изменение и выполнение, а у группы и остальных пользователей — на чтение и выполнение;
-rwx--x--x (711) — у владельца есть права на чтение, изменение и выполнение, а у группы и остальных пользователей — только на выполнение;
-rw-rw-rw- (666) — любой пользователь может читать и изменять файл (будьте осторожны с такими правами);
-rwxrwxrwx (777) — любой пользователь может читать, изменять и выполнять файл (еще раз предупреждаем, что в общем случае использовать такие разрешения опасно).
Некоторые часто встречающиеся разрешения для каталогов:
drwx------ (700) — только владелец может читать и изменять данный каталог;
drwxr-xr-x (755) — владелец может читать и изменять каталог, у пользователей и группы есть право на чтение и выполнение.
Это была демонстрация одного из способов защиты системы в Linux. Linux, как и UNIX, является многопользовательской системой и разрешение доступа к файлам — это один из способов ее защиты от злонамеренного вмешательства.
Как мы рассказывали ранее, один из способов получения доступа к требуемому файлу или каталогу, в доступе к которому вам отказано, — ввести в командной строке su - . Человек, знающий пароль суперпользователя, имеет доступ ко всему.
Но переход к профилю суперпользователя не всегда удобен и не может быть рекомендован, так как всегда существует возможность сделать ошибку и изменить важный конфигурационный файл.
Все файлы и каталоги « находятся в собственности » пользователя, который их создал. Ранее вы создавали файл example1.txt (вспомните Разд. 4.12.1, Перенаправление стандартного вывода) в вашем домашнем каталоге, таким образом вы являетесь владельцем файла example1.txt .
Это означает, что вы можете указать, кому разрешено читать этот файл, кто может записывать текст в этот файл, или (если это программа, а не текстовый файл) кто может запускать его на исполнение.
Чтение, запись и запуск на исполнение — вот три действия, на которые требуется разрешение. Так как пользователи при создании учетных записей делятся на группы, вы можете также указать, имеет ли конкретная группа права на чтение, запись или запуск файла на исполнение.
Давайте рассмотрим более тщательно, что сообщает о файле example1.txt команда ls с опцией -l :
Выдается много подробностей. Можно видеть, кто имеет право на чтение (r) и запись (w) в файл, а также кто создал файл (user) и к какой группе принадлежит этот пользователь (user). Напоминаем, что по умолчанию имя группы, к которой принадлежит пользователь, совпадает с именем пользователя.
Остальная информация, выведенная справа от колонки групп, сообщает размер файла, дату и время его создания и его имя.
В первой колонке показаны текущие права доступа. Здесь имеется десять позиций. В первой позиции указывается тип файла. В оставшихся девяти выводятся права доступа для трех классов пользователей.
Три класса пользователей — это владелец файла, члены группы, являющейся владельцем файла, и « остальные », то есть остальные пользователи системы.
В первой позиции, где указывается тип файла, может быть выведено что-то из следующего списка:
- (дефис) — обычный файл (не каталог и не символьная ссылка на другой файл);
l — символьная ссылка на другой файл или программу где-то в системе.
Далее идут три набора по три символа. Это могут быть:
r — разрешено чтение файла;
w — разрешена запись в файл;
x — разрешено запускать файл на исполнение (если это программа);
- (дефис) — конкретное право не дано.
Если вы видите дефис в классе владельца, группы или остальных, это означает, что действие над файлом не разрешено. Вернемся к файлу example1.txt и определим права доступа к нему.
Владелец файла (в данном случае это user) может читать файл и записывать в него информацию. Группа, тоже user, также может читать файл example1.txt и записывать в него информацию. Этот файл не является программой, поэтому ни владелец, ни группа не могут запустить его на исполнение.
Три тройки
$ ls -l /bin/bash
-rwxr-xr-x 1 root wheel 430540 Dec 23 18:27 /bin/bash
Остальная часть поля состоит из трех троек символов. Первая тройка представляет права владельца файла, вторая представляет права группы файла и третья права всех остальных пользователей.
"rwx"
"r-x"
"r-x"
Выше r означает, что чтение (просмотр данных содержащихся в файле) разрешено, w означает запись ( изменение, а также удаление данных) разрешено и x означает исполнение (запуск программы разрешен). Собрав все воедино мы видим, что кому угодно разрешено читать содержимое и исполнять этот файл, но только владельцу (root) разрешено как либо модифицировать этот файл. Так что если нормальным пользователям разрешено копировать содержимое этого файла, то только root может изменять или удалять его.
Читайте также: