sf

sf

sf

sf

۶ مطلب در ارديبهشت ۱۳۹۶ ثبت شده است

  • ۰
  • ۰

بررسی مجوز های فایل در لینوکس وسرور مجازی سرور اختصاصی

می 21, 2017

بررسی مجوز های فایل در لینوکس

در لینوکس هر object که ایجاد میشود یک شناسه منحصر به فرد دارد که اطلاع و مجوزها و صاحب هر object را مشخص

میکند.

وقتیفرمانl -ls را میزنیم اطلاع و مشخصا فایل ها را مشخص میکند.اولین فیلد اطلاعتی شامل مجوزها می باشد .سمت چپ

ترین کاراکتر اگر d باشد یعنیدایرکتوری است و اگر – باشد یعنی فایل است.

بعد از سمت چپ ترین کاراکتر در فیلد اول . کاراکتر دیگر هم در این فیلد مشاهده میکنیم که سه دسته می باشند.سه تا ی اول

مربوط به ownerیعنی صاحب فایل می باشد execute write read rwx یعنی مجوز خواندن، نوشتن و اجرا کردن. اگر به

جای هر کدام از این کاراکترها – بود یعنی اجازه ی انجام آن کار را ندارد .سه تای دوم مربوط به هم گروه ها ی آن userid می

باشدgroup که مشخص میکند هم گروههای آن userid چه permission هایی دارندexecute write read rwx و سه

تای آخر هم مجوز های مربوط به other را مشخص می کند یعنی افراد غریبه چه مجوزهایی دارند.به عنوان مثال مجوز زیر می

تواند مربوط به یک فایل می باشد.

سرور مجازی 

-rwx r– r–

حال با این فرمان از هر جایی که هستیم به خانه ی خودمان میرویم :

[N.pardis@Lpi1~]$ cd /home/

به یاد داشته باشید که هیچ وقت در لینوکس اسم فایل و یا فرمان ی را به طور کامل تا ی م نکنید و همیشه از کلید tab که

completion command است استفاده کنید.

 

و از آنجا به خانه یک فرد دیگر میرویم که پی ام denied permission میگیریم چون باید root باشیم تا این مجوز فعال شود

و اجازه داشته باشیم:

[N.pardis@Lpi1~]$ cd /a.Niki/

Permission denied

حال اگر مجوزها را تغییردهیم میتوانیم به خانهی فرد برویم که با فرمانchmod میتوانیم مجوزها را تغییردهیم. 777 یعنی

همه میتوانند همه کاری را انجام دهند، هر فردی چه غریبه و چه همگروه میتوانند همه کاری انجام دهند.

اجازهی اجرای دایرکتورییعنی مجوز x برای یک دایرکتوری چیست؟

ln

در لینوکس ما میتوانیم به یک فایل تا 055 تا اسم بدهیم.

فرمانln که مخفف link می باشد در لینوکس برای دادن چندین اسم به یک فایل به کار می رود.

ابتدا یک فایل می سازیم.با فرمانl –ls مشخصا آن را میبینیم که اندازه آن صفر است.

[N.pardis@Lpi1~]$ > F1

[N.pardis@Lpi1~]$ ls-l

اگر بخواهیم دو تا اسم دهیم از فرمانln استفاده میکنیم که با هم manual آن را میبینیم

[N.pardis@lpi1 ~]$ man ln

[N.pardis@Lpi1~]$ln F1 F2

[N.pardis@Lpi1~]$ln F1 F3

حال F1 سه تا اسم دارد.فرمانln که مخفف link می باشد چندین کاربرد دارد:

1:فایل های با نام طولانی را می توانیم یک اسم کوتاه بدهیم .

0:به یک فایل می توانیم چندین نام به زبان های مختلف بدهیم.

3:ت ییرا در هر چند فایل به صورت همزمان اعمال می شود.

ttp

19

1:با پاک شدن یکی از فایل ها در صورت وجود نام دیگر به طور کامل نابود نمی شود چون 0 تا اسم دارد از روی دیسک پاک

نمیشود..سرور اختصاصی 

فرمانrm فایل را پاک میکند:

[N.pardis@Lpi1~]$rm F2

حال فایلی که ساختیم دواسمیمیشود.

آیا F3یک کپی از F2 است؟ چطور بفهمیم که یکی هستند؟

در لینوکس هر object ای که درست میکنیم به آن یک عدد صحیح و مثبت اختصاص میدهد. که اگر قبل از دس تور l-lsیک

i –هم بنویسیم یعنیindexیا شمارهی آن را هم میدهد و شماره F1 و F3 را میبینیم که یکی است. ه ر object در لین وکس

درست شود یک شماره دارد که به آن inode node index میگویند.

حال اگر i –ls بزنیم میبینیم که شماره این سه فایل یعنیinode آنها یکی است البته چون یکی از آنه ا را delete کرد یم الان

دو تا فایل داریم که f1 و f3 می باشند که inode آنها یکی است.

[n.pardis@lpi ~]$ ls -i

