Кіріспе
UNIX файлдық жүйе рұқсаты
Файл жүйесі ұғымы
Есептеу техникасында, "жабысқақ бит" – Unix-ке ұқсас жүйелердегі файлдар мен каталогтарға тағайындалатын пайдаланушының меншік құқығының бір түрі. Оның екі анықтамасы бар: бірі файлдарға, екіншісі каталогтарға қатысты. Файлдар үшін, әсіресе орындалатын файлдар үшін, суперпайдаланушы оларды негізгі жадта сақтап тұруы мүмкін, тіпті олардың қажеттілігі аяқталғаннан кейін де, басқа қажеттілік туындағанда болатын жадтан шығарып-кіргізуді (swap) азайту үшін, ал файлды салыстырмалы түрде баяурақ екінші жадтан қайта жүктеуге тура келмейді. Бұл функция жадтан шығарып-кіргізуді оңтайландырудың нәтижесінде қолданыстан шықты. Каталогтар үшін, егер каталогтың "жабысқақ биті" қойылған болса, файлдық жүйе ондағы файлдарды ерекше қарастырады, сондықтан файлды тек оның иесі, каталогтың иесі немесе root пайдаланушысы ғана қайта атауға немесе жоюға құқылы. Егер "жабысқақ бит" қойылмаған болса, каталогқа жазу және орындау рұқсаты бар кез келген пайдаланушы, файлдың иесіне қарамастан, ондағы файлдарды қайта атауға немесе жоюға болады. Әдетте, бұл /tmp каталогында қарапайым пайдаланушылардың басқа пайдаланушылардың файлдарын жою немесе жылжытуына жол бермеу үшін қойылған. "Жабысқақ биттің" қазіргі заманғы функциясы каталогтарға қатысты, ол каталогтар мен олардың мазмұнын иесі емес адамдардың қолға түсіруінен қорғайды; мұндай қорғау көптеген қазіргі заманғы Unix-ке ұқсас жүйелерде кездеседі. /tmp сияқты ортақ каталогтағы файлдар әрбір пайдаланушыға жеке тиесілі, және иесі емес адамдар оларды жоя алмайды, ауыстыра алмайды немесе қайта атамайды.
the filesystem concept
In computing, the sticky bit is a user ownership access right flag that can be assigned to files and directories on Unix like systems. There are two definitions: one for files, one for directories. For files, particularly executables, superuser could tag these as to be retained in main memory, even when their need ends, to minimize swapping that would occur when another need arises, and the file now has to be reloaded from relatively slow secondary memory. This function has become obsolete due to swapping optimization. For directories, when a directory's sticky bit is set, the filesystem treats the files in such directories in a special way so only the file's owner, the directory's owner, or root user can rename or delete the file. Without the sticky bit set, any user with write and execute permissions for the directory can rename or delete contained files, regardless of the file's owner. Typically this is set on the /tmp directory to prevent ordinary users from deleting or moving other users' files. The modern function of the sticky bit refers to directories, and protects directories and their content from being hijacked by non owners; this is found in most modern Unix like systems. Files in a shared directory such as /tmp belong to individual owners, and non owners may not delete, overwrite or rename them.
Тарих
Стейки биті Unix жүйесінің бесінші нұсқасында (1974 жылы) таза орындалатын файлдарды пайдалану үшін енгізілді. Қосылған кезде, ол операциялық жүйеге процесс аяқталғаннан кейін бағдарламаның мәтіндік сегментін жедел жадтан дискіге (swap) ауыстыру орынында сақтауға бұйрық берді. Бұл, ядроға бағдарламаны дискіден жедел жадқа жылжытудың бір ғана операциясын жасауға мүмкіндік беру арқылы, келесі орындалуларды жылдамдатуға көмектесті. Осылайша, редакторлар сияқты жиі қолданылатын бағдарламалар айқын түрде жылдам жүктеледі. «Стейки» биті қосылған бағдарламалардың бір мәселесі – орындалатын файлды жаңарту (мысалы, түзетулер енгізу кезінде); мұны істеу үшін орындалатын файлдан стейки битін алып тастау, бағдарламаны іске қосып, кэшті тазалау үшін одан шығу, жаңа орындалатын файлды орнату және содан кейін стейки битін қайта қосу қажет болды. Кейіннен, бұл мүмкіндік тек HP UX және UnixWare жүйелерінде ғана қолданылды. Solaris 2005 жылы бұл мүмкіндікті тоқтатқан сияқты. BSD жүйесінің 4.4 Lite нұсқасы ескі стейки битінің әрекетін сақтап қалды, бірақ ол кейіннен OpenBSD (3.7 нұсқасынан бастап) және FreeBSD (2.2.1 нұсқасынан бастап) жүйелерінен алынып тасталды. Linux жүйесінің ешбір нұсқасы бұл дәстүрлі әрекетті қолдамайды; Linux орындалатын файлдарды барлық файлдар сияқты кэштейді, сондықтан кэшті тазалау үшін бағдарламаны қайта іске қосудың қажеті жоқ.