The UNIX and Linux Forums  
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.

Go Back   В UNIX и Linux Форумы > Топ форумы > UNIX для чайников Вопросы И Ответы > Ответы на часто задаваемые вопросы > Советы и руководства
.
Google unix.com



Советы и руководства Полезные статьи от наших пользователей.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Чтобы дать "Unzip" разрешений И "создает" файл Mike1234 HP-UX 3 03-02-2008 05:34 PM
Unix разрешений mobershaw SUN Solaris 0 01-24-2006 06:06 PM
UNIX файл jerardfjay UNIX перспективных И опытных пользователей 3 03-15-2005 12:25 PM
Unix разрешений moukoko UNIX для чайников Вопросы И Ответы 2 03-11-2004 08:12 AM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценка: Thread Rating: 6 votes, 4.83 average. Режимы дисплея
Old 05-28-2005
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Регистрация: август 2001
Место проведения: Ashburn, Вирджиния
Сообщения: 9122
Unix файлу

Введение

Я видел некоторые дезинформацию относительно Unix файлу. Я буду пытаться установить истину. Взгляните на этот пример некоторых выходе из Ls:
Код:
$ ls -ld /usr/bin /usr/bin/cat
drwxrwxr-x   3 root     bin         8704 Sep 23  2004 /usr/bin
-r-xr-xr-x   1 bin      bin         9388 Jul 16  1997 /usr/bin/cat
$
На первой линии, что "коренные" говорит о том, что директория принадлежит пользователю называемых "корней". И о том, что "бен" является группа из каталога. Вам необходимо понять, пользователей и групп, и я буду считать, что вы делаете. Моя цель состоит в том, чтобы объяснить, что "drwxrwxr-х" и "-R-XR-XR-х" вещи. Это поле представляет собой комбинацию из файла типа и разрешения доступа. В совокупности эта информация иногда называют Файл режиме. А иногда оно называется разрешений. Хорошее место для начала путем принятия беглый взгляд на то, как эта информация действительности, хранящиеся на диске. Как это хранится влияет целый ряд решений, которые были сделаны за последние годы.

Как "Файл Mode" в Интернете.

На диск, информация о файле хранится в структуре называется "индексного дескриптора". Каждый файл будет иметь свой собственный индексного дескриптора. Один пункт, данные в индексного дескриптора называется "режим", и он выглядит так:
Код:
 |------file mode------|
 |                     |
 |
 |       |----full-----|
         |
 |-type| |   |--basic--|
 |     | |   |         |
 oo0 000 000 000 000 000
 ... ... ... ... ... ...
    |     |   |   |   |
    |     |   |   |   |---- rwx for other
    |     |   |   |
    |     |   |   |-------- rwx for group
    |     |   |
    |     |   |------------ rwx for user
    |     |
    |     |---------------- set uid, set gid, sticky bit
    |
    |---------------------- file type: regular (-)
                                       directory (d)
                                       character special (c)
                                       block special (b)
                                       fifo (p)
                                       symbolic link (l)
                                       socket (s)
Я думаю, что "режим" действительно означает только разрешения, и о том, что тип файла был shoved, чтобы сохранить пространство. Но автор из Ls программа лечения режиме в качестве отдельного пункта повестки дня. Вот почему тип файла первый символ разрешения строку в "LS-L" производства. Файл типа, как правило, будет один из семи видов, которые я показываю выше. Некоторые версии Unix будет добавить еще несколько. Единственная вещь заметить из данных формата заключается в том, что нет места для добавления дополнительных разрешений бит.

Представляя эти разрешения в восьмеричные

Определенный артикль Ls Программа может отображать, например, "rwxrwxrwx" для разрешения на файл. Также очень распространены использовать восьмеричное число выразить разрешения на файл. И как вы видите выше, это заключается в том, как они хранятся. Вы можете слышать, что кто-то имеет около 777 разрешений. Это то же самое, как "rwxrwxrwx" и гораздо легче произнести. Так что вы должны знать о том, как преобразовать их. Три двоичных разрядов или битов соответствует одной восьмеричной цифрой:

Код:
  421
  rwx