با فرمانfind میتوانید پیدا کنید که فایلهایی که هم اسم هستند را نشان دهد.

 حال یک دایرکتوری میسازیم تا ببینیم به تناق میرسیم یا نه؟

[N.pardis@Lpi1~]$mkdir test2

[N.pardis@Lpi1~]$ls-l

میبینیم که این دایرکتوری که تازه ساختیم و هیچ ln هم به آن نداشتیم تعداد لینکهایش 0 است چرا؟

مثالً یک دایرکتوریetc داریم که 055 اسم دارد آیا میتواند درست باشد؟ تعداد لینکهای دایرکتوری 0 است ولی فایل 1 است

منبع : https://sarvserver.com/%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D9%85%D8%AC%D9%88%D8%B2-%D9%87%D8%A7%DB%8C-%D9%81%D8%A7%DB%8C%D9%84-%D8%AF%D8%B1-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D9%88%D8%B3%D8%B1%D9%88%D8%B1-%D9%85%D8%AC%D8%A7/

  • server server
  • ۰
  • ۰


سرور مجازی لینوکس ساخت فایل از خروجی یک فرمان

آوریل 26, 2017

ساخت فایل از خروجی یک فرمان

حال میخواهیم ببینیم اگر بخواهیم محتویاتت یک فایل را به جای اینکه نمایش دهیم در یک فایل بریزیم چه کاری باید انجام

دهیم:

[N.pardis@Lpi1~]$ cat namef> a

بنابراین برای اینکه خروجی یک فایل را به جای اینکه نمایش دهیم در فایلی نگه داریم از علامت <یعنیredirection استفاده می

کنیم. با این دستوریک فایلی درست شد به اسم a و محتویات namef داخل آن است.

فقط اسامی را در فایلی به نام name بریزید:

[N.pardis@Lpi1~]$ cut-c1-10namef > name

فقط نام خانوادگی را در فایلی به نام family بریزید:

[N.pardis@Lpi1~]$ cut -c18-30 namef > family

اگر دو تا علامت < داشته باشیم یعنی><به چه معنی می باشد؟

سرور مجازی 

یعنی اگر فایلی به نام family در مثال بالا وجود دارد در انتهای آن اضافه میکند و محتویاتت فایل قبلی تغییر نمی نماید ولی اگر

فایل وجود نداشته باشد فایلfamily را خودش می سازد.

فایل passwd

Untitled-4-1.png

در لینوکس فایلی داریم به نام passwd که تمام userId ها در آن ثبت شده اند و به این صورت میتوانیم محتویات آن را

ببینیم:

[N.pardis@Lpi1~]$ less /etc/ passwd

محتویات داخل این فایل با: از هم جدا شده اند و اطلاع مربوط به هر Id user با دو نقطه از Id user بعدی جدا میشود:

قلمهای اطلاعتیId user و password و شماره Id و … می باشد.پس فایل passwd آدرس و شماره و … شما را نگه میدارد.

ما میتوانیم این فایل را تغییردهیم.

اگر بخواهیم مشخصه Fingerیک شناسه را تغییربدهیم:

[N.pardis@Lpi1~]$ chfn

Password

Name

Office

Phone

اگر بخواهیم ببینیم به عنوان مثال:

سرور اختصاصی 

[N.pardis@Lpi1~]$ finger n.pardis

میخو اهیم تمام Id user ها را از فایل passwd جدا کنیم و محتویات آن را به userid به نام sabt ارسال کنیم؟

[N.pardis@Lpi1~]$ cut -f1 -d: /etc/ passwd |mail -s uid sabt

آپشن d –مخفف delimiter به معنی جدا کننده می باشد و در این فایل جداکننده دو نقطه : می باشد.

میخواهیم sort کنیم و ایمیل کنیم:

[N.pardis@Lpi1~]$ cut -f1 -d: /etc/passwd |sort| mail-s uid sabt

میخواهیم فیلد اوّل و پنجم را جدا کنیم:

[N.pardis@Lpi1~]$ cut -f1,5 -d: /etc/passwd |sort| mail-s uid sabt

اگر بخواهیم history خودمان را Mail کنیم به این صورت :

[N.pardis@Lpi1~]$ history |mail-s myhis sabt

اگر بخواهیم history مان برای همه ایمیل کنیم به جای اینکه اسم همه id user ها را بنویسیم از users استفاده میکنیم.

[N.pardis@Lpi1~]$ history |mail -s my hist `users`

تعریف متغیر در لینوکس

در لینوکس ما متغیرداریم و میتوانیم به راحتی به آن مقدار دهیم :

[N.pardis@Lpi1~]$ x=2

برای اینکه مقدار یک متغیریا محتویات یک متغیررا ببینیم از echo استفاده میکنیم و جلوی اسم متغیرعلامت $ قرار

میدهیم که مقدار آن را در نظر بگیرد نه اینکه اسم متغیر را بنویسد:

[N.pardis@Lpi1~]$echo $x

دستور زیر مقدار متغیرx را در t میریزد.

[N.pardis@Lpi1~]$ echo t=$x

برای اینکه یک عبارت را در کنار مقدار متغیرچاپ کند به این صورت مینویسیم:

