“උමාස්ක්” යනු කුමක්ද සහ එය ක්‍රියාත්මක වන්නේ කෙසේද?


201

උමාස්ක් යනු ගොනු අවසරයන් පාලනය කරන දෙයක් බව මම විශ්වාස කරමි , නමුත් එය සම්පූර්ණයෙන් තේරුම් නොගනී.

ධාවනය කිරීමෙන් පසු umask 0644දී පර්යන්තය , මම විධාන රේඛාව පෙළ සකසනයක් නිර්මාණය ගොනු කියවීමට නොහැකි nano. එම ගොනුවේ අවසරයන් 0022පෙරනිමිය වෙනුවට සකසා ඇති බව මම දුටුවෙමි 0755.

උමාස්ක් ක්‍රියා කරන්නේ කෙසේද? මම මම සිට umask දී එක් එක් සංඛ්යාංකය ඉවත් කළ හැකි සිතා 0777, 7 - 6 = 1සහ 7 - 4 = 3, ඒ නිසා මම අවසර පත් කිරීමට බලාපොරොත්තු 0133වූ නමුදු, මෙය නොවේ.

  1. උමාස්ක් යනු කුමක්ද? මම "ලිනක්ස් නොබ්" කෙනෙකු මෙන් එය මට පැහැදිලි කරන්න
  2. උමාස්ක් සමඟ ගණනය කරන්නේ කෙසේද?
  3. උමාස්ක් සඳහා භාවිතා කිරීමේ අවස්ථා මොනවාද?

app_mode 666 rw- rw- rw- umask 644 --0 -00 -00 file_mode 022 --- -w- -w-
ග්‍රැපන්ටොට්

Answers:


150

Umask යෙදුම් වලට ගොනු මත සැකසිය නොහැකි අවසර කට්ටලයක් ලෙස ක්‍රියා කරයි. එය ක්‍රියාවලි සඳහා ගොනු මාදිලි නිර්මාණය කිරීමේ ආවරණයක් වන අතර නාමාවලි සඳහාම සැකසිය නොහැක. බොහෝ යෙදුම් ක්‍රියාත්මක කිරීමේ අවසර කට්ටල සහිත ලිපිගොනු නිර්මාණය නොකරනු ඇත, එබැවින් ඒවාට පෙරනිමියක් ඇති 666අතර එය umask විසින් වෙනස් කරනු ලැබේ.

හිමිකරු සඳහා කියවීමේ / ලිවීමේ බිටු සහ වෙනත් අය සඳහා කියවීමේ බිටු ඉවත් කිරීම සඳහා ඔබ උමාස්ක් සකසා ඇති බැවින් 777, යෙදුම් වැනි පෙරනිමියක් හේතුවෙන් ගොනු අවසරයන් ලැබෙනු ඇත 133. මෙයින් අදහස් කරන්නේ ඔබට (සහ වෙනත් අයට) ගොනුව ක්‍රියාත්මක කළ හැකි අතර අනෙක් අයට එය ලිවීමට හැකි වනු ඇති බවයි.

ඔබට ලිපිගොනු කියවීමට / ලිවීමට / ක්‍රියාත්මක කිරීමට අයිතිකරු හැර වෙන කිසිවෙකු කිරීමට අවශ්‍ය නම්, ඔබ 077කණ්ඩායමට සහ වෙනත් අයට එම අවසරයන් අක්‍රිය කිරීමට උමාස්ක් භාවිතා කළ යුතුය .

ඊට වෙනස්ව, උමාස්ක් 000මඟින් අලුතින් සාදන ලද නාමාවලි කියවිය හැකි, ලිවිය හැකි සහ සැමට බැස යා හැකි වනු ඇත (අවසරයන් වනු ඇත 777). එවැනි උමාස්ක් ඉතා අනාරක්ෂිත වන අතර ඔබ කිසි විටෙකත් උමාස්ක් සැකසිය යුතු නැත 000.

උබුන්ටු හි පෙරනිමි umask 022යන්නෙන් අදහස් කරන්නේ අලුතින් සාදන ලද ලිපිගොනු සෑම කෙනෙකුටම කියවිය හැකි නමුත් හිමිකරුට පමණක් ලිවිය හැකි බවයි:

user@computer:~$ touch new-file-name
user@computer:~$ ls -dl new-file-name
-rw-r--r-- 1 user user 0 Apr  1 19:15 new-file-name