Так что "читать бит на сумму 4, написать бит на сумму 2 и выполнить разрядные стоит 1. Вы просто добавить их до получения восьмеричной цифрой. Так"-rwxrwxrwx "является 777. И"-rwxr-х -- - "750. Если вы все еще не могу понять, как получить от" RX "на 5, может быть, эта таблица поможет:

Код:
--- = 0
--x = 1
-w- = 2
-wx = 3
r-- = 4
r-x = 5
rw- = 6
rwx = 7
Примечание нам нужно 4 восьмеричных цифр, чтобы выразить все разрешения бит. Первые три бита специальных и часто нулю. И вы всегда узнаете о трейлинг 9 бит в первую очередь. Некоторые люди останавливаются на этом и никогда не получить этих первых трех разрядов. Но Есть разрешение 12 бит, а не только 9. Тем не менее, давайте теперь взглянем на завершающих 9 бит.

Основные Разрешение Биты

У нас есть 3 троек: один тройной для пользователя, один трехместный для группы, и одна тройная для других. Иногда "пользователь" называют владельца. А иногда "другие" называется "Мир". Я буду использовать "пользователь" и "других", потому что Chmod команда использует буквы UG и о сослаться на этих троек.

Какой набор бит применима к вам?

Когда Unix решит, что вы можете сделать, это не использовать все 9 разрядов. Unix выбирает первый тройной, что относится к вам. Возьмем такой пример:
Код:
----rwxrwx   1 joe        users           29 Mar 22 19:39 somefile
Даже Джо владеет этот файл, то он не может получить к нему доступ. (С Джо является владельцем файла, он может дать себе доступ. Подробнее об этом позже.) Кроме того, корень особенного. корень предоставляется rwx для всех каталогов и RW на все файлы. Об одном файле, если любой из 3-х бит установлен, корень имеет исполнить разрешения. Это специальное разрешение часто инвалиды по сети смонтированные файловые системы.

Что делать RW и х действительно означают для файла?

Для файла, "читать" и "Write" довольно интуитивным. Х за "выполнение" означает, что ядро может попытаться запустить файл. Для того чтобы работать, файл должен быть исполняемым (выход из компилятора), или скрипт с "#"! Первая строка. В каталог, все немного сложнее. В каталог ", пишут" разрешение означает, что вы можете создавать новые файлы в каталоге или удалять старые файлы. Иногда удивляет людей, что вы можете удалить файл, который вы не можете читать. Юникса РМ команда станет проверкой для этого и выдает предупреждение, но его можно подавить это предупреждение с-F. И предупреждение, или нет, если вы хотите удалить файл читается из записи каталога, вы можете. И rmdir не будет беспокоить, чтобы проверить на всех.

Что делать RW и х действительно означают для каталога?

Справочник представляет собой файл, и "читать" разрешение означает, что вы можете прочитать ее. Но вы действительно не можете сделать очень многое без разрешения х а. В каталогах, вы, как правило, так читать и выполнять разрешение или ни. В каталоге, который х официально называется "Поиск разрешения". Нужно X использовать каталог в путь. Так что если вы попытаетесь "CAT / ETC / пароль", вам понадобится х на / и т.д. Вы также должны х на компакт-диск в каталог. Предположим, вы читали, но не поиск (х) разрешение на каталог. Что можно сделать? Не так много. Вы можете использовать "Ls", чтобы просматривать имена файлов. Даже "LS-л" не будет работать. Читать доступа поиска без разрешения не очень полезно. Но это лучше, чем писать только разрешение на каталог ... это абсолютно бесполезно. Я не видела каких-либо других документов, что государства этого явно, так что позвольте мне повторить: написать, но не выполнить разрешение на каталог субсидий ничего не all.Suppose вы поиск (х) разрешение, но не читать разрешения на каталог. Теперь вы можете открывать файлы в директории, если вы знаете этот файл имя. Вы можете CD в каталог. А что это такое. Вы не можете даже создавать новый файл. Добавить запись позволит вам создавать файлы. И вы можете удалить файлы, если вы знаете свое имя.

Символьные ссылки специальные

Разрешение настройки символическую ссылку являются мало специальных а. Они полностью проигнорировали. Многие версии Unix имеют никакой возможности изменить их.