[N.pardis@Lpi1~]$ echo ${x}aictc

عبارت متغیر

read

برای خواندن اطلاع در لینوکس فرمانread را داریم که به وسیلهیفرمانtype میفهمیم که یک دستور builtin میباشد:

[N.pardis@Lpi1~]$ type read

read is a shell builtin.

وقتی فرمانread و سپس نام متغیررا وارد می نمایید.

ttp

14

[N.pardis@Lpi1~]$ Read NAME

 اسم متغیر

سپس منترر میماند تا شما اطلاعتی را وارد کنید و به عنوان مثال zahra را وارد میکنیم .

وقتیecho کنیم میبینیم که مقدار متغیررا برای ما مینویسد. توصیه میشود اسامی متغیرها را بزرگ بنویسید

[N.pardis@Lpi1~]$ echo $NAME

zahra

اطلاع بیشتر از فرمان read را می توان با فرمان read help مشاهده نمود.فرمانهایbuiltin فقط help دارند.

[N.pardis@Lpi1~]$ help Read

با توجه به helpفرمانreadکاری کنید اگر فرمانRead بعد از 5 ثانیه جواب ندادید out time بدهد و خارج شود:

[N.pardis@Lpi1~]$ Read –t5 NAME

چه کاری انجام دهیم تا اسم را بیشتر از سه حرف نگیرد؟

[N.pardis@Lpi1~]$ read –n3 NAME

در Read اگر اسم متغیررا وارد نکنید error نمیدهد و پیشفرض اسم replyمیگذارد.

حال میخواهیم که اسم بیشتر از 3 حرف نگیرد و out time 7 ثانیه باشد.

[N.pardis@Lpi1~]$read-n3 –t7 name

اسم متغیر

p –در فرمانread به ما prompt میدهد:

[N.pardis@Lpi1~]$ read -p “PLZ ENTER UR NAME:”–t7 -n14 NAME

اگر فرمان زیر را بزنیم بعد از مد ثانیهای که در آن مشخص میکنیم خط قطع میشود که این فرمان برای کنترل و کار کردن

کاربران مناسب است.

بعد از 15 ثانیه خط قطع میشود با حروف بزرگ 15 =TMOUT

با یک خط برنامهای بنویسید که یک اسم را بخواند و حرف اوّل آن را چاپ کند؟

[N.pardis@Lpi1~]$ read -p “ENTER UR NAME:” -t 7 -n3 NAME; echo $NAME |cut-c1

ENTER UP NAME: pardis

p

[N.pardis@Lpi1~]$ read –p “ENTER NAME:” –t 7 -n 14 NAME;echo $NAME > /tmp/a; cutc1/tmp/a

ولی توصیه میشود هرگز از این روش استفاده نکنید و directory current خود را با فایلهایمتفرقه پر نکنید.

برنامهای بنویسید که اسمی را بخواند و حرف آخر آن را چاپ کند؟

[N.pardis@Lpi1~]$ read -p “ENTER Name:” –t 7 -n 14 NAME;echo $ NAME |tail -c2

حرف آخر اسم مورد نظر ما s است از آخر حرف دوم است چونEnter هم که بعد از اسم وارد کرد یم هم یک کاراکتر

حساب میشود.

دلیل اینکه 0 مینویسیم به این خاطر است که اگر مثالً کلمه Hello را ما به echoبدهیم و بگوییم dump octal آن را به ما

بدهد به این صورت جواب میدهد:

[N.pardis@Lpi1~]$ echo hello |od -c

0000000 h e l l o \n

n\هم که enter است یکی حساب میشود.

از طریق فرمانod می توانیم هر کلیدی که در این فرمان وارد کنیمod آن را به ما نشان میدهد

[N.pardis@Lpi1~]$ read a; echo $a |od–c

read

[N.pardis@Lpi1~]$ read a b

Najibeh pardis

[N.pardis@Lpi1~]$ echo $a

Najibeh

همیشه اولین داده ورودی تا قبل از space را میدهد به اوّلین متغیرو دوّمین ورودی و هر چه که باز هم بعد از space میزنیم

را به همان b که متغیردوّم است میدهد. و اگر تعداد داده ورودی کمتر بود متغیرآخری چیزی گیرش نمیآید.

منبع:https://sarvserver.com/%d8%b3%d8%b1%d9%88%d8%b1-%d9%85%d8%ac%d8%a7%d8%b2%db%8c-%d9%84%db%8c%d9%86%d9%88%da%a9%d8%b3-%d8%b3%d8%a7%d8%ae%d8%aa-%d9%81%d8%a7%db%8c%d9%84-%d8%a7%d8%b2-%d8%ae%d8%b1%d9%88%d8%ac%db%8c-%db%8c%da%a9/

  • server server
  • ۰
  • ۰


سرور مجازی لینوکس ساخت فایل از خروجی یک فرمان

آوریل 26, 2017

ساخت فایل از خروجی یک فرمان

حال میخواهیم ببینیم اگر بخواهیم محتویاتت یک فایل را به جای اینکه نمایش دهیم در یک فایل بریزیم چه کاری باید انجام