උබුන්ටු ඔනිරික් (11.10) සිට සුපුරුදු umask ලිහිල් කරන 002ලද අතර එය අයිතිකරුගේ කණ්ඩායමට ලිවීමේ ප්‍රවේශය පුළුල් කරයි:

user@computer:~$ touch new-file-name
user@computer:~$ ls -dl new-file-name
-rw-rw-r-- 1 user user 0 Apr  1 19:15 new-file-name

Umask බැලීම සහ වෙනස් කිරීම

ඔබගේ වර්තමාන උමාස්ක් සැකසුම බැලීමට, ටර්මිනලයක් විවෘත කර විධානය ක්‍රියාත්මක කරන්න:

umask

වත්මන් කවචයේ umask සැකසුම වෙනත් දෙයකට වෙනස් කිරීමට, 077 කියන්න, ධාවනය කරන්න:

umask 077

මෙම සිටුවම ක්‍රියාත්මක වේද නැද්ද යන්න පරීක්ෂා කිරීම සඳහා, ඔබට නව ගොනුවක් සෑදිය හැකිය (පවතින ගොනුවක ගොනු අවසරයට බලපෑමක් සිදු නොවේ) සහ ගොනුව පිළිබඳ තොරතුරු පෙන්වන්න, ධාවනය කරන්න:

user@computer:~$ touch new-file-name
user@computer:~$ ls -dl new-file-name
-rw------- 1 user user 0 Apr  1 19:14 new-file-name

උමාස්ක් සැකසුම උරුම වන්නේ එකම කවචයකින් ආරම්භ වූ ක්‍රියාවලීන් මගිනි. උදාහරණයක් ලෙස, geditපර්යන්තය තුළ ක්‍රියාත්මක කිරීමෙන් පෙළ සංස්කාරක GEdit ආරම්භ කර gedit භාවිතා කර ගොනුවක් සුරකින්න. අළුතින් සාදන ලද ගොනුව පර්යන්තයේ ඇති එකම උමාස්ක් සැකසුම මගින් බලපානු ඇති බව ඔබට පෙනෙනු ඇත.

නඩුව භාවිතා කරන්න: බහු පරිශීලක පද්ධතිය

ඔබ බහු පරිශීලකයින් විසින් බෙදාගෙන ඇති පද්ධතියක සිටී නම්, අනෙක් අයට ඔබගේ නිවාස නාමාවලියෙහි ලිපිගොනු කියවිය නොහැක. ඒ සඳහා උමාස්ක් එකක් ඉතා ප්‍රයෝජනවත් වේ. සංස්කරණය ~/.profileකර නව පේළියක් එක් කරන්න:

umask 007

මෙම umask වෙනස ~/.profileක්‍රියාත්මක වීමට ඔබ නැවත පුරනය විය යුතුය. මීලඟට, ලෝකය සඳහා කියවීම, ලිවීම සහ ක්‍රියාත්මක කිරීම ඉවත් කිරීමෙන් ඔබගේ නිවාස නාමාවලියෙහි පවතින ගොනු අවසරයන් වෙනස් කළ යුතුය. පර්යන්තයක් විවෘත කර ක්‍රියාත්මක කරන්න:

chmod -R o-rwx ~

පද්ධතියේ සියලුම පරිශීලකයින්ට මෙම උමාස්ක් සැකසුම යෙදීමට ඔබට අවශ්‍ය නම්, ඔබට පද්ධතිය පුරා ඇති පැතිකඩ ගොනුව සංස්කරණය කළ හැකිය /etc/profile.


3
ඉතින්, උමාස්ක් හි ඉලක්කම් වලින් අදහස් කරන්නේ කුමක්ද? ඇයි එහෙම නම් 777කණ්ඩායම සහ තවත් අය අතර, එය ලිවීමට හැකි වනු ඇත බව අදහස් 077ඔවුන්ට බැහැ යනු කුමක්ද?
HelloGoodbye

3
එසේම, ඔබ පවසන්නේ උමාස්ක් නම් 000, ගොනු අවසරය ලැබෙනු ඇති බවයි 777. එබැවින් පෙරනිමි ආවරණයක් සහිතව 022, ගොනු අවසරයන් 755, එනම් අනුරූපී විය -rwxr-xr-xයුතු -rw-r--r--නොවේද?
HelloGoodbye

15
පිළිගත යුතුය, මෙම පැහැදිලි කිරීම මට උපකාරවත් වූවාට වඩා ව්‍යාකූල විය.
කොනල් හූලි