В Setuid и Setgid Биты

Взгляните на это:
Код:
$ ls -l /etc/passwd /etc/shadow /usr/bin/passwd
-r--r--r--   1 root     sys        14006 Jan 14 11:17 /etc/passwd
-r--------   1 root     sys         8281 Jan 14 11:18 /etc/shadow
-r-sr-sr-x   3 root     sys        96244 Sep  5  2001 /usr/bin/passwd
В пароль файла записи только суперпользователем (Помните, что корень особенного. Она может записать файл, который не имеет записи установлен). В тени файлов, где хранятся пароли, даже не может быть прочитан обычными пользователями. Но Джо хочет сменить свой пароль. Он может сделать это с помощью команды / USR / BIN / пароль. Уведомление этих RS разрешений. В пароль программа имеет SUID и SGID биты установить. Это превращается в Х в S's. В восьмеричной, это будет 6555. В пароль программу принадлежат суперпользователю. Когда Джо работает, она не запускается, как "Джо". Вместо этого, он работает как владельцем которого является корневой. Таким образом, пароль можно изменить программу Джо пароль для него. В SGID битных работает таким же образом, за исключением его вызывает пароль для запуска программы с группой системы вместо Джо группы. В SUID и SGID не свою собственную позицию в Ls. Когда SUID бит установлен, Ls дисплеев, как топор, а не на собственника выполнить разрешения. Что делать, если SUID бит установлен, но собственник выполнить разрядные выключен? Ls будет отображаться в столице S по этому делу. В SGID бит отображаются в том же порядке, за исключением того, что она взаимодействует с группой исполнить разрешения. (Набор UID концепция изобрел Деннис Ритчи, как он развивался Unix.)

Чтобы развернуть на вещи немного, в то время как Джо запущен SUID к корневой пароль программу "Joe" является реальным UID и "коренные" является эффективным UID. В программу пароль, могут получить оба эти идентификаторы, если она хочет. Таким образом, программа знает пароль, чтобы Джо менять только Джо пароль.

В Прилепленная Bit

Определенный артикль Posix стандарт говорит, что если липкое бит установлен на каталог, просто напишите разрешения на каталог уже недостаточно, чтобы файлы, которые будут удалены. Необходимо дополнительно собственный файл или собственной директории. корень продолжает иметь возможность исключить из любого каталога, независимо от разрешения. Ранее эта битных служил другой цели. О некоторых ОС она по-прежнему делает. Я буду подробно в приложении ниже. В липкое битных влияет на "другие" выполнить разрядные в Ls отображать. За исключением, что он использует T и T, а не S и С. Например:
Код:
drwxrwxrwt   5 root       root          1024 Feb 11 20:43 /tmp
В / TMP директорию выше, кто может создавать новые файлы. Но из-за липкого бита, один пользователь не может удалить пользователя файлы.

Ограничение на файл с umask

Когда файлы будут созданы программы, которые создают можете указать первоначальную настройку разрешения. Вы можете переопределить что umask. В umask это набор запрещающие бит. Существует одна команда umask, что позволяет Вам просматривать и изменять umask. Например, "umask 022" запрещает писать группы и другие написать на вновь созданные файлы. Или "umask 027" запрещает писать группы и запрещает другим читать, писать или исполнять. Вы можете сделать "umask 0", чтобы позволить программе сделать то, что он хочет, как он создает программы. Но вы не можете идти дальше. Вы не можете заставить программу в свою очередь, чуть далее. В umask настройка влияет на файлы, каталоги, именованные каналы (ака FIFOs), и специальные файлы. Оно может не сказаться символические ссылки. Это также влияет на somes формы Интер процесса коммуникации, а это выходит за рамки данной статьи. И хотите верьте, хотите нет, названный сокеты освобождаются от umask. Это исключение требуемый автор Posix.

Изменение файл с Chmod

Только владелец файла или корня можно изменить разрешения на файл. Эта операция не на всех пострадавших в umask настройки. При изменении разрешений на символические ссылки, ссылка будет, и вы измените целевой файл. Вполне возможно, что только коренные будет обладать полномочиями для установки файла липкого бита. Так, например, "Chmod 700 somefile" Wil позволить владельцу читать, писать и выполнять файл, а оставить все доступ к каким-либо другим пользователям.