دهیم:

[N.pardis@Lpi1~]$ cat namef> a

بنابراین برای اینکه خروجی یک فایل را به جای اینکه نمایش دهیم در فایلی نگه داریم از علامت <یعنیredirection استفاده می

کنیم. با این دستوریک فایلی درست شد به اسم a و محتویات namef داخل آن است.

فقط اسامی را در فایلی به نام name بریزید:

[N.pardis@Lpi1~]$ cut-c1-10namef > name

فقط نام خانوادگی را در فایلی به نام family بریزید:

[N.pardis@Lpi1~]$ cut -c18-30 namef > family

اگر دو تا علامت < داشته باشیم یعنی><به چه معنی می باشد؟

سرور مجازی 

یعنی اگر فایلی به نام family در مثال بالا وجود دارد در انتهای آن اضافه میکند و محتویاتت فایل قبلی تغییر نمی نماید ولی اگر

فایل وجود نداشته باشد فایلfamily را خودش می سازد.

فایل passwd

Untitled-4-1.png

در لینوکس فایلی داریم به نام passwd که تمام userId ها در آن ثبت شده اند و به این صورت میتوانیم محتویات آن را

ببینیم:

[N.pardis@Lpi1~]$ less /etc/ passwd

محتویات داخل این فایل با: از هم جدا شده اند و اطلاع مربوط به هر Id user با دو نقطه از Id user بعدی جدا میشود:

قلمهای اطلاعتیId user و password و شماره Id و … می باشد.پس فایل passwd آدرس و شماره و … شما را نگه میدارد.

ما میتوانیم این فایل را تغییردهیم.

اگر بخواهیم مشخصه Fingerیک شناسه را تغییربدهیم:

[N.pardis@Lpi1~]$ chfn

Password

Name

Office

Phone

اگر بخواهیم ببینیم به عنوان مثال:

سرور اختصاصی 

[N.pardis@Lpi1~]$ finger n.pardis

میخو اهیم تمام Id user ها را از فایل passwd جدا کنیم و محتویات آن را به userid به نام sabt ارسال کنیم؟

[N.pardis@Lpi1~]$ cut -f1 -d: /etc/ passwd |mail -s uid sabt

آپشن d –مخفف delimiter به معنی جدا کننده می باشد و در این فایل جداکننده دو نقطه : می باشد.

میخواهیم sort کنیم و ایمیل کنیم:

[N.pardis@Lpi1~]$ cut -f1 -d: /etc/passwd |sort| mail-s uid sabt

میخواهیم فیلد اوّل و پنجم را جدا کنیم:

[N.pardis@Lpi1~]$ cut -f1,5 -d: /etc/passwd |sort| mail-s uid sabt

اگر بخواهیم history خودمان را Mail کنیم به این صورت :

[N.pardis@Lpi1~]$ history |mail-s myhis sabt

اگر بخواهیم history مان برای همه ایمیل کنیم به جای اینکه اسم همه id user ها را بنویسیم از users استفاده میکنیم.

[N.pardis@Lpi1~]$ history |mail -s my hist `users`

تعریف متغیر در لینوکس

در لینوکس ما متغیرداریم و میتوانیم به راحتی به آن مقدار دهیم :

[N.pardis@Lpi1~]$ x=2

برای اینکه مقدار یک متغیریا محتویات یک متغیررا ببینیم از echo استفاده میکنیم و جلوی اسم متغیرعلامت $ قرار

میدهیم که مقدار آن را در نظر بگیرد نه اینکه اسم متغیر را بنویسد:

[N.pardis@Lpi1~]$echo $x

دستور زیر مقدار متغیرx را در t میریزد.

[N.pardis@Lpi1~]$ echo t=$x

برای اینکه یک عبارت را در کنار مقدار متغیرچاپ کند به این صورت مینویسیم:

[N.pardis@Lpi1~]$ echo ${x}aictc

عبارت متغیر

read

برای خواندن اطلاع در لینوکس فرمانread را داریم که به وسیلهیفرمانtype میفهمیم که یک دستور builtin میباشد:

[N.pardis@Lpi1~]$ type read

read is a shell builtin.

وقتی فرمانread و سپس نام متغیررا وارد می نمایید.

ttp

14

[N.pardis@Lpi1~]$ Read NAME

 اسم متغیر

سپس منترر میماند تا شما اطلاعتی را وارد کنید و به عنوان مثال zahra را وارد میکنیم .

وقتیecho کنیم میبینیم که مقدار متغیررا برای ما مینویسد. توصیه میشود اسامی متغیرها را بزرگ بنویسید

[N.pardis@Lpi1~]$ echo $NAME

zahra

اطلاع بیشتر از فرمان read را می توان با فرمان read help مشاهده نمود.فرمانهایbuiltin فقط help دارند.

[N.pardis@Lpi1~]$ help Read

با توجه به helpفرمانreadکاری کنید اگر فرمانRead بعد از 5 ثانیه جواب ندادید out time بدهد و خارج شود:

[N.pardis@Lpi1~]$ Read –t5 NAME