8
මෙම පිළිතුර පළ කිරීමෙන් මසකට පසුව උබුන්ටු හි පෙරනිමි umask 0002 දක්වා වෙනස් වූ බව සලකන්න .
ජෙෆ් පැකට්

7
@ හෙලෝ ගුඩ්බයි umask 000නම් කිසිදු අවසරයක් ඉවත් නොකෙරේ. වැනි යෙදුම් touchසහ nanoපෙරනිමි ගොනු නිර්මාණය 666ගොනුව අවසර පවතිනු ඇත එසේ 666නමුත් ක umask 022එසේ, මෙම කණ්ඩායම සඳහා කපා බිටු සහ වෙනත් අය ඉවත් කරනු ඇත 666අඩු වී යයි 644හෙවත් -rw-r--r--සලකා බලන්න mkdirක්රමය නිර්මාණය කරන පෙරනිමි 777ක umask සමග 022කිරීමට අවසර අඩු වනු755
ජෙෆ් පකට්

38

පිළිගත් පිළිතුරෙහි ඇති හොඳ සාකච්ඡාවට අමතරව umask, 12.04 සහ ඉන් පසුව එය කළමනාකරණය කරන්නේ කෙසේද යන්න පිළිබඳව තවත් කරුණු කිහිපයක් එකතු කිරීම වටී .

උමාස්ක් සහ පෑම්_මාස්ක්

පෙරනිමි umask දැන් පවතින /etc/login.defsඅතර එය ඇතුලත් නොවේ /etc/profile, නිල සටහන /etc/profileකියවන පරිදි:

# The default umask is now handled by pam_umask.
# See pam_umask(8) and /etc/login.defs.

Pam_umaskකෙටියෙන් පහතින් විස්තර කර ඇති අතර, පරිශීලකයාට ඔහුගේ අභිරුචි umask සැකසුම තැබීමේ පෙරනිමි ගොනුව තවමත් පවතින බව පැවසිය යුතුය ~/.profile.

Pam_umaskයනු උබුන්ටු මෙහෙයුමේ තීරණාත්මක වන බොහෝ වැදගත් PAM මොඩියුලයන්ගෙන් එකකි ( apropos '^pam_'අනෙක් ඒවා සඳහා අත්පොත් සොයා ගැනීමට ධාවනය කරන්න). තුළ manpage සඳහා pam_umaskඑය බව සඳහන් වේ

pam_umask යනු වත්මන් පරිසරයේ ගොනු මාදිලිය නිර්මාණය කිරීමේ වෙස් මුහුණ සැකසීමට PAM මොඩියුලයකි. අලුතින් සාදන ලද ලිපිගොනු සඳහා පවරා ඇති පෙරනිමි අවසරයන්ට umask බලපායි.

සුපුරුදු umask පිළිබඳ සටහනක්

නව ෆෝල්ඩර $HOMEවිසින් නිර්මාණය කළ හැකි mkdirනිර්මාණය සමඟ, ප්රකෘති 775 අවසර සහ ගොනු touchපෙරනිමි umask 022. විට පවා මේ පරස්පර, පළමු, පෙනේ, සහ පැහැදිලි වටී පෙරනිමි 664 අවසර.

උබුන්ටු හි පෙරනිමි umask 022 ක් වන අතර, මෙය සම්පූර්ණ කතාවම නොවේ, මන්දයත් /etc/login.defsකොන්දේසියක් සපුරා ඇත්නම් මූල නොවන පරිශීලකයින් සඳහා umask 002 ක් වීමට ඉඩ සලසන පසුබිමක් ඇත (පහත උපුටා ගැනීම බලන්න). සාමාන්‍ය ස්ථාපනයකදී, /etc/login.defsසැකසුම අඩංගු වේ USERGROUPS_ENAB yes. මෙයයි

මූල නොවන පරිශීලකයින් සඳහා උමාස්ක් කණ්ඩායම් බිටු හිමිකරු බිටු (උදාහරණ: 022 -> 002, 077 -> 007) ලෙස සැකසීමට සක්‍රීය කරයි, යූඅයිඩී ගිඩ් හා සමාන නම් සහ පරිශීලක නාමය ප්‍රාථමිකයට සමාන වේ කණ්ඩායම් නම.

එබැවින් මගේ වැනි තනි පරිශීලක පද්ධතියක statනව ෆෝල්ඩරයක් නිර්මාණය කළ විට ඔබ පහත දෑ දකින්නේ ඇයි mkdir(uid සහ gid එක සමාන වේ):