Использование режима с Символьные Chmod и umask

Posix введен новый синтаксис для Chmod команды. Идея заключалась в том, что новый синтаксис заменит использование в восьмеричной константы с Chmod команды. В восьмеричной константы прежнему разрешено, и я думаю, что здесь, чтобы остаться. Но новый символический синтаксис позволяет изменять несколько битов, не зная, что остальные. Например, скажем, что я хочу сделать файл недоступным для других, но я не о том, что для изменения acess для пользователя или группы. Я должен делать:
LS-L файл
Взгляните на файл и выяснить текущие настройки.
Chmod 750 файлов
Я должен был определить, что первые две цифры токов 7 и 5, прежде чем я мог бы сделать мои Chmod команды. Что нового синтаксиса, я могу просто сделать:
Chmod O \u003d файл
Чтобы отключить заключительный 3 бита. В качестве другого примера, "Chmod U + X файл" позволит пользователю выполнить файл. С другой стороны, эти две команды эквивалентны:
Chmod 750 файлов
Chmod U \u003d rwx, G \u003d RX, O \u003d файл
и я предпочитаю первое синтаксиса.

Символическое режим может быть, разделенных запятыми список спецификаций. Каждая спецификация состоит из трех компонентов: <who> <operation> <bitlist>
Код:
The who part can be:
u  (user)
g  (group)
o  (other)
a  (all)
   (whatever is allowed by umask (subset of all))