چه کاری انجام دهیم تا اسم را بیشتر از سه حرف نگیرد؟

[N.pardis@Lpi1~]$ read –n3 NAME

در Read اگر اسم متغیررا وارد نکنید error نمیدهد و پیشفرض اسم replyمیگذارد.

حال میخواهیم که اسم بیشتر از 3 حرف نگیرد و out time 7 ثانیه باشد.

[N.pardis@Lpi1~]$read-n3 –t7 name

اسم متغیر

p –در فرمانread به ما prompt میدهد:

[N.pardis@Lpi1~]$ read -p “PLZ ENTER UR NAME:”–t7 -n14 NAME

اگر فرمان زیر را بزنیم بعد از مد ثانیهای که در آن مشخص میکنیم خط قطع میشود که این فرمان برای کنترل و کار کردن

کاربران مناسب است.

بعد از 15 ثانیه خط قطع میشود با حروف بزرگ 15 =TMOUT

با یک خط برنامهای بنویسید که یک اسم را بخواند و حرف اوّل آن را چاپ کند؟

[N.pardis@Lpi1~]$ read -p “ENTER UR NAME:” -t 7 -n3 NAME; echo $NAME |cut-c1

ENTER UP NAME: pardis

p

[N.pardis@Lpi1~]$ read –p “ENTER NAME:” –t 7 -n 14 NAME;echo $NAME > /tmp/a; cutc1/tmp/a

ولی توصیه میشود هرگز از این روش استفاده نکنید و directory current خود را با فایلهایمتفرقه پر نکنید.

برنامهای بنویسید که اسمی را بخواند و حرف آخر آن را چاپ کند؟

[N.pardis@Lpi1~]$ read -p “ENTER Name:” –t 7 -n 14 NAME;echo $ NAME |tail -c2

حرف آخر اسم مورد نظر ما s است از آخر حرف دوم است چونEnter هم که بعد از اسم وارد کرد یم هم یک کاراکتر

حساب میشود.

دلیل اینکه 0 مینویسیم به این خاطر است که اگر مثالً کلمه Hello را ما به echoبدهیم و بگوییم dump octal آن را به ما

بدهد به این صورت جواب میدهد:

[N.pardis@Lpi1~]$ echo hello |od -c

0000000 h e l l o \n

n\هم که enter است یکی حساب میشود.

از طریق فرمانod می توانیم هر کلیدی که در این فرمان وارد کنیمod آن را به ما نشان میدهد

[N.pardis@Lpi1~]$ read a; echo $a |od–c

read

[N.pardis@Lpi1~]$ read a b

Najibeh pardis

[N.pardis@Lpi1~]$ echo $a

Najibeh

همیشه اولین داده ورودی تا قبل از space را میدهد به اوّلین متغیرو دوّمین ورودی و هر چه که باز هم بعد از space میزنیم

را به همان b که متغیردوّم است میدهد. و اگر تعداد داده ورودی کمتر بود متغیرآخری چیزی گیرش نمیآید.

منبع:https://sarvserver.com/%d8%b3%d8%b1%d9%88%d8%b1-%d9%85%d8%ac%d8%a7%d8%b2%db%8c-%d9%84%db%8c%d9%86%d9%88%da%a9%d8%b3-%d8%b3%d8%a7%d8%ae%d8%aa-%d9%81%d8%a7%db%8c%d9%84-%d8%a7%d8%b2-%d8%ae%d8%b1%d9%88%d8%ac%db%8c-%db%8c%da%a9/

  • server server
  • ۰
  • ۰

ساخت فایل از خروجی یک فرمان

حال میخواهیم ببینیم اگر بخواهیم محتویاتت یک فایل را به جای اینکه نمایش دهیم در یک فایل بریزیم چه کاری باید انجام

دهیم:

[N.pardis@Lpi1~]$ cat namef> a

بنابراین برای اینکه خروجی یک فایل را به جای اینکه نمایش دهیم در فایلی نگه داریم از علامت <یعنیredirection استفاده می

کنیم. با این دستوریک فایلی درست شد به اسم a و محتویات namef داخل آن است.

فقط اسامی را در فایلی به نام name بریزید:

[N.pardis@Lpi1~]$ cut-c1-10namef > name

فقط نام خانوادگی را در فایلی به نام family بریزید:

[N.pardis@Lpi1~]$ cut -c18-30 namef > family

اگر دو تا علامت < داشته باشیم یعنی><به چه معنی می باشد؟

سرور مجازی 

یعنی اگر فایلی به نام family در مثال بالا وجود دارد در انتهای آن اضافه میکند و محتویاتت فایل قبلی تغییر نمی نماید ولی اگر

فایل وجود نداشته باشد فایلfamily را خودش می سازد.

فایل passwd

Untitled-4-1.png

در لینوکس فایلی داریم به نام passwd که تمام userId ها در آن ثبت شده اند و به این صورت میتوانیم محتویات آن را

ببینیم:

[N.pardis@Lpi1~]$ less /etc/ passwd

