Когда создается новый поток, выделяется область памяти для его стека. Из этой области выделяется пространство для локальных переменных потока. Переменные TLS не являются строго частью стека, т. е. они не помещаются в стек и не извлекаются из него, но они существуют в одной и той же области поверх стека.
Расположение этой области в адресном пространстве зависит от множества факторов. Когда новый поток создается с помощью pthread_create
, программист может передать указатель на память, которая будет использоваться в качестве стека потока. Расположение этой памяти зависит от того, как была выделена память. Если предварительно -выделенная память не используется, то область памяти выделяется с использованием mmap
с NULL
в качестве параметра addr
, что позволяет ядру решить, куда отобразить память. На x86 _64 выделенная таким образом память находится между стеком и кучей.
Для каждого потока используется новое канареечное значение. См. ответ на этот вопрос .
Возможно, ваша проблема не связана с LDAP.
В Linux у файла есть пользователь-владелец(пользователь, которому принадлежит файл; обычно это пользователь, который создал файл )и владелец группы . Разрешения регулируют, какие операции могут выполняться обоими. Ваш файл 71.pdf
- это:
-rw------- 1 cs71 http 2 May 10 09:37 71.pdf
Владельцем файла является cs71
. Группа, которой принадлежит файл http
. Согласно разрешениям -rw-------
, только пользователь-владелец cs71
может читать/записывать файл. Любой другой (, включая пользователей, принадлежащих к группе http
), ничего не может сделать.
Возможность сделать файл доступным для чтения/записи более чем одному пользователю предоставляется его group
владельцем. Если владелец group
имеет некоторые права доступа к этому файлу, все пользователи, принадлежащие к этой группе, имеют такие же права доступа к этому файлу.
Случай 1
Если cs70
и cs71
принадлежат группе http
, вы можете просто выполнить:
[root@nfs]# su cs71@ldap.com
[cs71@nfs]$ chmod g+rw 71.pdf
или
[root@nfs]# su cs71@ldap.com
[cs71@nfs]$ chmod 660 71.pdf
Случай 2
Если cs70
и cs71
не принадлежат к группе http
, но принадлежат к другой группе somegroup
, вы можете:
[root@nfs]# su cs71@ldap.com
[cs71@nfs]$ chgrp somegroup 71.pdf
[cs71@nfs]$ chmod g+rw 71.pdf
Случай 3
Если cs70
и cs71
не имеют общей группы, вы можете попросить администратора LDAP создать ее и добавить в качестве вторичной группы для cs70
иcs71
(предупреждение :важно важно что группа является вторичной и что она добавляет к группам cs70
и cs71
, которые уже принадлежат, без замены их ).