The operator can be  = or - or +
= (set bits to bitlist)
- (subtract bitlist from current bit
+ (add bitllist to current bits)

The bitlist can be one of the following letters:
r (read permission)
w (write permission)
x (execute permision)
X (conditional execute permision)
u (current permissions for user)
g (current permissions for group)
o (current permissions for others)
s (set uid or set gid)
t (sticky bit)
Х такая же, как и х, если файл является nondirectory и в настоящее время не имеет х битов набора. С (набор UID или GID) может быть указано только для пользователя или группы, разрешения. Т может быть указано только для пользователей. Несколько примеров с помощью. Выше мы видели / USR / BIN / пароль был 6555 (-R-SR-SR-х в Ls). Вот несколько способов, которые могут быть достигнуты:
Chmod 6555 / USR / BIN / пароль
Chmod U \u003d rxs, G \u003d rxs, O \u003d RX / USR / BIN / пароль
Chmod UG \u003d rxs, O \u003d RX / USR / BIN / пароль
Chmod A \u003d RX, мкг + S / USR / BIN / пароль
И Есть много других способов для этого.

По большей части Chmod непобедимая umask в том, что независимо от биты он хочет установить не изменяются в соответствии с umask. Тем не менее, в одном состоянии, Chmod команда будет изучать текущее значение umask для определения того, какой бит он хотел бы установить. Это происходит, когда вы оставляете в "кто" поле пустым. Подобно этому:
Chmod \u003d W somefile
Разница между "\u003d W" и "\u003d W" является тонким. Вот пример, который может помочь. Многие программы пытаются создать файл с 666 (-RW-RW-RW-) разрешения. Но это становится Изменения в umask. Предположим, вы хотите установить файл до 666, но изменена нынешняя umask. Можно отключить все биты, а затем включите читать и писать биты, которые позволили в текущем umask:

Chmod A \u003d, \u003d RW somefile

И говоря о umask можно использовать символическое аргументы с umask команда также. Однако, PosixВ свою мудрость, решили, что в данном случае логика будет обращена вспять. Так что, если использовать umask с восьмеричные аргумента указывается биты должно быть запрещено. Но если вы используете umask с символическим аргументом, можно указать, чтобы бит. Так они эквивалентны:
umask 022
umask U \u003d rwx, перейдите \u003d RX

Резюме

На данный момент у Вас есть достаточно информации, чтобы понять основном те разрешение 12 бит. Есть несколько особых случаев, о том, что я проигнорировал или приукрасить. В отдельных должностей ниже, я буду решать эти. Информация в этот первый пост очень много универсальным. Неопределенный артикль Posix совместимые ОС должна поддерживать этот материал. , Который охватывает почти все версии Unix выпущены в последние 10 лет. В следующих статьях обсудить особенности, которые не могут быть универсальными.
Old 05-30-2005
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Регистрация: август 2001
Место проведения: Ashburn, Вирджиния
Сообщения: 9122
В Прилепленная Bit

Я ранее уже говорил, что когда в каталоге имеет липкую битая, файл может быть удален только владельцем файла или владельцем этой папки. Такое поведение определяется Posix и в настоящее время достаточно универсальна. Вместе с тем, что не было первоначальной целью из липкого бита. Я вижу, что Posix определение этого Ls команда фактически называет липкое немного "ограниченного исключения флаг". Константа C в заголовке файла по этой бит S_ISVTX. Определенный артикль svtx стенды для Сохранить текст и это свидетельствует о первоначальной цели бит.

Первоначальная идея заключалась в том, что если липкое разрядных было установлено, текст сегмент процесс будет находиться в области подкачки. Это позволит ему быть прочитаны в память с помощью одного диска читать. Первоначально, Unix используют файловую систему с размером блока 512 и блоки, как правило, рассею. Так что потребуется время, чтобы собрать текст сегмента и загрузить его в память. Вначале не было подкачки, только обмен. А чтобы запустить программу, необходимо будет полностью загружен в память. Теперь страница вины программу в память. Страницы загружаются по мере их необходимости. Так это оригинальная использования в липкое битных мертвых? Ну, нет. Это зависит от операционной системы.

В HP-UX, это использование до сих пор живы и описано на HP-UX Chmod (2) мужчина страницу. Что использовать это? От В HP-UX ядра Тюнинг и эффективности руководства через HP-UX Типичные вопросы:
"Когда приложений расположены удаленно установить" липкие битный "на бинарники приложения, используя Chmod + T команде. Это говорит о системе на страницу текста с локального диска. В противном случае, это" получить "по всей сети. Из Конечно, это будет применяться только при наличии фактических пейджинга происходит. Совсем недавно, есть параметр ядра, page_text_to_local, который, когда установлен в 1, расскажет ядра на страницу все NFS исполняемый текст страницах местных пространство подкачки. "

В Solaris, нет никаких признаков, свидетельствующих о первоначальном использовании из липкого бита, однако в соответствии с Solaris Chmod (2) мужчина страницу:
"Если очередной файл не является исполняемым и S_ISVTX установлен, то файл считается один файл подкачки. В этом случае в системе кэш-страницы, не будет использоваться для проведения файла данных. S_ISVTX Если бит установлен на любом другом файл, результаты неуказанного ".

Поэтому вы должны проверить Chmod (2) страницы для вашей конкретной ОС чтобы увидеть, какие последствия, если таковые имеются, то липкое разрядные уже файл. Также следует знать, что там, где влияние действительно существует, то ОС может ограничить установления липкое битных суперпользователь. Например, HP-UX, злоумышленник может создать много липкого бита и запустить систему из свопа.

HP-UX на самом деле также имеет некоторые символические ссылки, которые имеют липкого битом. Я остановлюсь на этом ниже.

Последний раз редактировалось Perderabo; на 06-04-2005 04:09 PM..
Old 06-03-2005
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Регистрация: август 2001
Место проведения: Ashburn, Вирджиния
Сообщения: 9122
Set GID бит на каталоги

Мы кратко упомянул о том, что файлы пользователя и группы, связанные с ними. Первоначально было только пользователю и группе, кто создал их. Но изначально, пользователь может быть только в одной группе за раз. BSD представил концепцию о том, что пользователь может находиться в нескольких группах simutaneously. Так, в BSD, в котором группа была использована? BSD решили использовать группы из каталога, что содержащиеся в только что созданный файл.

Многие современные версии Unix стараемся, чтобы он в обоих направлениях. Вновь созданный файл получает группе пользователей, если каталог имеет setgid бит. В этом случае, вновь созданный файл получает группа из каталога.

И есть исключение из этого! Смена владельца или группы файлов в области безопасности. По этой причине в некоторых версиях Unix будут факультативно запретить пользователю помимо корневой изменять владельца файла. Кроме того, пользователю запрещается изменять группу файла, если он входит в состав новой группы. Это ограничение будет переопределяют setgid бит каталога, если это необходимо.
Old 06-03-2005
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Регистрация: август 2001
Место проведения: Ashburn, Вирджиния
Сообщения: 9122
Исполнение Режим блокировки файла / Manditory файлов Блокировка

Мы не закончили с этим Set Гид битных еще ... Unix есть понятие файла блокировки. Файл блокировки, выходит за рамки этой темы. Но вы должны знать, что файл блокировки поставляется в двух вкусов: консультационные и manditory. Какой вкус относится к конкретному файлу в зависимости от настроек разрешения. Если в группе выполнить разрядные выключен, но setgid бит на любой файл замков на этом файле manditory.

Бесполезно Bit Комбинированную?

Каждая ссылка, что я видел, что говорит о setgid / группе выполнить покинуть это бесполезно иное их сочетание. Даже Ричард Стивенс (в Advanced Programming в окружающей среде Unix) Говорится: "После установки группы-битный идентификатор не имеет смысла, если в группе выполнить разрядные выключен, конструкторы SVR3 выбрал этот способ определить, что замок на файл должен быть maditory замок, а не консультативного замок".

Хорошо рассмотреть этот случай: Фред работает отдел кадров. Фред и его группа часто необходимость поиска отпуск используется для работников. Фред решает написать программу таким работникам может поиска собственных отпуск используется. В целях безопасности, Фред делает эту программу сделать многое лесозаготовок. Фред решает, что он не хочет, чтобы его группа, чтобы использовать эту программу. Они есть другие инструменты, которые не будут загромождать его регистрации. Так же Фред:
chown Фред: HR vdays
Chmod 2701 vdays
Теперь vdays программа не может быть запущен членов час (за исключением Фред). Но он может быть запущен на всех остальных. И она возьмет на себя GID в час, когда она перспективе. Я написал тестовую программу, настроить его так, как это, и запустить его на Solaris и HP-UX. Она работает.

Эффект от производства Ls

Хотя это разрядной комбинации могут быть полезны некоторые ограниченном числе случаев, к лучшему или хуже, она будет иметь два последствия. В vdays программа работает, но если блокировка покушение на файл, то он будет manditory. С практической точки зрения, это повлияет только отдельные программы, как отладчик. Но Ls может рассматривать эту комбинацию битных разному. Я видел обе эти ...
Код:
chown fred:hr vdays
chmod 2701 vdays
-rwx--S--x   1 fred     hr          9938 Jul 16  2004 vdays
-rwx--l--x   1 fred     hr          9938 Jul 16  2004 vdays
Old 06-04-2005
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Регистрация: август 2001
Место проведения: Ashburn, Вирджиния
Сообщения: 9122
Более пристальный взгляд на разрешение биты на символические ссылки

Символьные ссылки развивались в течение многих лет. Во-первых, символическая ссылка последовало только при открытии файла. Итак:
прикасаться datafile
LN-х datafile красться
Chmod 700 красться
не защищает файл под названием "datafile". Это была проблема безопасности. Сегодня о том, что "Chmod 700 красться" изменить разрешения на datafile. "chown Фред datafile" будет также изменить и оставить datafile красться в одиночку.

Символьные ссылки должны иметь владельца

Существует один способ, чтобы изменить владельца символьной ссылки. Она является "chown-ч красться". Это изменит красться и оставить datafile одиночку. Первоначальная причина, почему символические ссылки нужно владелец является функция называемых "квот". Квоты позволяет системному администрированию для ограничения дискового пространства, используемый пользователем. Символическую ссылку потребляет небольшое количество дискового ресурсов, с тем они должны быть отнесены на соответствующий пользователь. Теперь у нас есть вторая причина: липкая каталогов. Нам нужно знать, кто может удалить символьную ссылку из каталога липкое.

В дополнение к владельцу, Posix требует, чтобы символические ссылки имеют размер. Это все, что вы можете положиться на. Символьные ссылки могут даже не иметь каких-либо разрешений битами.

Разрешение биты требуются Posix следует игнорировать

На Solaris и Linux, вновь созданный символические ссылки являются 777, и это не влияет на umask. Я не могла не найти способ превратить бит звука. В HP-UX, символические ссылки, также созданный с 777, но umask влияет ли это. Итак:
umask 777
LN-х datafile красться
Создается символическая ссылка все биты выключится. Это не имеет влияния на то, что я мог делать с datafile. И символическая ссылка (в режиме 0) каталоги также работала отлично.

BSD Имеет способ изменить разрешение биты на Символическая ссылка

Различные BSD дистрибутивами все имеют "Chmod-H", которая, как требует "chown-H". Используя эту команду, я тестировал символической ссылки на FreeBSD, и обнаружили, что они игнорируют разрешения, а биты. В "Chmod-H" команды осуществляется с помощью lchmod () системных вызовов. (BSD даже имеет lutimes (), который и "Touch-H", чтобы ссылаться на нее.) До сих пор так хорошо. Ничто здесь нарушает Posix стандарту.

Может быть, NetBSD, нарушающих Posix Стандартный

По словам NetBSD символическая ссылка Человек страницу: "В readlink (2), который требует чтения на символическую ссылку." readlink () является системным вызовом, используемые для отображения Ls объектом символическую ссылку. Так что-то вроде этого:
Код:
lrwxrwxrwx   1 fred       users            8 May 24 11:15 slink -> datafile
тот datafile были получены с readlink (). У меня нет доступа к NetBSD система для тестирования и поэтому я не мог это проверить.

HP-UX Transition Ссылки

Когда переписал HP HP-UX для приведения в соответствие с системой V-релиз 4, местоположение многих файлов изменено. Например, моя любимая корпуса переехали из / бен / KSH к / USR / BIN / KSH. Некоторые люди до сих пор используется / бен / KSH и что будет работать (в настоящее время) из-за символическую ссылку:
Код:
$ ls -lds /bin
   0 lr-xr-xr-t   1 root       sys              8 Oct  1  2003 /bin -> /usr/bin
Как HP поворота на этой липкой битной? В lchmod (), который был заимствован из BSD. Это недокументированная возможность HP-UX. HP Идея заключается в том, что они могут быть уверены в том, что символическая ссылка липкое была создана не для любого пользователя, поскольку пользователи не знают о lchmod. Использование lchmod () для включения в липкое битный не меняет свойства в символической ссылки в любом виде. Единственная разница заключается в том, что HP в Tl средства будут готовы действовать на символическую ссылку.

Но вот то, что HP-UX ЧаВо должен сказать: "Переход ссылки чуть быстрее, потому что связано в файле хранятся в индексного дескриптора себя, вместо того, чтобы использовать выделение блока, чтобы сохранить ссылку. "Хотя это заявление является ложным, не точно, это ужасно вводить в заблуждение. HP-UX просто поддерживает быстрые ссылки. Если ссылка на имя файла является достаточно коротким, оно хранится непосредственно в индексного дескриптора. Переход ссылки случиться быть достаточно коротким. Я видел некоторые люди используют lchmod () для включения в липкое немного алиасом в целях ускорения. Она не работает.

Переход ссылки начинают исчезать. Люди, которые еще не перешли с / бен / KSH к / USR / BIN / KSH мая один день получить грубый сюрприз. Ниже приведены некоторые ссылки на веб-сайте HP.

Поддержание Transition Ссылки
Переход Ссылки команд (не рекомендуется)
Переход ссылки (не рекомендуется)

Последний раз редактировалось Perderabo; на 06-04-2005 04:43 PM..
Old 09-25-2007
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Регистрация: август 2001
Место проведения: Ashburn, Вирджиния
Сообщения: 9122
Изменение индексном дескрипторе файла

Мы обсуждали, как писать разрешения контролирует возможность изменять данные в файл. Но как об изменении разрешения биты, владелец, группа, и даже времени? Никто не может изменить что-либо на CD и NFS Сервер может отменить один NFS клиента. В ходе последовавшего обсуждения, я буду играть местные чтения и записи файловой системы и о том, что пользователь называемого "корневого" имеет соответствующие специальные административные привилегии для файловой системы.

Chmod - Изменение файлу

Чтобы изменить разрешения на файл, вы должны быть владельцем файла или вы должны быть в корневом пользователя. Корневой пользователь может изменять какие-либо разрешения бит. Это может быть верно в отношении владельца. В один бит, что владелец не сможет перейти на это SGID бит.

В свою очередь, на том, что бит, собственник должен быть членом этой группы, что файл дюйм Если это ограничение не было на месте, пользователь может просто создать SGID программы дать себе доступ к файлам, контролируемых группами, помимо тех, которому он принадлежит. Помните, что, как мы упоминали выше, SGID битных была перегружена на часто используются также для работы с файлами блокировки. В версии Unix могут или не могут позволить файл владельца переключиться на SGID бит файл в другую группу, если не выполнить разрядные установлен.

Просто поворота на выполнить разрядные может привести к SUID и SGID биты расчищаются (даже для суперпользователя). Эта функция безопасности для обеспечения того, чтобы пользователь по SUID и SGID биты, которые будут установлены. Пользователь может включить их обратно в явном виде. Или же пользователь может просто четко установить все бит за один раз. Также следует знать, что запись в файл, может в некоторых версиях Unix, очистить SUID и SGID биты. См. ниже для изменения владельца или группы файлов.

chown - изменение владельца файла

Первоначально, Unix позволило файл владельца отдать файл. Файл владельца может сменить владельца к другому. Был не по пути, не корневой пользователь, чтобы отменить это действие. Когда Unix раскол в Беркли / AT & T версии ЗГС (Unix группы поддержки, участие в AT & T) версий Unix, как правило, наследуют это поведение. Тем BSD (Berkeley Software Распределение часть Университета Калифорнии, Беркли) удалена chown, не корня пользователей. BSD осуществил дисковые квоты, которые могли бы ограничить, сколько места на диске пользователь может иметь в файловой системе. Naughty пользователи могут отдать большие файлы на Снек прошлом квот.

Сегодня это не просто говорить, если без корней может chown файла. Многие версии Unix позволяют оба поведение. HP-UX имеет setprivgroup объекте , что может ли или не являются членами той или иной группы может ссылаться chown. Solaris имеет глобальный Параметр rstchown которые могут быть установлены, чтобы глобальные chown. Установив этот параметр также отключает изменение группы ограничения описаны ниже (без ущерба для SGID ограничения описаны выше). Последние версии Linux есть CAP_CHOWN потенциал для управления этой функцией. Вам необходимо проконсультироваться вашей документации для других версий Unix. И вам нужно получить у системного администратора, чтобы, как ваша конкретная система настроена.

По умолчанию в большинстве ОС для chown будет ограничиваться только корень. И есть мнение о том, что он должен оставаться таким образом, по соображениям безопасности. Если, не корневого пользователя ли изменить владельца файла и выполнить какой-либо бит, то SUID и SGID биты должны быть очищены. Это может или не может случиться с корня.

chown, chgrp - изменение файла группы

В команде может chown (с любым современным, Posix совместимой версии Unix) также попытки группа изменений. И есть chgrp команда. Оба этих вызова chown (), системный вызов для изменения группы. Тот факт, что общая система вызова участвует помогает объяснить, почему некоторые версии ОС совместно соблюдения ограничений или расслабиться на не-корневого пользователя для владельца и группы изменений.

Неправительственная организация корневой пользователь может изменить группу файла, он принадлежит к группе, в которую он входит. Posix запрещается без корней пользователю изменять файлы группы к группе, которой он не является ее членом. Но некоторые ОС отменить это ограничение, если ограничение на изменение владельца файла было отменено.

Если группа изменены без корней пользователя, а также один или выполнить бит установлен, SUID и SGID биты очищаются.

Touch - Изменение файлов ВременнЫе

Когда ощупь команда используется для изменения времени уже существующего файла, он ссылается либо старые utime () или новый utimes () системных вызовов. Для изменения времени на существующий файл, вы должны владеть файла или суперпользователя. Кроме того, вы должны написать разрешения на файл или корня.
 

Закладки

Теги
Chmod, файлу, Linux команд, липкое битных, SUID, umask

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 05:04 PM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0