محتویات داخل این فایل با: از هم جدا شده اند و اطلاع مربوط به هر Id user با دو نقطه از Id user بعدی جدا میشود:

قلمهای اطلاعتیId user و password و شماره Id و … می باشد.پس فایل passwd آدرس و شماره و … شما را نگه میدارد.

ما میتوانیم این فایل را تغییردهیم.

اگر بخواهیم مشخصه Fingerیک شناسه را تغییربدهیم:

[N.pardis@Lpi1~]$ chfn

Password

Name

Office

Phone

اگر بخواهیم ببینیم به عنوان مثال:

سرور اختصاصی 

[N.pardis@Lpi1~]$ finger n.pardis

میخو اهیم تمام Id user ها را از فایل passwd جدا کنیم و محتویات آن را به userid به نام sabt ارسال کنیم؟

[N.pardis@Lpi1~]$ cut -f1 -d: /etc/ passwd |mail -s uid sabt

آپشن d –مخفف delimiter به معنی جدا کننده می باشد و در این فایل جداکننده دو نقطه : می باشد.

میخواهیم sort کنیم و ایمیل کنیم:

[N.pardis@Lpi1~]$ cut -f1 -d: /etc/passwd |sort| mail-s uid sabt

میخواهیم فیلد اوّل و پنجم را جدا کنیم:

[N.pardis@Lpi1~]$ cut -f1,5 -d: /etc/passwd |sort| mail-s uid sabt

اگر بخواهیم history خودمان را Mail کنیم به این صورت :

[N.pardis@Lpi1~]$ history |mail-s myhis sabt

اگر بخواهیم history مان برای همه ایمیل کنیم به جای اینکه اسم همه id user ها را بنویسیم از users استفاده میکنیم.

[N.pardis@Lpi1~]$ history |mail -s my hist `users`

تعریف متغیر در لینوکس

در لینوکس ما متغیرداریم و میتوانیم به راحتی به آن مقدار دهیم :

[N.pardis@Lpi1~]$ x=2

برای اینکه مقدار یک متغیریا محتویات یک متغیررا ببینیم از echo استفاده میکنیم و جلوی اسم متغیرعلامت $ قرار

میدهیم که مقدار آن را در نظر بگیرد نه اینکه اسم متغیر را بنویسد:

[N.pardis@Lpi1~]$echo $x

دستور زیر مقدار متغیرx را در t میریزد.

[N.pardis@Lpi1~]$ echo t=$x

برای اینکه یک عبارت را در کنار مقدار متغیرچاپ کند به این صورت مینویسیم:

[N.pardis@Lpi1~]$ echo ${x}aictc

عبارت متغیر

read

برای خواندن اطلاع در لینوکس فرمانread را داریم که به وسیلهیفرمانtype میفهمیم که یک دستور builtin میباشد:

[N.pardis@Lpi1~]$ type read

read is a shell builtin.

وقتی فرمانread و سپس نام متغیررا وارد می نمایید.

ttp

14

[N.pardis@Lpi1~]$ Read NAME

 اسم متغیر

سپس منترر میماند تا شما اطلاعتی را وارد کنید و به عنوان مثال zahra را وارد میکنیم .

وقتیecho کنیم میبینیم که مقدار متغیررا برای ما مینویسد. توصیه میشود اسامی متغیرها را بزرگ بنویسید

[N.pardis@Lpi1~]$ echo $NAME

zahra

اطلاع بیشتر از فرمان read را می توان با فرمان read help مشاهده نمود.فرمانهایbuiltin فقط help دارند.

[N.pardis@Lpi1~]$ help Read

با توجه به helpفرمانreadکاری کنید اگر فرمانRead بعد از 5 ثانیه جواب ندادید out time بدهد و خارج شود:

[N.pardis@Lpi1~]$ Read –t5 NAME

چه کاری انجام دهیم تا اسم را بیشتر از سه حرف نگیرد؟

[N.pardis@Lpi1~]$ read –n3 NAME

در Read اگر اسم متغیررا وارد نکنید error نمیدهد و پیشفرض اسم replyمیگذارد.

حال میخواهیم که اسم بیشتر از 3 حرف نگیرد و out time 7 ثانیه باشد.

[N.pardis@Lpi1~]$read-n3 –t7 name

اسم متغیر

p –در فرمانread به ما prompt میدهد:

[N.pardis@Lpi1~]$ read -p “PLZ ENTER UR NAME:”–t7 -n14 NAME

اگر فرمان زیر را بزنیم بعد از مد ثانیهای که در آن مشخص میکنیم خط قطع میشود که این فرمان برای کنترل و کار کردن

کاربران مناسب است.

بعد از 15 ثانیه خط قطع میشود با حروف بزرگ 15 =TMOUT

با یک خط برنامهای بنویسید که یک اسم را بخواند و حرف اوّل آن را چاپ کند؟

[N.pardis@Lpi1~]$ read -p “ENTER UR NAME:” -t 7 -n3 NAME; echo $NAME |cut-c1

ENTER UP NAME: pardis

p

[N.pardis@Lpi1~]$ read –p “ENTER NAME:” –t 7 -n 14 NAME;echo $NAME > /tmp/a; cutc1/tmp/a

