Посмотрите на раздел INVOCATION страницы руководства bash, bash (1) :
Если оболочка запущена с эффективным идентификатором пользователя (группы), не равным реальному идентификатору пользователя (группы), и параметр -p не предоставляется,…, и эффективный идентификатор пользователя устанавливается равным реальному идентификатору пользователя . Если параметр -p предоставляется при вызове, поведение при запуске такое же, но действующий идентификатор пользователя не сбрасывается.
(Курсив добавлен.)
Если вы запускаете bash без параметра -p
,
, если он выполняет setuid (эффективный идентификатор пользователя не равен реальному идентификатору пользователя ),
он немедленно «отбрасывает привилегии»; т.е. возвращается к вашей реальной личности.
Кстати, вы используете неправильную терминологию. Бит, о котором вы говорите, - это бит setuid, а не липкий бит.
P.S. Я надеюсь, что инструкции, которым вы следуете, говорят вам , что нужно обязательно установить определение начального режима bash (биты прав доступа) и восстановить его, когда вы закончите.
Для меня неочевидной частью раньше было то, что корень файловой системы также является каталогом, как и любая другая. Таким образом, у вас действительно есть два каталога в одном месте: исходная точка монтирования и корень смонтированной файловой системы.
Перед монтированием вы видите разрешения точки монтирования. После монтирования вы увидите разрешения корня смонтированной файловой системы, потому что это то, что сейчас там. То же самое и с содержимым: он идет от (обычно) пустой точки монтирования к содержимому корня смонтированной файловой системы. Если подумать, это не имело бы смысла, если бы у вас было содержимое смонтированной файловой системы с разрешениями точки монтирования.
Монтирование затеняет все, что находится в этом каталоге, включая (свойства) самого каталога.
В противном случае это показалось бы мне нелогичным, поскольку я, естественно, считаю, что корень смонтированной иерархии является ее частью, поэтому то, что вы монтируете, является (связанным) деревом.