Access: (0775/drwxrwxr-x)  Uid: ( 1000/username)   Gid: ( 1000/username)

වැඩි විස්තර සඳහා, බලන්න man pam_umaskසහ සමඟ අමුත්තන් උබුන්ටු manpages .


ඔබේ දෙවන කොටසෙහි යමක් නැති වී ඇති බව පෙනේ? (USERGROUP_ENABLE?) යාවත්කාලීන තොරතුරු සඳහා +1
Lekensteyn

2
E ලෙකන්ස්ටයින් පුදුමයට කරුණක් නම්, එය සැකසීමෙන් පසුව එය සැකසීම /etc/login.defsඅනිවාර්යයෙන්ම USERGROUPS_ENAB yesවේ. එම ගොනුවේ වාක්‍ය ඛණ්ඩය තරමක් අසාමාන්‍යයි.

මම ගොනුව සහ ප්‍රභවය පරික්ෂා කළ අතර ඔබ හරි, මෙම (සහ තවත් සමහර) සැකසුම් අවුල් සහගත ලෙස "_ENAB" ලෙස නම් කර ඇත.
ලෙකන්ස්ටයින්

36

මෙය තරමක් පැරණි ය, නමුත් මෙය සඳහන් කිරීම වටී. ගොනු පද්ධති අවසරයන් මෙන් නොව උමාස්ක් සඳහා ගණනය කිරීම. අෂ්ටක උමාස්ක් ගණනය කරනු ලබන්නේ බිට්වේස් සහ තර්කයේ ඒකීය අනුපූරකය හරහාය. අෂ්ටක අංකනය පහත පරිදි වේ:

Octal value : Permission
0 : read, write and execute
1 : read and write
2 : read and execute
3 : read only
4 : write and execute
5 : write only
6 : execute only
7 : no permissions

එවිට ඔබට උමාස්ක් නිසි පරිශ්‍රයන් සැකසීමට ගණනය කළ හැකිය:

$ umask 077
$ mkdir dir1
$ touch file
$ ls -ld dir1 file

drwx------ 2 amrx amrx 4096 2011-03-04 02:05 dir1
-rw------- 1 amrx amrx    0 2011-03-04 02:05 file

ලිපිගොනු සඳහා අවසාන අවසරය ගණනය කිරීම

ගොනුව සඳහා අවසාන අවසරය පහත පරිදි තීරණය කිරීම සඳහා ඔබට මූලික අවසරයෙන් උමාස්ක් අඩු කළ හැකිය:

666 – 022 = 644
  • ගොනු මූලික අවසර: 666
  • umask අගය: 022
  • නව ගොනුවේ අවසර ලබා ගැනීම සඳහා අඩු කරන්න (666-022):644 (rw-r–r–)

නාමාවලි සඳහා අවසාන අවසරය ගණනය කිරීම

නාමාවලිය සඳහා අවසාන අවසරය තීරණය කිරීම සඳහා ඔබට මූලික අවසරයෙන් උමාස්ක් අඩු කළ හැකිය:

777 – 022 = 755
  • නාමාවලි මූලික අවසර: 777
  • umask අගය: 022
  • නව නාමාවලියෙහි අවසර ලබා ගැනීම සඳහා අඩු කරන්න (777-022):755 (rwxr-xr-x)

3
අවසාන අවසර පත්‍රය ගණනය කරන්නේ කෙසේදැයි මම නොසිතමි, වෙස්මුහුණු අගය නම් 077ඔබ 666-077එම අවස්ථාවේදී අඩු කරන්නේ කෙසේද?
සුෆියන් ගොරි

7
Uf සුෆියන්ගොරි බාරොන් ගේ පැහැදිලි කිරීම ලිපිගොනු අවසරය සඳහා සම්පූර්ණ නොවේ. ඔබේ නඩුවේදී සහ අනාගත ගණනය කිරීම් වලදී, පහසුවෙන් මතක තබා ගැනීම සඳහා, ඔබ ඒවා මේ ආකාරයෙන් අඩු කිරීමට මතක තබා ගත යුතුය: 6-0 6-7 6-7 එම තිදෙනාගේ කිසියම් ප්‍රති result ලයක් -1 නම් එය 0 විය යුතුය. එබැවින් අපි අවසාන
ප්‍රති result ලය

1
@ Huy.PhamNhu එය ද නිවැරදි නොවේ. 666 හි මූලික අවසරය සහ 033 හි උමාස්ක් සමඟින් ඔබට 633 ක් ලැබෙන්නේ නැත.
maaartinus