ولی توصیه میشود هرگز از این روش استفاده نکنید و directory current خود را با فایلهایمتفرقه پر نکنید.

برنامهای بنویسید که اسمی را بخواند و حرف آخر آن را چاپ کند؟

[N.pardis@Lpi1~]$ read -p “ENTER Name:” –t 7 -n 14 NAME;echo $ NAME |tail -c2

حرف آخر اسم مورد نظر ما s است از آخر حرف دوم است چونEnter هم که بعد از اسم وارد کرد یم هم یک کاراکتر

حساب میشود.

دلیل اینکه 0 مینویسیم به این خاطر است که اگر مثالً کلمه Hello را ما به echoبدهیم و بگوییم dump octal آن را به ما

بدهد به این صورت جواب میدهد:

[N.pardis@Lpi1~]$ echo hello |od -c

0000000 h e l l o \n

n\هم که enter است یکی حساب میشود.

از طریق فرمانod می توانیم هر کلیدی که در این فرمان وارد کنیمod آن را به ما نشان میدهد

[N.pardis@Lpi1~]$ read a; echo $a |od–c

read

[N.pardis@Lpi1~]$ read a b

Najibeh pardis

[N.pardis@Lpi1~]$ echo $a

Najibeh

همیشه اولین داده ورودی تا قبل از space را میدهد به اوّلین متغیرو دوّمین ورودی و هر چه که باز هم بعد از space میزنیم

را به همان b که متغیردوّم است میدهد. و اگر تعداد داده ورودی کمتر بود متغیرآخری چیزی گیرش نمیآید.

  • server server
  • ۰
  • ۰

سرور مجازی آموزش 1

سرور مجازی آموزش 1

در ادامه حل تمرین باید از file pipe استفاده میکنیم که input standard را به output standard می برد به طور کل ما

زمانی از pipe استفاده میکنیم که بخواهیم خروجی استاندارد را از طریق لوله که pipe این نقش را برای ما اجرا میکند به جای

نمایش روی مانیتور به یک فرمان دیگر میفرستیم.

به طور کلی:

File PIPE استاندارد Input را به استاندارد output میبرد.

: حال میخواهیم همین اسمها را جدا کنیم و ایمیل کنیم یعنی به جای اینکه نمایش دهیم روی صفحه از طریق pipe

به فرمانmail میفرستیم:

[N.pardis@Lpi1~]$ cut -c1-10 namef | mail -s names-listn.pardis

حال دوبارهفرمانmail که بزنیم آن را میبینیم. حال شماره ایمیل را میزنیم تا باز شود و آن را ببینیم.

sort

این فرمان همان طور که از اسمش مشخص است برای ما sort می کند و اگر خروجی یک فرمان را به این فرمان بدهیمsort می

کند خروجی را.

[N.pardis@Lpi1~]$ man sort

در ادامه این تمرین از یک فرمان دیگر به نام uniq هم استفاده می کنیم که کار واحد سازی را انجام می دهد و اسمها ی شبیه

هم را از هر کدام یکی می شمارد.

حال میخواهیم این اطلاع را sort کنیم و ایمیل کنیم.

[N.pardis@Lpi1~]$ cut -c1-10 namef |sort| mail -s names n.pardis

ttp

11

سرورمجازی

 

اوّل cut آن را جدا میکند بعد به sort میدهد و sort هم به mail میدهد. حال میبینیم که اسمها sort شده اند و ایمیل شده

اند.

حال میخواهیم هر اسم را با تعداد تکرار آن یک بار بنویسید و آپشن f –را هم اضافه میکنیم تا sensitive caseنباشد.

[N.pardis@Lpi1~]$ cut -c1-10 namef |sort -u –f | mail-s names n.pardis

حال میخواهیم از هراسم بگوید که چند تا داریم؟

[N.pardis@Lpi1~]$ cut -cl-10 namef |sort| uniq -c

آپشن u –را از sortبر میداریم چون اگر این باشد از هر کدام یکی میدهد به unique

: اگر sort را برداریم اشتباه میشود. چون uniq مثالً amirرا میبیند و بعد زیرش mohammad را میبیند و فکر می

کند amirیکی است.

الان می خواهیم به طور مثال history خودمان را برای همه کسانی که هم اکنون به سیستم متصل هستند ارسال نماییم :

[n.pardis@Lpi1~]$ history | mail –s my-hist `users`

میبینید که users را درونtick backیعنی ‘’ قرار می دهیم که با این کار users را به عنوان یک اسم مدرنظر نمیگیرد

بلکه مقدار آن یعنیuserid کل کاربران را در نظر می گیرد.

پس تا اینجا sort و uniq را یاد گرفتیم.

dedicatedhosting

[N.pardis@Lpi1~]$ sort -k3 -r -n namef

آپشن k3–یعنی بر اساس کلید سوم sort کن وr–یعنیreversمرتب کن و n–یعنی کلید سوم از نوع numeric می باشد و بر

اساس نوع داده numeric در نظر بگیر و مرتب کن.

tail head

