Жаңа файлдардың рұқсаттарын басқару үшін umask командасы
Umask
Umask: UNIX жүйесінде жаңа файлдардың рұқсаттарын баптау үшін қолданылатын команда. Рұқсаттарды шектеу маскасы, файл режимі және оның өзгеруі туралы ақпарат.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Стандартты UNIX құралы
Standard UNIX utility
Компьютерлік есептерде umask – жаңадан құрылған файлдарға файлдық рұқсаттарды қалай орнатуды басқаратын масканың параметрлерін анықтайтын команда. Ол файлдық рұқсаттардың тікелей өзгеруіне де әсер етуі мүмкін. Сондай-ақ, бұл масканы орнататын функция, немесе формалды түрде файл режимін құру маскасы деп аталатын масканың өзі болуы мүмкін. Маска – бұл биттердің жиынтығы, олардың әрқайсысы жаңадан құрылған файлдар үшін тиісті рұқсаттың қалай орнатылуын шектейді. Маскадағы биттерді команданы орындау арқылы өзгертуге болады.
In computing, umask is a command that determines the settings of a mask that controls how file permissions are set for newly created files. It may also affect how the file permissions are changed explicitly. is also a function that sets the mask, or it may refer to the mask itself, which is formally known as the file mode creation mask. The mask is a grouping of bits, each of which restricts how its corresponding permission is set for newly created files. The bits in the mask may be changed by invoking the command.
Шолу
Unix-ке ұқсас жүйелерде әрбір файлдың кім оқи алатыны, жаза алатыны немесе орындай алатынына қатысты атрибуттары болады. Бағдарлама файл жасағанда, файл рұқсаттары маскамен шектеледі. Егер маскадағы бит "1" болып белгіленген болса, тиісті бастапқы файл рұқсаты өшіріледі. Маскадағы бит "0" болып белгіленген болса, тиісті рұқсатты бағдарлама мен файлдық жүйе анықтайды. Басқаша айтқанда, маска файл жасалғанда рұқсаттарды алып тастайтын соңғы кезеңдегі сүзгі ретінде жұмыс істейді; "1" деп белгіленген әр бит сәйкес рұқсатты алып тастайды. Рұқсаттарды пайдаланушылар мен бағдарламалар кейіннен chmod командасы арқылы өзгерте алады. Әрбір бағдарламаның (техникалық тұрғыдан процесс деп аталады) өзінің маскасы болады және ол функцияны шақыру арқылы өз параметрлерін өзгерте алады. Процесс қабық болған кезде маска командасымен орнатылады. Қабық немесе процесс жаңа процесс іске қосқанда, бағынышты процесс ата-аналық процесстен масканы мұралайды. Жалпы, маска жаңа файлдар жасалғанда ғана файл рұқсаттарына әсер етеді және қолданыстағы файлдардағы рұқсаттар өзгертілгенде әсер етпейді; алайда, команда режим опциялары символдық режимде көрсетілгенде және пайдаланушылар класына сілтеме берілмегенде масканы тексереді. Маска биттер тобы ретінде сақталады. Оны екілік, сегіздік немесе символдық түрде көрсетуге болады. Команда масканы сегіздік (мысалы, ) немесе символдық (мысалы, ) түрінде орнатуға мүмкіндік береді. Команда Unix-ке ұқсас операциялық жүйелерде қолданылады, ал функциясы POSIX.1 спецификациясында анықталған.
In Unix like systems, each file has a set of attributes that control who can read, write or execute it. When a program creates a file, the file permissions are restricted by the mask. If the mask has a bit set to "1", then the corresponding initial file permission will be disabled. A bit set to "0" in the mask means that the corresponding permission will be determined by the program and the file system. In other words, the mask acts as a last stage filter that strips away permissions as a file is created; each bit that is set to a "1" strips away its corresponding permission. Permissions may be changed later by users and programs using chmod. Each program (technically called a process) has its own mask and is able to change its settings using a function call. When the process is a shell, the mask is set with the command. When a shell or process launches a new process, the child process inherits the mask from its parent process. Generally, the mask only affects file permissions during the creation of new files and has no effect when file permissions are changed in existing files; however, the command will check the mask when the mode options are specified using symbolic mode and a reference to a class of users is not specified. The mask is stored as a group of bits. It may be represented as binary, octal or symbolic notation. The command allows the mask to be set as octal (e. g. ) or symbolic (e. g. ) notation. The command is used with Unix like operating systems, and the function is defined in the POSIX.1 specification.
Тарих
Маска, команда және функция UNIX-тің бастапқы іске асырылуының құрамына кірмеген. Операциялық жүйе салыстырмалы түрде шағын компьютер ортасында дамыды, онда қауіпсіздік мәселесі маңызды болған жоқ. Кейіннен ол әртүрлі ұйымдардың жүздеген пайдаланушыларына қызмет көрсетуге дейін өсті. Алғашқыда, әзірлеушілер маңызды файлдарды құру режимдерін, әсіресе қауіпсіздік бұзушылықтар болған жағдайларда, шектеулі етті, бірақ бұл жалпылама шешім болған жоқ. Маска мен команда 1978 жыл шамасында операциялық жүйенің жетінші нұсқасында енгізілді, осылайша сайттарға, топтарға және жеке тұлғаларға өздеріне қолайлы әдепкі параметрлерді таңдауға мүмкіндік берді. Маска содан бері Unix сияқты операциялық жүйелердің көпшілігінде, тіпті барлығында да қолданысқа енгізілді.
The mask, the command and the function were not part of the original implementation of UNIX. The operating system evolved in a relatively small computer center environment, where security was not an issue. It eventually grew to serve hundreds of users from different organizations. At first, developers made creation modes for key files more restrictive, especially for cases of actual security breaches, but this was not a general solution. The mask and the command were introduced around 1978, in the seventh edition of the operating system, so it could allow sites, groups and individuals to choose their own defaults. The mask has since been implemented in most, if not all, of the contemporary implementations of Unix like operating systems.
Маска әсері
Файл құрылғанда маска қолданылады. Егер маскадағы бит "1" болса, онда файлдар кейіннен құрылғанда тиісті файл рұқсаттары әрқашан өшіріледі. Маскадағы "0" биті файлдар кейіннен құрылғанда сұрау процесі мен операциялық жүйе тиісті рұқсатты анықтайды дегенді білдіреді. Басқаша айтқанда, маска файл құрылған кезде рұқсаттарды алып тастайтын соңғы кезеңдегі сүзгі ретінде жұмыс істейді; "1" деп белгіленген әрбір бит сол файл үшін тиісті рұқсатты алып тастайды.
The mask is applied whenever a file is created. If the mask has a bit set to "1", that means the corresponding file permission will always be disabled when files are subsequently created. A bit set to "0" in the mask means that the corresponding permission will be determined by the requesting process and the OS when files are subsequently created. In other words, the mask acts as a last stage filter that strips away permissions as a file is created; each bit that is set to a "1" strips away that corresponding permission for the file.
Бетті бүркеудің әдісі
+ Командадағы цифрлар маскада қалай көрінеді және нәтижесінде бағдарламаның файл құру туралы сұранысына әсер етеді, мысалы, командадағы толық рұқсаттар цифрлары. Бинарлық маскада Масканың терістелуі Логикалық ЖӘНЕ "rwx" сұранысымен 0 000 111 rwx 1 001 110 rw 2 010 101 r x 3 011 100 r 4 100 011 wx 5 101 010 w 6 110 001 x 7 111 000 Бағдарламалық тұрғыдан, операциялық жүйе масканы алдымен терістеу (толықтыру) арқылы қолданады, содан кейін сұралған файл режимімен логикалық ЖӘНЕ операциясын жүзеге асырады. Unix-тің функциясын сипаттаған алғашқы нұсқаулықтарының бірінде былай делінген:
+ How digits in the command appears in the mask and eventually affects a program's request for creating a file with e. g. full permissions digit in command Binary in the mask Negation of mask Logical AND with "rwx" request 0 000 111 rwx 1 001 110 rw 2 010 101 r x 3 011 100 r 4 100 011 wx 5 101 010 w 6 110 001 x 7 111 000
Programmatically, the mask is applied by the OS by first negating (complementing) the mask, and then performing a logical AND with the requested file mode. In the [probably] first UNIX manual to describe its function, the manual says,
Процестер
Әрбір процестің өзіне тән маскасы болады, ол процесс жаңа файл құрғанда қолданылады. Қабықша немесе кез келген басқа процесс жаңа процесс тудырғанда, туған процесс ата-ана процесінен масканы мұраға алады. Егер процесс қабықша болса, маска команда арқылы өзгертіледі. Басқа процестер сияқты, қабықшадан іске қосылған кез келген процесс сол қабықшаның маскасын мұраға алады.
Each process has its own mask, which is applied whenever the process creates a new file. When a shell, or any other process, spawns a new process, the child process inherits the mask from its parent process. When the process is a shell, the mask is changed by the command. As with other processes, any process launched from the shell inherits that shell's mask.
Қосқыш параметрлері
Linux ядросында FAT, hfs, hpfs, ntfs және udf файлдық жүйе драйверлері дискідегі ақпараттың рұқсаттарға шайқастырылуын басқаратын umask орнату опциясын қолдайды. Бұл жоғарыда сипатталған процеске арналған маскадан өзгеше, бірақ рұқсаттар осыған ұқсас жолмен есептелінеді. Осы файлдық жүйе драйверлерінің кейбіреулері файлдар мен каталогтар үшін бөлек маскаларды да қолдайды, мысалы fmask сияқты орнату опцияларын пайдаланады.
In the Linux kernel, the fat, hfs, hpfs, ntfs, and udf file system drivers support a umask mount option, which controls how the disk information is mapped to permissions. This is not the same as the per process mask described above, although the permissions are calculated in a similar way. Some of these file system drivers also support separate masks for files and directories, using mount options such as fmask.