8
නෑ නෑ නෑ. උමාස්ක් ගණනය කිරීම සඳහා ඔබට අඩු කිරීම භාවිතා කළ නොහැක (එය යම් අගයන් සමඟ ක්‍රියා කරයි, නමුත් සියල්ලම නොවේ). ඔබ උමාස්ක් "බිටු අක්‍රීය කරන්න" ලෙස සිතිය යුතුය. සුෆියන් සහ විස්බකිගේ අනෙක් පිළිතුරු බලන්න.
wisbucky

35

පිළිතුරු දුන් අනෙක් අය umasking සංකල්පය හොඳින් පැහැදිලි කර ඇති අතර එය අවශ්‍ය වන්නේ ඇයි. මගේ ශත දෙක එකතු කර අවසරයන් සැබවින්ම ගණනය කරන්නේ කෙසේද යන්න පිළිබඳ ගණිතමය උදාහරණයක් ඔබට දෙන්නම්.

පළමුවෙන්ම, “මාස්ක්” යනු ගණිතමය අර්ථයෙන් “අඩු කිරීම” යන්නෙන් අදහස් නොකෙරේ - ණයට umaskගැනීමක් හෝ රැගෙන යාමක් නොමැත, දෙවනුව, වෙස් මුහුණකි; එය අඩු කළ යුතු අංකයක් නොවේ.

තෙවනුව, ආවරණ අවසර බිටු නිවා දමයි. ඒවා දැනටමත් අක්‍රිය නම්, umaskඅවසරයට කිසිදු වෙනසක් සිදු නොවේ,

නිදසුනක් ලෙස, 077ගොනු 666සහ නාමාවලි සඳහා පද්ධති පෙරනිමි වලින් ඉවත් කිරීමට ඔබට සිදුවේ 777.

ඔබ භාවිතා කරන විධානය නම්,

umask 077

(ද්විමය තුළ අගය ඉවත් කරන්න, 000 111 111)

මෙම වෙස්මුහුණෙන් සිදුවන්නේ එය පළමු එල්එස්බී හයෙන් එකක් (අවම වශයෙන් සැලකිය යුතු බිටු) ඒවා 1අක්‍රිය කර ඇති අතර ඒවායින් කිසිවක් දැනටමත් අක්‍රිය වී ඇත්නම් කිසිදු වෙනසක් සිදු නොවේ.

අවසාන අවසරය ගණනය කරන ආකාරය මෙන්න:

file permisison 666 = 110 110 110 
unmask value    077 = 000 111 111
will result in, 600 = 110 000 000

110අගයන් දෙකම වෙනස් වී ඇති ආකාරය නිරීක්ෂණය කරන්න 000.

ඒ හා සමානව,

directory permission 777 = 111 111 111 
unmask value         077 = 000 111 111
will result in,      700 = 111 000 000

7
මෙය පිළිතුර විය යුතුය!
අබ්දෙලූහාබ්

Uf සුෆියන්ගෝරි ඉතින් umask 177(001 111 111) නම්, එය අවම වශයෙන් සැලකිය යුතු පළමු බිටු 7 නම් ඒවා අක්‍රිය කරනු ඇත1
කසුන්

@KasunSiyambalapitiya නිවැරදි බව
Sufiyan Ghori

1
result = file permission & (!umask)
සූත්‍රයත්

1
Ric එරික් හොජින්ස්: ඔව්, හරියටම.
අමිත් නායිදු

18

මූලික සංකල්පය:

ඔබ බොහෝ මිනිසුන් හා සමාන නම් සහ “අෂ්ටක උමාස්ක් ගණනය කරනු ලබන්නේ බිට්වේස් හරහා සහ බිට්වයිස් නොට් භාවිතා කරමින් තර්කයේ ඒකීය අනුපූරකය” යන්නෙන් අදහස් කරන්නේ නැත්නම්, මගේ සරල පැහැදිලි කිරීම මෙන්න:

පළමුවෙන්ම, "වෙස් මුහුණක්" යනු කුමක්දැයි සිතා බලන්න. වෙස් මුහුණක් යමක් අවහිර කරයි. වෙස්මුහුණු පටිය ගැන සිතන්න. මෙම අවස්ථාවෙහිදී, උමාස්ක් යනු නව ගොනුවක් සෑදීමේදී අවසර අවහිර කිරීම / අක්‍රීය කිරීම සඳහා ආවරණ පටි වැනි ය.