فرمان بعدی که با هم یاد میگیریمhead است که این فرمان 12 خط اوّل فایل را به طور پیش فرض بیرون میکشید:

در مثال های زیر فقط 5 خط را نمایش می دهد:

[N.pardis@Lpi1~]$ head-5 file-name

[N.pardis@Lpi1~]$ head-5 namef

حال اگر بخواهیم 12 خط آخر فایل را نشان دهیم از فرمانtail استفاده میکنیم:

[N.pardis@Lpi1~]$ tailnamef

و اگر بخواهیم 5 خط آخر را نمایش دهد:

[N.pardis@Lpi1~]$tail -5 namef

حال اگر بخواهیم خط آخر را نشان دهیم این فرمان را میزنیم:

[N.pardis@Lpi1~]$ tail -1 namef

1 :شاگرد سوّم را میخواهیم نمایش دهد:

[N.pardis@Lpi1~]$ sort -k3 –r-n namef |head-3

شاگرد یکی به آخر را نمایش دهد

[N.pardis@Lpi1~]$sort -k3-r -n namef |tail-2| head-1

: خط 13 فایل namef را نمایش دهید:

[N.pardis@Lpi1~]$ head -13 namef |tail-1| mail -s sort2 sabt

tac

همان طور که قبال گفتیمفرمانcat محتویات یک فایل را نمایش میدهد:

[N.pardis@Lpi1~]$ cat namef

و فرمانtacکه عکس فرمانcat است معکوس فایل را نمایش می دهد:

[N.pardis@Lpi1~]$ tac file-name

[N.pardis@Lpi1~]$ tac namef

 

rev

این فرمان هم فیلدها و محتویات داخل آنها را برعکس میکند:

[N.pardis@Lpi1~]$ rev namef

این فرمان هم کاری نمیکند فقط معکوس معکوس است:

[N.pardis@Lpi1~]$ rev namef |rev

less

[N.pardis@Lpi1~]$ man less

فرمانcat اطلاع را نمایش میدهد ولی چون scroll میشود همه اطلاع را نمیتوانیم در یک ص فحه ببین یم. میتوانیم از

less استفاده نماییم.

[N.pardis@Lpi1~]$ less nemef

فرمانMore و Most و less کاری که انجام میدهند اینست که صفحه به صفحه نمایش میدهند و در لینوکس بیشتر از less

استفاده می شود.خصوصیت مهم less اینست که امکان search را به ما میدهد وقتی فایل نمایش داده شد با زدن / و نوشتن

کلمه مورد نظر آن را پیدا کنیم:  پس less امکان search را به ما میدهد.

[N.pardis@Lpi1~]$ less file-name

و اگر رشته مورد نظر را پیدا نکرد پی ام found not Pattern را میدهد.

دستور زیر کلماتی که 0 تا oo ندارند را نمایش دهد.

[N.pardis@Lpi1~]$ less namef

/!

منبع :https://sarvserver.com/%d9%84%db%8c%d9%86%d9%88%da%a9%d8%b3-%d8%b3%d8%b1%d9%88%d8%b1-%d9%85%d8%ac%d8%a7%d8%b2%db%8c-%d8%a2%d9%85%d9%88%d8%b2%d8%b4/oo

  • server server
  • ۰
  • ۰

نحوه ساختنCSR در ORACLE WALLET MANAGER گواهی SSL

نحوه ساختنcsr در Oracle Wallet Manager گواهی ssl

از منو  Generate the CSR را انتخاب کنید

گزینه Operations > Create Certificate Request را انتخاب کنید

سپس Create Certificate نمایش داده خواهد شد

• Country Name: نام دو حرفی کشوری که ساکن هستید
• State or Province Name: نام استان و یا شهر سکونت

• Locality Name: نام شهر ر ا وارد کنید
• Organization Name: نام سازمان خود را وارد نمایید
• Organizational Unit: بخشی از سازمان را معرفی کنید که در ان کار می کنید

oraclessl

• Common Name: نام دامنه و یا ساب دامنه ای که قصد خرید گواهینامه روی ان را دارید وارد نمایید
• E-mail address: آدرس ایمیل را وارد نمایید
• Challenge Password: پسورد در صورت لزوم وارد نمایید البته توصیه نمی شود
• Optional Company Name: Enter '.' نیازی نیست وارد کنید اینتر بزنید

در اخر روی ok کلیک کنید یک کادر محاوره ای باز شده و می گوید که بدرستی مراحل ساخت کد برای گواهینامه ssl را انجام داده اید

اگر بصفحه اول برگردید می توانید ببینید وضعیت کد به Requested تغییر یافته است

از قسمت Operations > Export Certificate Request از کد ساخته شده خروجی بگیرید این کد را برای شرکت سرو سرور ارسال کنید

منبع :https://sarvssl.com/%D9%86%D8%AD%D9%88%D9%87-%D8%B3%D8%A7%D8%AE%D8%AA%D9%86csr-%D8%AF%D8%B1-oracle-wallet-manager-%DA%AF%D9%88%D8%A7%D9%87%DB%8C-ssl/

  • server server