| MODUTIL(1) | دستورات کاربر | MODUTIL(1) |
نام (NAME)
modutil - مدیریت ماژولهای پایگاهداده امنیتی PKCS #11 در NSS
خلاصه دستور (SYNOPSIS)
modutil [گزینهها] [[آرگومانها]]
وضعیت (STATUS)
این مستندات هنوز در حال تکمیل هستند. لطفاً در بررسی اولیه در خطای ۸۳۶۴۷۷ موزیلا NSS[1] مشارکت فرمایید.
توضیحات (DESCRIPTION)
دستور modutil ابزاری برای مدیریت پایگاهداده ماژولهای امنیتی PKCS #11 (فایلهای secmod.db) در سرویسهای امنیت شبکه NSS است.
ابزار پایگاهداده ماژول امنیتی، modutil، یک ابزار خط فرمانی برای مدیریت اطلاعات ماژول PKCS #11 هم در فایلهای secmod.db و هم درون توکنهای سختافزاری است. modutil میتواند ماژولهای PKCS #11 را اضافه یا حذف کند، گذرواژههای پایگاههای داده امنیتی را تغییر دهد، مقادیر پیشفرض را تعیین نماید، محتویات ماژول را فهرست کند، اسلاتها را فعال یا غیرفعال سازد، انطباق با استاندارد FIPS 140-2 را فعال یا غیرفعال کند و ارائهدهندگان پیشفرض را برای عملیات رمزنگاری تخصیص دهد. این ابزار همچنین میتواند فایلهای پایگاهداده گواهی، کلید و ماژول امنیتی را ایجاد نماید.
وظایف مرتبط با مدیریت پایگاهداده ماژولهای امنیتی بخشی از فرایندی هستند که معمولاً شامل مدیریت پایگاههای داده کلید و پایگاههای داده گواهی نیز میشود.
گزینهها (OPTIONS)
اجرای modutil همواره نیازمند یک (و تنها یک) گزینه برای تعیین نوع عملیات ماژول است. هر گزینه ممکن است آرگومانهایی دریافت کند، از هیچ تا چندین آرگومان.
گزینهها
-add modulename
-changepw tokenname
-chkfips
-create
-default modulename
-delete modulename
-disable modulename
ماژول داخلی NSS PKCS #11 قابل غیرفعال کردن نیست.
-enable modulename
-fips [true | false]
-force
-jar JAR-file
-list [modulename]
-rawadd
-rawlist
-undefault modulename
آرگومانها
MODULE
MODULESPEC
-ciphers cipher-enable-list
-dbdir directory
ابزار modutil از دو نوع پایگاهداده پشتیبانی میکند: پایگاههای داده امنیتی سنتی (cert8.db، key3.db و secmod.db) و پایگاههای داده SQLite (cert9.db، key4.db و pkcs11.txt). اگر پیشوند dbm: استفاده نشود، ابزار فرض میکند که پایگاههای داده دادهشده در قالب SQLite هستند.
--dbprefix prefix
-installdir root-installation-directory
-libfile library-file
-mechanisms mechanism-list
هنگامی که این سازوکارها فعال شوند، ماژول ارائهدهنده پیشفرض آنها میگردد. اگر بیش از یک ماژول ادعای ارائهدهنده پیشفرض بودن یک سازوکار خاص را داشته باشد، ارائهدهنده پیشفرض آن سازوکار تعریفنشده خواهد بود.
دستور modutil از چندین سازوکار پشتیبانی میکند: RSA، DSA، RC2، RC4، RC5، AES، DES، DH، SHA1، SHA256، SHA512، SSL، TLS، MD5، MD2، RANDOM (برای تولید اعداد تصادفی)، و FRIENDLY (به این معنی که گواهیها به صورت عمومی قابل خواندن هستند).
-newpwfile new-password-file
-nocertdb
-pwfile old-password-file
-secmod secmodname
-slot slotname
-string CONFIG_STRING
-tempdir temporary-directory
کاربرد و مثالها (USAGE AND EXAMPLES)
ایجاد فایلهای پایگاهداده
پیش از انجام هرگونه عملیات، باید مجموعهای از پایگاههای داده امنیتی در دسترس باشد. از modutil میتوان برای ایجاد این فایلها استفاده کرد. تنها آرگومان الزامی، دایرکتوری محلی است که پایگاههای داده در آن قرار خواهند گرفت.
modutil -create -dbdir directory
افزودن یک ماژول رمزنگاری
افزودن یک ماژول PKCS #11 به معنای ارائه فایل کتابخانه پشتیبان، فعالسازی الگوریتمهای رمزنگاری آن و تعیین وضعیت ارائهدهنده پیشفرض برای سازوکارهای امنیتی مختلف است. این کار را میتوان با ارائه مستقیم تمامی اطلاعات از طریق modutil یا با اجرای یک فایل JAR و اسکریپت نصب انجام داد. برای سادهترین حالت، تنها کتابخانه را بارگذاری کنید:
modutil -add modulename -libfile library-file [-ciphers cipher-enable-list] [-mechanisms mechanism-list]
به عنوان مثال:
modutil -dbdir /home/my/sharednssdb -add "Example PKCS #11 Module" -libfile "/tmp/crypto.so" -mechanisms RSA:DSA:RC2:RANDOM Using database directory ... Module "Example PKCS #11 Module" added to database.
نصب یک ماژول رمزنگاری از یک فایل JAR
ماژولهای PKCS #11 همچنین میتوانند با استفاده از یک فایل JAR بارگذاری شوند که شامل تمامی کتابخانههای مورد نیاز و یک اسکریپت نصب است که نحوه نصب ماژول را توصیف میکند. اسکریپت نصب JAR با جزئیات بیشتر در بخش «قالب فایل نصب JAR» شرح داده شده است.
اسکریپت نصب JAR اطلاعات راهاندازی را برای هر بستری که ماژول میتواند روی آن نصب شود تعریف میکند. برای مثال:
Platforms {
Linux:5.4.08:x86 {
ModuleName { "Example PKCS #11 Module" }
ModuleFile { crypto.so }
DefaultMechanismFlags{0x0000}
CipherEnableFlags{0x0000}
Files {
crypto.so {
Path{ /tmp/crypto.so }
}
setup.sh {
Executable
Path{ /tmp/setup.sh }
}
}
}
Linux:6.0.0:x86 {
EquivalentPlatform { Linux:5.4.08:x86 }
}
}
هم اسکریپت نصب و هم کتابخانههای مورد نیاز باید در یک فایل JAR بستهبندی شوند که با آرگومان -jar مشخص میشود.
modutil -dbdir /home/mt"jar-install-filey/sharednssdb -jar install.jar -installdir /home/my/sharednssdb This installation JAR file was signed by: ---------------------------------------------- **SUBJECT NAME** C=US, ST=California, L=Mountain View, CN=Cryptorific Inc., OU=Digital ID Class 3 - Netscape Object Signing, OU="www.verisign.com/repository/CPS Incorp. by Ref.,LIAB.LTD(c)9 6", OU=www.verisign.com/CPS Incorp.by Ref . LIABILITY LTD.(c)97 VeriSign, OU=VeriSign Object Signing CA - Class 3 Organization, OU="VeriSign, Inc.", O=VeriSign Trust Network **ISSUER NAME**, OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign, OU=VeriSign Object Signing CA - Class 3 Organization, OU="VeriSign, Inc.", O=VeriSign Trust Network ---------------------------------------------- Do you wish to continue this installation? (y/n) y Using installer script "installer_script" Successfully parsed installation script Current platform is Linux:5.4.08:x86 Using installation parameters for platform Linux:5.4.08:x86 Installed file crypto.so to /tmp/crypto.so Installed file setup.sh to ./pk11inst.dir/setup.sh Executing "./pk11inst.dir/setup.sh"... "./pk11inst.dir/setup.sh" executed successfully Installed module "Example PKCS #11 Module" into module database Installation completed successfully
افزودن مشخصات ماژول
هر ماژول اطلاعاتی درباره پیکربندی و پارامترهای خود دارد که در پایگاهداده امنیتی ذخیره میشود. این موارد را میتوان با استفاده از دستور -rawadd اضافه یا ویرایش کرد. برای تنظیمات جاری یا مشاهده قالب مشخصات ماژول در پایگاهداده، از گزینه -rawlist استفاده کنید.
modutil -rawadd modulespec
حذف یک ماژول
یک ماژول خاص PKCS #11 را میتوان از پایگاهداده secmod.db حذف کرد:
modutil -delete modulename -dbdir directory
نمایش اطلاعات ماژول
پایگاهداده secmod.db حاوی اطلاعاتی درباره ماژولهای PKCS #11 است که برای استفاده یک برنامه یا سرور در دسترس هستند. فهرست همه ماژولها، اطلاعات مربوط به ماژولهای خاص و مشخصات پیکربندی پایگاهداده برای ماژولها همگی قابل مشاهده هستند.
برای دریافت ساده فهرست ماژولهای موجود در پایگاهداده، از دستور -list استفاده کنید.
modutil -list [modulename] -dbdir directory
فهرست کردن ماژولها نام ماژول، وضعیت آنها و سایر پایگاههای داده امنیتی مرتبط برای گواهیها و کلیدها را نشان میدهد. برای مثال:
modutil -list -dbdir /home/my/sharednssdb
Listing of PKCS #11 Modules
-----------------------------------------------------------
1. NSS Internal PKCS #11 Module
slots: 2 slots attached
status: loaded
slot: NSS Internal Cryptographic Services
token: NSS Generic Crypto Services
uri: pkcs11:token=NSS%20Generic%20Crypto%20Services;manufacturer=Mozilla%20Foundation;serial=0000000000000000;model=NSS%203
slot: NSS User Private Key and Certificate Services
token: NSS Certificate DB
uri: pkcs11:token=NSS%20Certificate%20DB;manufacturer=Mozilla%20Foundation;serial=0000000000000000;model=NSS%203
-----------------------------------------------------------
ارسال نام یک ماژول مشخص به همراه -list اطلاعات دقیق در مورد خود ماژول مانند سازوکارهای رمزنگاری پشتیبانیشده، شماره نسخهها، شماره سریالها و سایر اطلاعات مربوط به ماژول و توکنی که روی آن بارگذاری شده است را برمیگرداند. برای مثال:
modutil -list "NSS Internal PKCS #11 Module" -dbdir /home/my/sharednssdb ----------------------------------------------------------- Name: NSS Internal PKCS #11 Module Library file: **Internal ONLY module** Manufacturer: Mozilla Foundation Description: NSS Internal Crypto Services PKCS #11 Version 2.20 Library Version: 3.11 Cipher Enable Flags: None Default Mechanism Flags: RSA:RC2:RC4:DES:DH:SHA1:MD5:MD2:SSL:TLS:AES Slot: NSS Internal Cryptographic Services Slot Mechanism Flags: RSA:RC2:RC4:DES:DH:SHA1:MD5:MD2:SSL:TLS:AES Manufacturer: Mozilla Foundation Type: Software Version Number: 3.11 Firmware Version: 0.0 Status: Enabled Token Name: NSS Generic Crypto Services Token Manufacturer: Mozilla Foundation Token Model: NSS 3 Token Serial Number: 0000000000000000 Token Version: 4.0 Token Firmware Version: 0.0 Access: Write Protected Login Type: Public (no login required) User Pin: NOT Initialized Slot: NSS User Private Key and Certificate Services Slot Mechanism Flags: None Manufacturer: Mozilla Foundation Type: Software Version Number: 3.11 Firmware Version: 0.0 Status: Enabled Token Name: NSS Certificate DB Token Manufacturer: Mozilla Foundation Token Model: NSS 3 Token Serial Number: 0000000000000000 Token Version: 8.3 Token Firmware Version: 0.0 Access: NOT Write Protected Login Type: Login required User Pin: Initialized
دستور مرتبط -rawlist اطلاعات مربوط به پیکربندی پایگاهداده را برای ماژولها برمیگرداند. (این اطلاعات را میتوان با بارگذاری مشخصات جدید با استفاده از دستور -rawadd ویرایش کرد.)
modutil -rawlist -dbdir /home/my/sharednssdb
name="NSS Internal PKCS #11 Module" parameters="configdir=. certPrefix= keyPrefix= secmod=secmod.db flags=readOnly " NSS="trustOrder=75 cipherOrder=100 slotParams={0x00000001=[slotFlags=RSA,RC4,RC2,DES,DH,SHA1,MD5,MD2,SSL,TLS,AES,RANDOM askpw=any timeout=30 ] } Flags=internal,critical"
تعیین ارائهدهنده پیشفرض برای سازوکارهای امنیتی
چندین ماژول امنیتی ممکن است از سازوکارهای امنیتی یکسانی پشتیبانی کنند. این امکان وجود دارد که یک ماژول امنیتی خاص را به عنوان ارائهدهنده پیشفرض یک سازوکار امنیتی خاص تعیین کنید (یا برعکس، یک ارائهدهنده را از ارائه آن سازوکارها منع نمایید).
modutil -default modulename -mechanisms mechanism-list
برای تنظیم یک ماژول به عنوان ارائهدهنده پیشفرض سازوکارها، از دستور -default به همراه فهرستی از سازوکارها که با دونقطه از هم جدا شدهاند استفاده کنید. سازوکارهای در دسترس به ماژول بستگی دارند؛ NSS تقریباً تمام سازوکارهای رایج را فراهم میکند. برای مثال:
modutil -default "NSS Internal PKCS #11 Module" -dbdir -mechanisms RSA:DSA:RC2 Using database directory c:\databases... Successfully changed defaults.
پاک کردن ارائهدهنده پیشفرض نیز قالب مشابهی دارد:
modutil -undefault "NSS Internal PKCS #11 Module" -dbdir -mechanisms MD2:MD5
فعال و غیرفعالسازی ماژولها و اسلاتها
ماژولها و اسلاتهای خاص روی ماژولها را میتوان با استفاده از modutil به صورت انتخابی فعال یا غیرفعال کرد. هر دو دستور قالب یکسانی دارند:
modutil -enable|-disable modulename [-slot slotname]
به عنوان مثال:
modutil -enable "NSS Internal PKCS #11 Module" -slot "NSS Internal Cryptographic Services " -dbdir . Slot "NSS Internal Cryptographic Services " enabled.
مطمئن شوید که مقدار مناسب فاصله خالی انتهایی بعد از نام اسلات وجود داشته باشد. نام برخی اسلاتها دارای مقدار قابل توجهی فاصله انتهایی است که حتماً باید درج شود، در غیر این صورت عملیات با شکست مواجه خواهد شد.
فعالسازی و اعتبارسنجی انطباق با FIPS
ماژولهای NSS میتوانند با استفاده از modutil به همراه گزینه -fips انطباق با FIPS 140-2 را فعال یا غیرفعال کنند. برای مثال:
modutil -fips true -dbdir /home/my/sharednssdb/ FIPS mode enabled.
برای بررسی وضعیت حالت FIPS، دستور -chkfips را با فلگ true یا false اجرا کنید (فرقی نمیکند کدام یک). ابزار تنظیمات جاری FIPS را برمیگرداند.
modutil -chkfips false -dbdir /home/my/sharednssdb/ FIPS mode enabled.
تغییر گذرواژه در یک توکن
مقداردهی اولیه یا تغییر گذرواژه توکن:
modutil -changepw tokenname [-pwfile old-password-file] [-newpwfile new-password-file]
modutil -dbdir /home/my/sharednssdb -changepw "NSS Certificate DB" Enter old password: Incorrect password, try again... Enter old password: Enter new password: Re-enter new password: Token "Communicator Certificate DB" password changed successfully.
قالب فایل نصب JAR (JAR INSTALLATION FILE FORMAT)
هنگامی که یک فایل JAR توسط سرور، توسط modutil، یا توسط هر برنامهای که جاوااسکریپت را تفسیر نمیکند اجرا میشود، باید یک فایل اطلاعات ویژه برای نصب کتابخانهها گنجانده شود. چند نکته وجود دارد که باید در مورد این فایل به یاد داشته باشید:
نمونه اسکریپت
برای مثال، اسکریپت نصاب PKCS #11 میتواند در فایل pk11install باشد. در این صورت، فایل فراداده برای signtool شامل خطی مانند این خواهد بود:
+ Pkcs11_install_script: pk11install
اسکریپت باید بستر و شماره نسخه، نام ماژول و فایل، و هرگونه اطلاعات اختیاری مانند الگوریتمهای رمزنگاری و سازوکارهای پشتیبانیشده را تعریف کند. چندین بستر را میتوان در یک فایل نصب منفرد تعریف کرد.
ForwardCompatible { IRIX:6.2:mips SUNOS:5.5.1:sparc }
Platforms {
WINNT::x86 {
ModuleName { "Example Module" }
ModuleFile { win32/fort32.dll }
DefaultMechanismFlags{0x0001}
DefaultCipherFlags{0x0001}
Files {
win32/setup.exe {
Executable
RelativePath { %temp%/setup.exe }
}
win32/setup.hlp {
RelativePath { %temp%/setup.hlp }
}
win32/setup.cab {
RelativePath { %temp%/setup.cab }
}
}
}
SUNOS:5.5.1:sparc {
ModuleName { "Example UNIX Module" }
ModuleFile { unix/fort.so }
DefaultMechanismFlags{0x0001}
CipherEnableFlags{0x0001}
Files {
unix/fort.so {
RelativePath{%root%/lib/fort.so}
AbsolutePath{/usr/local/netscape/lib/fort.so}
FilePermissions{555}
}
xplat/instr.html {
RelativePath{%root%/docs/inst.html}
AbsolutePath{/usr/local/netscape/docs/inst.html}
FilePermissions{555}
}
}
}
IRIX:6.2:mips {
EquivalentPlatform { SUNOS:5.5.1:sparc }
}
}
گرامر اسکریپت
این اسکریپت جاوای پایه است که لیستها، جفتهای کلید-مقدار، رشتهها و ترکیبی از همه آنها را مجاز میداند.
--> valuelist
valuelist --> value valuelist
<null>
value ---> key_value_pair
string
key_value_pair --> key { valuelist }
key --> string
string --> simple_string
"complex_string"
simple_string --> [^ \t\n\""{""}"]+
complex_string --> ([^\"\\\r\n]|(\\\")|(\\\\))+
نقلقولها و بکاسلشها باید با یک بکاسلش اسکیپ شوند. یک رشته پیچیده نباید شامل خطوط جدید یا بازگشت به ابتدای سطر باشد. خارج از رشتههای پیچیده، تمام فضاهای خالی (مانند فاصلهها، تبها و کاراکترهای بازگشت به خط بعد) یکسان تلقی شده و صرفاً برای جداسازی نشانهها استفاده میشوند.
کلیدها
فایل نصب جاوا از کلیدها برای تعریف اطلاعات پلتفرم و ماژول استفاده میکند.
ForwardCompatible فهرستی از پلتفرمهایی که سازگاری رو به جلو دارند را ارائه میدهد. اگر پلتفرم جاری در فهرست پلتفرمهای پشتیبانیشده یافت نشود، فهرست ForwardCompatible برای پلتفرمهایی با همان سیستمعامل و معماری در یک نسخه پیشین بررسی میشود. در صورت یافتن، ویژگیهای آن برای پلتفرم جاری به کار میرود.
Platforms (الزامی) فهرستی از پلتفرمها را مشخص میکند. هر مدخل در فهرست خود یک جفت کلید-مقدار است: کلید نام پلتفرم است و فهرست مقادیر شامل ویژگیهای گوناگون پلتفرم است. رشته پلتفرم در قالب system name:OS release:architecture است. نصاب این مقادیر را از NSPR به دست میآورد. مقدار OS release در سیستمعاملهای غیر یونیکسی یک رشته خالی است. سامانه NSPR از این پلتفرمها پشتیبانی میکند:
برای مثال:
IRIX:6.2:mips SUNOS:5.5.1:sparc Linux:2.0.32:x86 WIN95::x86
اطلاعات ماژول به طور مستقل برای هر پلتفرم در ویژگیهای ModuleName، ModuleFile و Files تعریف میشود. این ویژگیها باید ارائه شوند مگر اینکه یک ویژگی EquivalentPlatform مشخص شده باشد.
کلیدهای مربوط به هر پلتفرم
کلیدهای مربوط به هر پلتفرم تنها در فهرست مقادیر یک مدخل در فهرست Platforms معنا دارند.
ModuleName (الزامی) نام عمومی ماژول را مشخص میکند. این نام برای ارجاع به ماژول توسط سرورها و ابزار modutil به کار میرود.
ModuleFile (الزامی) نام فایل ماژول PKCS #11 را برای این پلتفرم مشخص میکند. این نام به عنوان مسیر نسبی فایل در آرشیو JAR داده میشود.
Files (الزامی) فایلهایی را که باید برای این ماژول نصب شوند فهرست میکند. هر مدخل در فهرست فایل یک جفت کلید-مقدار است. کلید مسیر فایل در آرشیو JAR است و فهرست مقادیر شامل ویژگیهای فایل است. برای هر فایل حداقل یکی از RelativePath یا AbsolutePath باید مشخص شود.
DefaultMechanismFlags سازوکارهایی را تعیین میکند که این ماژول ارائهدهنده پیشفرض آنها است؛ این معادل گزینه -mechanism همراه با دستور -add است. این جفت کلید-مقدار یک رشته بیتی است که در قالب هگزادسیمال (0x) مشخص میشود و به صورت OR بیتی ساخته میشود. اگر مدخل DefaultMechanismFlags حذف شود، مقدار به طور پیشفرض 0x0 خواهد بود.
RSA: 0x00000001 DSA: 0x00000002 RC2: 0x00000004 RC4: 0x00000008 DES: 0x00000010 DH: 0x00000020 FORTEZZA: 0x00000040 RC5: 0x00000080 SHA1: 0x00000100 MD5: 0x00000200 MD2: 0x00000400 RANDOM: 0x08000000 FRIENDLY: 0x10000000 OWN_PW_DEFAULTS: 0x20000000 DISABLE: 0x40000000
CipherEnableFlags الگوریتمهای رمزنگاری ارائهشده توسط این ماژول را مشخص میکند که NSS فراهم نمیکند (تا ماژول آن الگوریتمها را برای NSS فعال سازد). این معادل آرگومان -cipher در دستور -add است. این کلید یک رشته بیتی در قالب هگزادسیمال (0x) است و به صورت OR بیتی ساخته میشود. اگر مدخل CipherEnableFlags حذف شود، مقدار پیشفرض آن 0x0 خواهد بود.
EquivalentPlatform مشخص میکند که ویژگیهای پلتفرم نامبرده باید برای پلتفرم جاری نیز استفاده شوند. این کار استفاده از تنظیمات یکسان را در بیش از یک پلتفرم سادهتر میکند.
کلیدهای مربوط به هر فایل
برخی کلیدها تنها درون فهرست مقادیر یک مدخل در فهرست Files معنا دارند.
هر فایل به یک کلید مسیر نیاز دارد که محل قرارگیری فایل را مشخص کند. حداقل یکی از گزینههای RelativePath یا AbsolutePath باید تعیین شود. اگر هر دو تعیین شوند، ابتدا مسیر نسبی امتحان میشود و مسیر مطلق تنها زمانی استفاده میشود که هیچ پوشه ریشه نسبی توسط برنامه نصاب ارائه نشده باشد.
RelativePath دایرکتوری مقصد فایل را به صورت نسبی به پوشهای که در زمان نصب مشخص میشود تعیین میکند. دو متغیر میتوانند در مسیر نسبی استفاده شوند: %root% و %temp%. متغیر %root% در زمان اجرا با پوشهای که فایلها باید نسبت به آن نصب شوند جایگزین میشود؛ به عنوان مثال، ممکن است پوشه ریشه سرور باشد. پوشه %temp% در ابتدای نصب ایجاد شده و در پایان نابود میشود. هدف از %temp% نگهداری فایلهای اجرایی (مانند برنامههای نصب) یا فایلهای مورد استفاده این برنامهها است. فایلهای در نظر گرفتهشده برای دایرکتوری موقت قبل از اجرای هر فایل اجرایی تضمین شده که در محل خود قرار دارند؛ آنها تا زمانی که اجرای تمامی فایلهای اجرایی پایان نیافته باشد حذف نخواهند شد.
AbsolutePath دایرکتوری مقصد فایل را به عنوان یک مسیر مطلق مشخص میکند.
Executable مشخص میکند که فایل باید در طول فرایند نصب اجرا شود. معمولاً این رشته برای برنامه نصبی که توسط ارائهدهنده ماژول ارائه شده است (مانند یک فایل اجرایی نصب خود-استخراجکننده) استفاده میشود. بیش از یک فایل را میتوان به عنوان اجرایی مشخص کرد که در این صورت فایلها به ترتیبی که در فایل اسکریپت مشخص شدهاند اجرا میشوند.
FilePermissions مجوزهای هر فایل ارجاع داده شده را در قالب رشتهای از ارقام اکتال (مبنای ۸) طبق فرمت استاندارد یونیکس تنظیم میکند. این رشته یک OR بیتی است.
user read: 0400 user write: 0200 user execute: 0100 group read: 0040 group write: 0020 group execute: 0010 other read: 0004 other write: 0002 other execute: 0001
برخی پلتفرمها ممکن است این مجوزها را درک نکنند. آنها تنها تا جایی اعمال میشوند که برای پلتفرم جاری معنادار باشند. اگر این ویژگی حذف شود، مقدار پیشفرض 777 در نظر گرفته میشود.
انواع پایگاهداده NSS (NSS DATABASE TYPES)
سامانه NSS در ابتدا از پایگاههای داده BerkeleyDB برای ذخیره اطلاعات امنیتی استفاده میکرد. آخرین نسخههای این پایگاههای داده سنتی (legacy) عبارتند از:
با این وجود، BerkeleyDB دارای محدودیتهای کارایی است که مانع از استفاده آسان و همزمان چند برنامه از آن میشود. نرمافزار NSS دارای انعطافپذیریهایی است که به برنامهها اجازه میدهد ضمن نگهداری یک پایگاهداده مشترک و رفع مشکلات دسترسی، از موتور پایگاهداده مستقل خود استفاده کنند. با این حال، NSS برای ارائه یک پایگاهداده امنیتی واقعاً مشترک به انعطافپذیری بیشتری نیاز دارد.
در سال ۲۰۰۹، NSS مجموعه جدیدی از پایگاههای داده را معرفی کرد که به جای BerkeleyDB از پایگاههای داده SQLite استفاده میکنند. این پایگاههای داده جدید دسترسیپذیری و کارایی بیشتری را فراهم میکنند:
از آنجا که پایگاههای داده SQLite برای اشتراکگذاری طراحی شدهاند، این پایگاههای داده از نوع اشتراکی (shared) هستند. نوع پایگاهداده اشتراکی ترجیح داده میشود؛ قالب سنتی صرفاً برای سازگاری با گذشته گنجانده شده است.
به طور پیشفرض، ابزارها (certutil، pk12util، modutil) فرض میکنند که پایگاههای داده امنیتی دادهشده از نوع SQLite استفاده میکنند. استفاده از پایگاههای داده سنتی باید با استفاده از پیشوند dbm: به همراه دایرکتوری امنیتی دادهشده به صورت دستی مشخص شود. برای مثال:
modutil -create -dbdir dbm:/home/my/sharednssdb
برای تنظیم نوع پایگاهداده سنتی به عنوان نوع پیشفرض ابزارها، متغیر محیطی NSS_DEFAULT_DB_TYPE را برابر dbm قرار دهید:
export NSS_DEFAULT_DB_TYPE="dbm"
این خط را میتوان به فایل ~/.bashrc اضافه کرد تا این تغییر برای کاربر دائمی شود.
برای مشاهده پیشنویس مهندسی تغییرات در پایگاههای داده مشترک NSS، به ویکی پروژه NSS مراجعه کنید:
همچنین ببینید (SEE ALSO)
certutil (1)
pk12util (1)
signtool (1)
ویکی پروژه NSS حاوی اطلاعاتی درباره طراحی پایگاهداده جدید و نحوه پیکربندی برنامهها برای استفاده از آن است.
منابع تکمیلی (ADDITIONAL RESOURCES)
برای کسب اطلاعات بیشتر درباره NSS و سایر ابزارهای مرتبط با NSS (مانند JSS)، به ویکی پروژه NSS در http://www.mozilla.org/projects/security/pki/nss مراجعه فرمایید. وبسایت NSS مستقیماً با تغییرات کد و نسخههای انتشاریافته NSS مرتبط است.
فهرستهای پستی: https://lists.mozilla.org/listinfo/dev-tech-crypto
کانال گفتگو (IRC): سرور Freenode کانال #dogtag-pki
نویسندگان (AUTHORS)
ابزارهای NSS توسط توسعهدهندگانی از Netscape، Red Hat، Sun، Oracle، Mozilla و Google نوشته و نگهداری شدهاند.
نویسندگان: Elio Maldonado <emaldona@redhat.com> و Deon Lackey <dlackey@redhat.com>.
مجوز (LICENSE)
تحت مجوز عمومی موزیلا (MPL) نسخه ۲.۰ منتشر شده است. اگر نسخهای از MPL همراه با این فایل توزیع نشده است، میتوانید آن را در http://mozilla.org/MPL/2.0 دریافت کنید.
یادداشتها (NOTES)
- 1.
- Mozilla NSS bug 836477
| مه ۲۰۲۵ | nss |