නව ඩර් එකක් සෑදීමේදී පෙරනිමි අවසරයන් වන octal 777 (111 111 111)අතර නව ගොනුවක් වේ octal 666 (110 110 110). සමහර අවසරයන් අවහිර කිරීමට / අක්‍රීය කිරීමට අපි umask සකසා ඇත්තෙමු.

  • 1එම අවසරය අවහිර කිරීම / අක්‍රීය කිරීම සඳහා වෙස්මුහුණු ක්‍රමයක් (ආවරණ පටි එම බිට් එකට උඩින් තබන්න).
  • වෙස්මුහුණු බිට් එකක් 0මඟින් අවසරය ලබා දීමට ඉඩ දෙනු ඇත (එම බිට් එකට ඉහළින් ආවරණ පටියක් නොමැත).

එබැවින් octal 022 (000 010 010)වෙස් මුහුණක් යනු අක්‍රීය කිරීම group writeසහ others writeඅනෙකුත් සියලුම අවසරයන් හරහා යාමට ඉඩ දීමයි.

ගණනය කිරීම:

022 umask සහිත නව ගොනුවක් සඳහා (පෙරනිමි 666 අවසරය) උදාහරණයක් ගණනය කිරීම මෙන්න:

  perm mask result
----------------------------
u 1    0    1 (pass through)
  1    0    1 (pass through)
  0    0    0 (pass through)
----------------------------
g 1    0    1 (pass through)
  1    1    0 (disable)
  0    0    0 (pass through)
----------------------------
o 1    0    1 (pass through)
  1    1    0 (disable)
  0    0    0 (pass through)

එබැවින් ඔබ නව ගොනුවක් සාදන විට 644 හි ප්‍රති result ලය සමඟ අවසන් වන්නේ එලෙසිනි.

පහසුම ක්‍රමය:

නමුත් ප්‍රතිලෝම ආවරණ ගණනය කිරීම් ඔබව ව්‍යාකූල කරන්නේ නම්, සංකේතාත්මක උමාස්ක් අංකනය භාවිතා කිරීමට පහසු ක්‍රමයක් තිබේ. ඔබ මෙම ක්‍රමය භාවිතා කරන විට, ඔබ වෙස් බිටු වෙනුවට පාස්-හරහා බිටු නියම කරයි.

  • umask u=rwx,g=rx,o=rxමාධ්යයන් සඳහා හරහා ගමන් ඉඩ user rwx, group rx, other rx. එයින් ගම්‍ය වන්නේ අක්‍රීය group w, others w. ඔබ මෙම විධානය ක්‍රියාත්මක කරන්නේ නම් පරීක්ෂා කරන්න umask, ඔබට ලැබෙනු ඇත 022.
  • umask u=rwx,g=,o=යන්නට ඉඩ දෙන්න user rwx. එයින් ගම්‍ය වන්නේ groupසහ සඳහා ඇති සියලුම ප්‍රවේශයන් අක්‍රීය කිරීමයි others. ඔබ මෙම විධානය ක්‍රියාත්මක කරන්නේ නම් පරීක්ෂා කරන්න umask, ඔබට ලැබෙනු ඇත 077.

පාරිතෝෂික ගණනය කිරීම:

“අෂ්ටක උමාස්ක් ගණනය කරනු ලබන්නේ බිට්වයිස් හරහා සහ තර්කයේ ඒකීය අනුපූරකය බිට්වේස් නොට් භාවිතා කිරීම” යන්නෙන් ඔබට සැබවින්ම තේරුම් ගැනීමට අවශ්‍ය නම්, නිරූපණය කිරීමට උපකාරී වන තර්කන වගු කිහිපයක් මෙන්න. මතක තබා ගන්න, මාස්ක් බිට් 1යන්නෙන් අදහස් කරන්නේ අක්‍රීයයි, 0එයින් අදහස් කරන්නේ ගමන් කිරීමයි.

perm mask result
----------------
0    1    0     (mask 1 always disables)
1    1    0     (mask 1 always disables)
0    0    0     (mask 0 passes through)
1    0    1     (mask 0 passes through)

ඔබ මේසය සමඟ නම් NOT(mask), දැන් එය සරල ANDතාර්කික වගුවක් පමණි!

perm NOT(mask) result
---------------------
0    0         0     (mask 1 always disables)
1    0         0     (mask 1 always disables)
0    1         0     (mask 0 passes through)
1    1         1     (mask 0 passes through)

එබැවින් ඒ සඳහා වන සූත්‍රය: result = perm AND (NOT mask)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.