لینوکس و شبکه

لینوکس و شبکه
طبقه بندی موضوعی
آخرین مطالب
  • ۹۸/۱۲/۱۴
    bond
  • ۹۸/۱۰/۲۰
    GIT
  • ۹۸/۱۰/۱۴
    DISK

۱۸ مطلب در خرداد ۱۳۹۷ ثبت شده است

۲۴
خرداد

اگر بخواهیم تنها عبارات سه حرفی را به نمایش بگذاریم از دستور زیر استفاده میکنیم

grep -x '.\{3,10\}'
  • -x match pattern to whole line
  • . any symbol
  • {3,10} quantify from 3 to 10 times previous symbol (in the case any ones)

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

cp /etc/postfix/main.cf{,.backup}

با گذاشتن این خط در ابتدای یک اسکریپت موجب می‌شود که حالت دیباگ برنامه نوشته شده فراهم آید. یعنی تمام خروجی های کد را در ترمینال نشان می‌دهد:

set -x

IF

Comparisons:

-eq equal to
-ne not equal to
-lt less than
-le less than or equal to
-gt greater than
-ge greater than or equal to


File Operations:

-s file exists and is not empty
-f file exists and is not a directory
-d directory exists
-x file is executable
-w file is writable
-r

file is readable

 


نمونه خاص از تطبیق در شل URL

[[ $a == z* ]]   # True if $a starts with a "z" (wildcard matching).
[[ $a == "z*" ]] # True if $a is equal to z* (literal matching).

 

در تمامی فایل‌های موجود در یک فولدرکلمه IRAN را در کاراکتر شماره شش inject می‌کند:

for file in * ;
do
     mv ./"$file" "${file:0:6}IRAN${file:6}";
     done

یعنی abcdef.ext  تبدیل می‌شود به abcdefIRAN.ext
 


 

حذف کاراکتر دَش یا همان «خط تیره» از تمامی فایل ‌های موجود در یک فولدر: 

 for file in ./*;
     do
         mv "$file" "${file/-/}";
     done

 

  • behrooz mohamadi nsasab
۲۴
خرداد
بادستور زیر می‌توان سرعت خواند و نوشتن از دیسک را فهیمد:
echo -e "WRITE:";
dd if=/dev/zero of=/tmp/output count=1 bs=100M ;
rm -f /tmp/output;
 echo -e "\nREAD";
sudo hdparm -t /dev/sda

  • behrooz mohamadi nsasab
۲۴
خرداد

1) ابتدا کلیدهای ترکیبی Win+R را فشار دهید و در محیط Run ، عبارت notepad را وارد نمایید تا نرم‌ افزار Notepad ویندوز باز شود.
✳️در محیط Notepad کد زیر را Copy و Paste نمایید:

taskkill f fi "status eq not responding"

✳️اکنون از منوی File بر روی Save as کلیک کنید.
سپس فایل را با نام دلخواه و پسوند bat. در صفحه دسکتاپ ویندوز ذخیره نمایید به عنوان مثال closeproccess.bat
2) حالا در صورتی که یک یا چند برنامه هنگ کرد، کافی است به صفحه دسکتاپ مراجعه کنید و بر روی این فایل جدید ایجاد شده دوبار کلیک کنید.
با اجرای این فایل، تمام پنجره‌های هنگ کرده برنامه‌ها بسته می‌شود.
این رو هم بگم که این ترفند بر روی کلیه نسخه‌های ویندوز کار میکنه.
  • behrooz mohamadi nsasab
۲۴
خرداد

نصب در کلاینت

در سمت کلایت باید سرویس NTP را نصب نمایید:
sudo apt-get install ntp
sudo yum install ntp

بعد از نصب در فایل مسیر زیر آدرس سرور را مشخص نمایید:
sudo vim /etc/ntp.conf
 
server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst
نکته: عبارت iburst را در مقابل سرور قرار بدهید تا این که شدت کوئری زدن به سرور افزایش یابد (حتی در صورتی که امکان sync شدن برقرا نیست بصورت force عمل sync صورت گیرد)

بعد از این که تنظیمات انجام  شد سرویس را ریست نمایید:
sudo /etc/init.d/ntpd restart
 

تست کارکرد سرویس

از دستور زیر برای مشاهده کارایی استفاده می‌کنیم:
$ ntpq -pn
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*198.60.22.240   .GPS.            1 u  912 1024  377    0.488   -0.016   0.098
+199.104.120.73  .GPS.            1 u   88 1024  377    0.966    0.014   1.379
-155.98.64.225   .GPS.            1 u   74 1024  377    2.782    0.296   0.158
-137.190.2.4     .GPS.            1 u 1020 1024  377    5.248    0.194   0.371
-131.188.3.221   .DCFp.           1 u  952 1024  377  147.806   -3.160   0.198
-217.34.142.19   .LFa.            1 u  885 1024  377  161.499   -8.044   5.839
-184.22.153.11   .WWVB.           1 u  167 1024  377   65.175   -8.151   0.131
+216.218.192.202 .CDMA.           1 u   66 1024  377   39.293    0.003   0.121
-64.147.116.229  .ACTS.           1 u   62 1024  377   16.606    4.206   0.216

توضیحات  موارد بالا

    remote- The remote server you wish to synchronize your clock with
    refid- The upstream stratum to the remote server. For stratum 1 servers, this will be the stratum 0 source.
    st- The stratum level, 0 through 16.
    t- The type of connection. Can be "u" for unicast or manycast, "b" for broadcast or multicast, "l" for local reference clock, "s" for symmetric peer, "A" for a manycast server, "B" for a broadcast server, or "M" for a multicast server
    when- The last time when the server was queried for the time. Default is seconds, or "m" will be displayed for minutes, "h" for hours and "d" for days.
    poll- How often the server is queried for the time, with a minimum of 16 seconds to a maximum of 36 hours. It's also displayed as a value from a power of two. Typically, it's between 64 seconds and 1024 seconds.
    reach- This is an 8-bit left shift octal value that shows the success and failure rate of communicating with the remote server. Success means the bit is set, failure means the bit is not set. 377 is the highest value.
    delay- This value is displayed in milliseconds, and shows the round trip time (RTT) of your computer communicating with the remote server.
    offset- This value is displayed in milliseconds, using root mean squares, and shows how far off your clock is from the reported time the server gave you. It can be positive or negative.
    jitter- This number is an absolute value in milliseconds, showing the root mean squared deviation of your offsets.

 

علامت‌های کناری در remote server:

  • Next to the remote server, you'll notice a single character. This character is referred to as the "tally code", and indicates whether or not NTP is or will be using that remote server in order to synchronize your clock. Here are the possible values
  • " " Discarded as not valid. Could be that you cannot communicate with the remote machine (it's not online), this time source is a ".LOCL." refid time source, it's a high stratum server, or the remote server is using this computer as an NTP server.
    "x" Discarded by the intersection algorithm.
    "." Discarded by table overflow (not used).
    "-" Discarded by the cluster algorithm.
    "+" Included in the combine algorithm. This is a good candidate if the current server we are synchronizing with is discarded for any reason.
    "#" Good remote server to be used as an alternative backup. This is only shown if you have more than 10 remote servers.
    "*" The current system peer. The computer is using this remote server as its time source to synchronize the clock
    "o" Pulse per second (PPS) peer. This is generally used with GPS time sources, although any time source delivering a PPS will do. This tally code and the previous tally code "*" will not be displayed simultaneously.
 

توضیحات ستون refid:


     IP address- The IP address of the remote peer or server.
    .ACST.- NTP manycast server.
    .ACTS.- Automated Computer Time Service clock reference from the American National Institute of Standards and Technology.
    .AUTH.- Authentication error.
    .AUTO.- Autokey sequence error.
    .BCST.- NTP broadcast server.
    .CHU.- Shortwave radio receiver from station CHU operating out of Ottawa, Ontario, Canada.
    .CRYPT.- Autokey protocol error
    .DCFx.- LF radio receiver from station DCF77 operating out of Mainflingen, Germany.
    .DENY.- Access denied by server.
    .GAL.- European Galileo satellite receiver.
    .GOES.- American Geostationary Operational Environmental Satellite receiver.
    .GPS.- American Global Positioning System receiver.
    .HBG.- LF radio receiver from station HBG operating out of Prangins, Switzerland.
    .INIT.- Peer association initialized.
    .IRIG.- Inter Range Instrumentation Group time code.
    .JJY.- LF radio receiver from station JJY operating out of Mount Otakadoya, near Fukushima, and also on Mount Hagane, located on Kyushu Island, Japan.
    .LFx.- Generic LF radio receiver.
    .LOCL.- The local clock on the host.
    .LORC.- LF radio receiver from Long Range Navigation (LORAN-C) radio beacons.
    .MCST.- NTP multicast server.
    .MSF.- National clock reference from Anthorn Radio Station near Anthorn, Cumbria.
    .NIST.- American National Institute of Standards and Technology clock reference.
    .PPS.- Pulse per second clock discipline.
    .PTB.- Physikalisch-Technische Bundesanstalt clock reference operating out of Brunswick and Berlin, Germany.
    .RATE.- NTP polling rate exceeded.
    .STEP.- NTP step time change. The offset is less than 1000 millisecends but more than 125 milliseconds.
    .TDF.- LF radio receiver from station TéléDiffusion de France operating out of Allouis, France.
    .TIME.- NTP association timeout.
    .USNO.- United States Naval Observatory clock reference.
    .WWV.- HF radio receiver from station WWV operating out of Fort Collins, Colorado, United States.
    .WWVB.- LF radio receiver from station WWVB operating out of Fort Collins, Colorado, United States.
    .WWVH.- HF radio receiver from station WWVH operating out of Kekaha, on the island of Kauai in the state of Hawaii, United States.

دستوری برای چک شدن این که سرور در چه وضعیتی قرار دارد:
sudo yum install ntp

$ ntpq -c peer -c as -c rl
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 .               10.200.108.62    2 u   20   64    1    0.537    1.660   0.000
 .               .INIT.          16 u    -   64    0    0.000    0.000   0.000


ind assid status  conf reach auth condition  last_event cnt
===========================================================
  1 15488  9024   yes   yes  none    reject   reachable  2
  2 15489  8011   yes    no  none    reject    mobilize  1
 
associd=0 status=c012 leap_alarm, sync_unspec, 1 event, freq_set,
version="ntpd 4.2.6p5@1.2349-o Fri Jul 22 17:30:51 UTC 2016 (1)",
processor="x86_64", system="Linux/3.16.0-4-amd64", leap=11, stratum=16,
precision=-23, rootdelay=0.000, rootdisp=0.300, refid=INIT,
reftime=00000000.00000000  Mon, Jan  1 1900  3:25:44.000,
clock=dd970af2.38da6724  Sun, Oct 22 2017 15:47:54.222, peer=0, tc=3,
mintc=3, offset=0.000, frequency=5.387, sys_jitter=0.000,
clk_jitter=0.000, clk_wander=0.000
در دستور بالا عبارت last_event اهمیت دارد که آبا سرور در دسترس قرار دارد یا خیر و این که در ستون reach عبارت yes هست یا no (yes یعنی از سرور مورد نظر در حال گرفتن دیتا است)
تست دیگری که در سمت کلاینت اطلاعات مفیدی به کاربر میدهد
$ ntpq
ntpq> as
ind assid status  conf reach auth condition  last_event cnt
===========================================================
  1 45592  9444   yes   yes  none candidate   reachable  4
  2 45593  962a   yes   yes  none  sys.peer    sys_peer  2
  3 45594  9414   yes   yes  none candidate   reachable  1

ntpq> exit
$
لینک های مفید:

LINK


  • behrooz mohamadi nsasab
۲۴
خرداد

sudo vim /etc/ntp.conf

# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help
driftfile /var/lib/ntp/ntp.drift
# Enable this if you want statistics to be logged.
#statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
# You do need to talk to an NTP server or two (or three).
#server ntp.your-provider.example
# pool.ntp.org maps to about 1000 low-stratum NTP servers.  Your server will
# pick a different set every time it starts up.  Please consider joining the
# pool: <http://www.pool.ntp.org/join.html>
server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst
# Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for
# details.  The web page <http://support.ntp.org/bin/view/Support/AccessRestrictions>
# might also be helpful.
#
# Note that "restrict" applies to both servers and clients, so a configuration
# that might be intended to block requests from certain clients could also end
# up blocking replies from your own upstream servers.
# By default, exchange time with everybody, but don't allow configuration.
##restrict -4 default kod notrap nomodify nopeer noquery
##restrict -6 default kod notrap nomodify nopeer noquery
# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1
#restrict 192.168.0.0 mask 255.255.252.0
# Clients from this (example!) subnet have unlimited access, but only if
# cryptographically authenticated.
#restrict 192.168.123.0 mask 255.255.255.0 notrust
# If you want to provide time to your local subnet, change the next line.
# (Again, the address is an example only.)
#broadcast 192.168.123.255
# If you want to listen to time broadcasts on your local subnet, de-comment the
# next lines.  Please do this only if you trust everybody on the network!
#disable auth
#broadcastclient


کانفیگ‌های موحود همانند server که در فایل ntp.conf اعمال میشوند
server address [key key | autokey] [burst] [iburst] [version version] [prefer] [minpoll minpoll] [maxpoll maxpoll]
peer address [key key | autokey] [version version] [prefer] [minpoll minpoll] [maxpoll maxpoll]
broadcast address [key key | autokey] [version version] [minpoll minpoll] [ttl ttl]
manycastclient address [key key | autokey] [version version] [minpoll minpoll [maxpoll maxpoll] [ttl ttl]

server:
For type s and r addresses, this command mobilizes a persistent client mode association with the specified remote server or local radio clock. In this mode the local clock can synchronized to the remote server, but the remote server can never be synchronized to the local clock. This command should NOT be used for type b or m addresses.

peer:

For type s addresses (only), this command mobilizes a persistent symmetric-active mode association with the specified remote peer. In this mode the local clock can be synchronized to the remote peer or the remote peer can be synchronized to the local clock. This is useful in a network of servers where, depending on various failure scenarios, either the local or remote peer may be the better source of time. This command should NOT be used for type b, m or r addresses.

broadcast:
For type b and m addresses (only), this command mobilizes a persistent broadcast mode association. Multiple commands can be used to specify multiple local broadcast interfaces (subnets) and/or multiple multicast groups. Note that local broadcast messages go only to the interface associated with the subnet specified, but multicast messages go to all interfaces.In broadcast mode the local server sends periodic broadcast messages to a client population at the address specified, which is usually the broadcast address on (one of) the local network(s) or a multicast address assigned to NTP. The IANA has assigned the multicast group address 224.0.1.1 exclusively to NTP, but other nonconflicting addresses can be used to contain the messages within administrative boundaries. Ordinarily, this specification applies only to the local server operating as a sender; for operation as a broadcast client, see the broadcastclient or multicastclient commands below.
    
manycastclient:
For type m addresses (only), this command mobilizes a manycast client mode association for the multicast address specified. In this case a specific address must be supplied which matches the address used on the manycastserver command for the designated manycast servers. The NTP multicast address 224.0.1.1 assigned by the IANA should NOT be used, unless specific means are taken to avoid spraying large areas of the Internet with these messages and causing a possibly massive implosion of replies at the sender.The manycast command specifies that the local server is to operate in client mode with the remote servers that are discovered as the result of broadcast/multicast messages. The client broadcasts a request message to the group address associated with the specified address and specifically enabled servers respond to these messages. The client selects the servers providing the best time and continues as with the server command. The remaining servers are discarded as if never heard.

Options

autokey
All packets sent to and received from the server or peer are to include authentication fields encrypted using the autokey scheme described in the Authentication Options page.

burst
when the server is reachable and at each poll interval, send a burst of eight packets instead of the usual one packet. The spacing between the first and the second packets is about 16s to allow a modem call to complete, while the spacing between the remaining packets is about 2s. This is designed to improve timekeeping quality with the server command and s addresses.

iburst
When the server is unreachable and at each poll interval, send a burst of eight packets instead of the usual one. As long as the server is unreachable, the spacing between packets is about 16s to allow a modem call to complete. Once the server is reachable, the spacing between packets is about 2s. This is designed to speed the initial synchronization acquisition with the server command and s addresses and when ntpd is started with the -q option.

key key
All packets sent to and received from the server or peer are to include authentication fields encrypted using the specified key identifier with values from 1 to 65534, inclusive. The default is to include no encryption field.

minpoll minpoll
These options specify the minimum and maximum poll intervals for NTP messages, in seconds to the power of two. The maximum poll interval defaults to 10 (1,024 s), but can be increased by the maxpoll option to an upper limit of 17 (36.4 h). The minimum   poll interval defaults to 6 (64 s), but can be decreased by the minpoll option to a lower limit of 4 (16 s).

prefer
Marks the server as preferred. All other things being equal, this host will be chosen for synchronization among a set of correctly operating hosts. See the Mitigation Rules and the prefer Keyword page for further information.

ttl ttl
This option is used only with broadcast server and manycast client modes. It specifies the time-to-live ttl to use on broadcast server and multicast server and the maximum ttl for the expanding ring search with manycast client packets. Selection of the proper value, which defaults to 127, is something of a black art and should be coordinated with the network administrator.

version version
Specifies the version number to be used for outgoing NTP packets. Versions 1-4 are the choices, with version 4 the default.

 

اعمال محدودیت

تنظبمات موجود در سرور NTP را بصورت پیش فرض تغییر ندهید تا این که به هر سرور در هرکجا بتواند سرویس بدهد. اما اگر گاهی لازم شد تا به یک دامنه ای نخواهید سرویس بدهید از عبارت restricted برای محدود شدن آن آی پی استفاده نمایید.

# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

    ignore — All packets will be ignored, including ntpq and ntpdc queries.
    kod — a “Kiss-o'-death” packet is to be sent to reduce unwanted queries.
    limited — do not respond to time service requests if the packet violates the rate limit default values or those specified by the discard command. ntpq and ntpdc queries are not affected. For more information on the discard command and the default values, see Section 22.16.2, “Configure Rate Limiting Access to an NTP Service”.
    lowpriotrap — traps set by matching hosts to be low priority.
    nomodify — prevents any changes to the configuration.
    noquery — prevents ntpq and ntpdc queries, but not time queries, from being answered.
    nopeer — prevents a peer association being formed.
    noserve — deny all packets except ntpq and ntpdc queries.
    notrap — prevents ntpdc control message protocol traps.
    notrust — deny packets that are not cryptographically authenticated.
    ntpport — modify the match algorithm to only apply the restriction if the source port is the standard NTP UDP port 123.
    version — deny packets that do not match the current NTP version.


  • behrooz mohamadi nsasab
۲۴
خرداد

در سیستم عامل لینوکس شما قالبیت این را دارید که از محیط گرافیکی دلخواه خود استفاده نمایید: (URL)

محیط کاربری اول: MATE

در سه حالت زیر میتوانید نصب نمایید:

mate-desktop-environment-extras  (full + extras) : This will install the complete MATE desktop including a few extras.

mate-desktop-environment   (full) : This will install the complete MATE desktop environment.

mate-desktop-environment-core (core only) :  This is a minimalist MATE installation


If no graphical environment was present before, you will also need to install a display manager such as GDM or LightDM.

نکته: شاید لازم باشد بسته زیر را نیز نصب نمایید:

apt-get install xinit


محیط کاربری دوم: Gnome

tasksl : Debian's selection of applications

gnome :  The full GNOME environment, including applications that are not officially part of the Upstream GNOME releases.

               It provides the recommended GNOME environment for Debian.

gnome-desktop-environment : The official upstream GNOME environment, minus a few packages.It is the closest to upstream recommendations.

gnome-core : Only the official “core” modules of the GNOME desktop. Above packages depend on this one.





نکته: اگر فقط gnome core installation داشتید میتوانید برای نصب کامل‌تر از روش زیر نیز استفاده نمایید(نصب پوسته گنوم و بدون تمامی ابزارها)
apt-get install gnome-shell
apt-get install gnome-terminal
محیط کاربری سوم: Xfce

محیط چهارم کاربریLXDE

محیط کاربری پنجم(پلاسما): KDE



نکته: برای  پایین آوردن محیط گرافیکی از دستورزیر  استفاده شود
در دبیان
/etc/init.d/gdm3 stop
در اوبونتو
/etc/init.d/lightdm stop




  • behrooz mohamadi nsasab
۲۲
خرداد

رفع مشکل bad gateway


گاهی اوقات ممکن است بدون دلیل مشخص صفحات، خطای bad gateway بدهد.

برای حل این مشکل می‌بایست به لاگ خطا در نشانی /var/log/nginx/error.log مراجعه کرد. اگر مشکل به صورت زیر باشد:

upstream sent too big header while reading response header from upstream,

می‌بایست در در تنظیمات کانفیگ (/etc/nginx/nginx.conf) سه خط زیر را نیز اضافه نمود:

proxy_buffer_size   128k;
proxy_buffers   4 256k;
proxy_busy_buffers_size   256k;

  • behrooz mohamadi nsasab
۲۲
خرداد

نکته: سرویس NginX همانند سرویس آپاچی در لینوکس و سرویس IIS در ویندوز است  که یک وب سرور به ما میدهد تا بتوانیم در بستر آن صفحات وب را به اشتراک بگذاریم


نصب: از دستورات package manager  سیستم عامل استفاده نمایید

Debian:  sudo apt-get install nginx
CentOS:  sudo yum install nginx

نکته: فایل های تنظیماتی سرویس  NginX  در مسیر etc/nginx قرار دارد

در فایل زیر:

/etc/nginx/nginx.conf

در خطی که با  عبارت  include آغاز میشود، مسیر زیر را مطابق نمونه قرار بدهید (در مسیر زیر برای هر دامنه یک فایل تنظیماتی بسازیم و کانفیگ هر سایت و یا دامنه را مجزا درون آن قرار دهید)

include /etc/nginx/site_available/*.conf;



یعنی در مسیر site_available به ازای هر فایلی که با پسوند conf وجود دارد و محتوی کانفیگ یک دامنه دلخواه است آن فایل خوانده می‌شود و یک دامنه را کانفیگ می‌کند.

بطور  مثال برای دامنه BMS  از فایل BMS.conf  در مسیر site-available  که در رهنگر مورد استفاده قرار میگرفته استفاده شد.


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

upstream backend1  {
  ip_hash;
  server 172.16.85.237:8080 max_fails=3  fail_timeout=15s;
  server 172.16.85.238:8080 max_fails=3  fail_timeout=15s;
}
server {
        listen 80;
        server_name 172.16.85.244;
        client_max_body_size 250M;
 
location / {
        proxy_set_header X-Forwarded-Proto http;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://backend1;
        rewrite ^/$ /Ganjeh last;
       }
}



نکته:  کانفیگ بالا در فایل موجود در Site-available قرار خواهد گرفت.

بعنوان مثال برای فایل BMS.conf در رهنگر مشهد از شکل زیر استفاده شد:

#pstream backend  {
#  server 127.0.0.1:8080 ;
#}
server {
        listen 80;
        server_name 188.253.0.16;
        server_name mashhad.etrack.ir;
 
location / {
        proxy_set_header X-Forwarded-Proto http;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://127.0.0.1:8080/BMS;
       }
location /BMS {
        proxy_set_header X-Forwarded-Proto http;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://127.0.0.1:8080/BMS;
       }
 
location /MapCache {
        proxy_set_header X-Forwarded-Proto http;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://127.0.0.1:8080/MapCache;
       }
}


  • behrooz mohamadi nsasab
۲۲
خرداد

برای راه اندازی سرویس https در Nginx به روش زیر عمل کنید:

نکته: در هرباری که تغییری در تنظیمات انجام میدهید از دستور زیر استفاده نمایید تا مطمئن شوید که تغییرات درست بوده و موجب خطا نمیشود(سرویس را ریست ننمایید و از دستور زیر استفاده نمایید)

nginx -t

در زیر یک نمونه فایل config قبل ازآعمال تغییرات آورده شده تا تغییرات بوضوح مشاهده شود:

server {
         listen 80;
         server_name minitapp.ir;
         server_name www.minitapp.ir;
         client_max_body_size 300M;
         
         location / {
                proxy_pass http://192.168.2.101:8080/;
                proxy_set_header X-Forwarded-Proto https;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For
                $proxy_add_x_forwarded_for;
        }
}

همچنین بلاک زیر بعد از بروز تغییرات می‌باشد:

server {
         listen 80;                                                         # http port
         server_name minitapp.ir;                                           # domain
         server_name www.minitapp.ir;
         client_max_body_size 300M;
         return 301 https://$server_name$request_uri;                       # Redirect to (return301 means redirect)
}
 
server {
         listen 443;                                                                                 # https port
         server_name minitapp.ir;                                                         # domain
         server_name www.minitapp.ir;                                                # domain
         client_max_body_size 300M;
         ssl on;
         ssl_certificate /etc/nginx/sites-cert/minitapp.ir.pem;            # Pem(CertificateFile) file
         ssl_certificate_key /etc/nginx/sites-cert/minitapp.ir.key;      # Key(CertificateFile) file
         ssl_session_timeout  5m;                                                        # Optional
         ssl_protocols  TLSv1;                                                               # Optional
         ssl_ciphers  HIGH:!aNULL:!MD5;                                             # Optional
         ssl_prefer_server_ciphers   on;                                               # Optional
 
         location / {
                proxy_pass http://192.168.2.101:8080/;
                proxy_set_header X-Forwarded-Proto https;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For
                $proxy_add_x_forwarded_for;
        }
}

نکته: مسیر زیر یک مسیر دلخواه است که در سرور Nginx است که برای نگهداری فایل های ca در نظر گرفته شده است

/etc/nginx/sites-cert

نکته: return 301 به معنی این است که صفحات را به آدرس مورد نظر منتقل(redirect) کن

نکته: اگر بخواهیم فقط از سرویس https استفاده نماییم باید از داخل بلاک server با پورت 80 تمامی location ها را پاک کرده و به یک بلاک جدید با همان نام server و با شماره 443 (بجای 80) قرار دهیم (توجه شود که هیچ مقداری در location ها تغییر نخواهند کرد)-(توجه شود که directive با عنوان  proxy در تگ http مشاهده نشود)

نکته: اگر بخواهیم از هردو پروتکل http و https استفاده نماییم، آنگاه خط return 301 را از محل listen 80 حذف کرده و به بلاک های آن دست نمی‌زنیم.

  • behrooz mohamadi nsasab
۱۹
خرداد
  • 1. List Established Connections

    By default if we run the ss command with no further options specified it will display a list of open non-listening sockets that have established connections, so for example TCP, UDP or UNIX sockets.

    [root@centos7 ~]# ss | head -n 5
    Netid  State      Recv-Q Send-Q Local Address:Port      Peer Address:Port
    u_str  ESTAB      0      0       * 23740                * 23739
    u_str  ESTAB      0      0       * 23707                * 23706
    u_str  ESTAB      0      0       * 87021                * 88383
    u_str  ESTAB      0      0       * 17056                * 17112
    

    In the above example I have limited the output, on my server I have over 500 lines printed out by running the ss command, so you may wish to pipe it into something like less to easily read it, or otherwise append additional options on the end to only show what you’re after.

  • 2. Show Listening Sockets

    Rather than listing all sockets, we can use the -l option to specifically list the sockets that are currently listening for a connection.

    [root@centos7 ~]# ss -lt
    State       Recv-Q Send-Q  Local Address:Port                Peer Address:Port
    LISTEN      0      2                   *:kerberos-adm        *:*
    LISTEN      0      128                 *:sunrpc              *:*
    LISTEN      0      5                   *:kpasswd             *:*
    LISTEN      0      10       192.168.1.14:domain              *:*
    LISTEN      0      10          127.0.0.1:domain              *:*
    LISTEN      0      5       192.168.122.1:domain              *:*
    LISTEN      0      128                 *:ssh                 *:*
    

    In this example we have also used the -t option to only list TCP, more on this later. In future examples you will see that we will combine multiple options like this in order to quickly filter down to what we’re after.

  • 3. Show Processes

    We can print out the process or PID number that owns a socket with the -p option.

    [root@centos7 ~]# ss -pl
    Netid  State      Recv-Q Send-Q Local Address:Port     Peer Address:Port
    tcp    LISTEN     0      128    :::http                :::*                 users:(("httpd",pid=10522,fd=4),("httpd",pid=10521,fd=4),("httpd",pid=10520,fd=4),("httpd",pid=10519,fd=4),("httpd",pid=10518,fd=4),("httpd",pid=10516,fd=4))
    

    In the above example I have only listed a single result, without any further options the full output of ss prints out over 500 lines to stdout. Regardless, we can see the process ID’s of the various Apache processes that are running on this server.

  • 4. Don’t Resolve Service Names

    By default ss will only resolve port numbers as we have previously seen, for example in the line below we can see 192.168.1.14:ssh where ssh is listed as the local port.

    [root@centos7 ~]# ss
    Netid  State      Recv-Q Send-Q Local Address:Port    Peer Address:Port
    tcp    ESTAB      0      64     192.168.1.14:ssh      192.168.1.191:57091
    

    However if we specify the -n option, this resolution will not take place and we will instead see the port number rather than the service name.

    [root@centos7 ~]# ss -n
    Netid  State      Recv-Q Send-Q Local Address:Port    Peer Address:Port
    tcp    ESTAB      0      0      192.168.1.14:22       192.168.1.191:57091
    

    Note that :22 is now displayed rather than :ssh as we have disabled all name resolution of hostnames and ports. You can check the /etc/services file to see a full list of which ports map to which services.

  • 5. Resolve Numeric Address/Ports

    We can also do the opposite of this and resolve both the IP address and port number with the -r option. With this we now see the hostname of the 192.168.1.14 server listed.

    [root@centos7 ~]# ss -r
    Netid  State      Recv-Q Send-Q Local Address:Port         Peer Address:Port
    tcp    ESTAB      0      64     centos7.example.com:ssh    192.168.1.191:57091
    
  • 6. IPv4 Sockets

    We can use the -4 option to only display information corresponding to IPv4 sockets. In the below example we also make use of the -l option to list everything listening on an IPv4 address.

    [root@centos7 ~]# ss -l4
    Netid  State      Recv-Q Send-Q     Local Address:Port        Peer Address:Port
    udp    UNCONN     0      0              127.0.0.1:323         *:*
    udp    UNCONN     0      0          192.168.122.1:domain      *:*
    udp    UNCONN     0      0               *%virbr0:bootps      *:*
    udp    UNCONN     0      0                      *:bootpc      *:*
    tcp    LISTEN     0      128                    *:sunrpc      *:*
    tcp    LISTEN     0      5          192.168.122.1:domain      *:*
    tcp    LISTEN     0      128                    *:ssh         *:*
    tcp    LISTEN     0      128            127.0.0.1:ipp         *:*
    tcp    LISTEN     0      100            127.0.0.1:smtp        *:*
    
  • 7. IPv6 Sockets

    Likewise, we can use the -6 option to only display information related to IPv6 sockets. In the below example we also make use of the -l option to list everything listening on an IPv6 address.

    [root@centos7 ~]# ss -l6
    Netid  State      Recv-Q Send-Q     Local Address:Port          Peer Address:Port
    udp    UNCONN     0      0                     :::ipv6-icmp     :::*
    udp    UNCONN     0      0                     :::22834         :::*
    udp    UNCONN     0      0                    ::1:323           :::*
    tcp    LISTEN     0      128                   :::sunrpc        :::*
    tcp    LISTEN     0      128                   :::http          :::*
    tcp    LISTEN     0      128                   :::ssh           :::*
    tcp    LISTEN     0      128                  ::1:ipp           :::*
    tcp    LISTEN     0      100                  ::1:smtp          :::*
    
  • 8. TCP Only

    The -t option can be used to display only TCP sockets. When combined with -l to only print out listening sockets we can see everything listening on TCP.

    [root@centos7 ~]# ss -lt
    State      Recv-Q Send-Q      Local Address:Port       Peer Address:Port
    LISTEN     0      128                     *:sunrpc     *:*
    LISTEN     0      5           192.168.122.1:domain     *:*
    LISTEN     0      128                     *:ssh        *:*
    LISTEN     0      128             127.0.0.1:ipp        *:*
    LISTEN     0      100             127.0.0.1:smtp       *:*
    LISTEN     0      128                    :::sunrpc    :::*
    LISTEN     0      128                    :::http      :::*
    LISTEN     0      128                    :::ssh       :::*
    LISTEN     0      128                   ::1:ipp       :::*
    LISTEN     0      100                   ::1:smtp      :::*
    
  • 9. UDP Only

    The -u option can be used to display only UDP sockets. As UDP is a connection-less protocol, simply running with only the -u option will display no output. We can instead combine this with the -a or -l option to see all listening UDP sockets, as shown below.

    [root@centos7 ~]# ss -ul
    State       Recv-Q Send-Q  Local Address:Port       Peer Address:Port
    UNCONN      0      0                   *:mdns       *:*
    UNCONN      0      0                   *:kpasswd    *:*
    UNCONN      0      0                   *:839        *:*
    UNCONN      0      0                   *:36812      *:*
    UNCONN      0      0       192.168.122.1:domain     *:*
    UNCONN      0      0        192.168.1.14:domain     *:*
    
  • 10. Unix Sockets

    The -x option can be used to display unix domain sockets only.

    [root@centos7 ~]# ss -x
    Netid  State      Recv-Q Send-Q Local Address:Port           Peer Address:Port
    u_str  ESTAB      0      0      @/tmp/.X11-unix/X0 27818     * 27817
    u_str  ESTAB      0      0      @/tmp/.X11-unix/X0 26656     * 26655
    u_str  ESTAB      0      0       * 28344                     * 26607
    u_str  ESTAB      0      0       * 24704                     * 24705
    u_str  ESTAB      0      0      @/tmp/.X11-unix/X0 25195     * 24086
    u_str  ESTAB      0      0      @/tmp/dbus-CRqRiw6V 28388    * 28693
    ...
    
  • 11. Display All Information

    the -a option shows all, both listening and non-listening sockets. In the case of TCP this means established connections. This option is useful for combining with others, for instance to show all UDP sockets we can add -a, as by default with just the -u option we don’t see as much information.

    [root@centos7 ~]# ss -u
    Recv-Q Send-Q       Local Address:Port           Peer Address:Port
    0      0             192.168.1.14:56658          129.250.35.251:ntp
    
    [root@centos7 ~]# ss -ua
    State       Recv-Q Send-Q  Local Address:Port           Peer Address:Port
    UNCONN      0      0                   *:mdns           *:*
    UNCONN      0      0           127.0.0.1:323            *:*
    ESTAB       0      0        192.168.1.14:56658          129.250.35.251:ntp
    UNCONN      0      0                   *:21014          *:*
    UNCONN      0      0                   *:60009          *:*
    UNCONN      0      0       192.168.122.1:domain         *:*
    UNCONN      0      0            *%virbr0:bootps         *:*
    UNCONN      0      0                   *:bootpc         *:*
    UNCONN      0      0                 ::1:323           :::*
    UNCONN      0      0                  :::43209         :::*
    
  • 12. Show Socket Memory Usage

    The -m option can be used to display the amount of memory that each socket is using.

    [root@centos7 ~]# ss -ltm
    State      Recv-Q Send-Q                Local Address:Port       Peer Address:Port
    LISTEN     0      128                               *:sunrpc     *:*
      skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0)
    LISTEN     0      5                     192.168.122.1:domain     *:*
      skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0)
    LISTEN     0      128                               *:ssh        *:*
      skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0)
    LISTEN     0      128                       127.0.0.1:ipp        *:*
      skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0)
    LISTEN     0      100                       127.0.0.1:smtp       *:*
      skmem:(r0,rb87380,t0,tb16384,f0,w0,o0,bl0)
    
  • 13. Show Internal TCP Information

    We can request additional internal TCP information with the -i info option.

    [root@centos7 ~]# ss -lti
    State      Recv-Q Send-Q                Local Address:Port                        Peer Address:Port
    LISTEN     0      128                               *:sunrpc                                    *:*
      cubic rto:1000 mss:536 cwnd:10 lastsnd:373620 lastrcv:373620 lastack:373620
    LISTEN     0      5                     192.168.122.1:domain                                    *:*
      cubic rto:1000 mss:536 cwnd:10 lastsnd:373620 lastrcv:373620 lastack:373620
    LISTEN     0      128                               *:ssh                                       *:*
      cubic rto:1000 mss:536 cwnd:10 segs_in:2 lastsnd:373620 lastrcv:373620 lastack:373620
    LISTEN     0      128                       127.0.0.1:ipp                                       *:*
      cubic rto:1000 mss:536 cwnd:10 lastsnd:373620 lastrcv:373620 lastack:373620
    LISTEN     0      100                       127.0.0.1:smtp                                      *:*
      cubic rto:1000 mss:536 cwnd:10 lastsnd:373620 lastrcv:373620 lastack:373620
    

    Underneath each listening socket we can see additional information. Note that the -i option does not work with UDP, if you instead specify -u instead of -t this extra information will not be present.

  • 14. Show Summary

    We can see a quick overview of the statistics with the -s option.

    [root@centos7 ~]# ss -s
    Total: 1253 (kernel 1721)
    TCP:   13 (estab 1, closed 2, orphaned 0, synrecv 0, timewait 0/0), ports 0
    
    Transport Total     IP        IPv6
    *   1721      -         -
    RAW     1         0         1
    UDP     9         7         2
    TCP     11        6         5
    INET    21        13        8
    FRAG    0         0         0
    

    This quickly allows us to see things like the total number of established connections, as well as counts of each type of socket and whether IPv4 or IPv6 is in use.

  • 15. Filter Based On State

    We can specify the state of a socket to only print out sockets in this state. For example we can specify states including established, syn-sent, syn-recv, fin-wait-1, fin-wait-2, time-wait, closed, closed-wait, last-ack, listen and closing. The below example shows all established TCP connections. To generate this I was connected to the server by SSH and just loaded a web page from Apache. We can then see that the connections to Apache quickly change to time-wait.

    [root@centos7 ~]# ss -t state established
    Recv-Q Send-Q               Local Address:Port           Peer Address:Port
    0      64                     192.168.1.14:ssh         192.168.1.191:57091
    0      0              ::ffff:192.168.1.14:http   ::ffff:192.168.1.191:57373
    0      0              ::ffff:192.168.1.14:http   ::ffff:192.168.1.191:57372
    
    [root@centos7 ~]# ss -t state time-wait
    Recv-Q Send-Q               Local Address:Port           Peer Address:Port
    0      0              ::ffff:192.168.1.14:http   ::ffff:192.168.1.191:57373
    0      0              ::ffff:192.168.1.14:http   ::ffff:192.168.1.191:57372
    
  • 16. Filter Based On Port Number

    Filtering can also be performed to list all ports that are less than (lt), greater than (gt), equal to (eq), not equal to (ne), less than or equal to (le), or greater than or equal to (ge).

    For example, the below command shows all listening ports on port number 500 or below.

    [root@centos7 ~]# ss -ltn sport le 500
    State       Recv-Q Send-Q    Local Address:Port      Peer Address:Port
    LISTEN      0      128                   *:111       *:*
    LISTEN      0      5         192.168.122.1:53        *:*
    LISTEN      0      128                   *:22        *:*
    LISTEN      0      100           127.0.0.1:25        *:*
    LISTEN      0      128                  :::111       :::*
    LISTEN      0      128                  :::22        :::*
    LISTEN      0      100                 ::1:25        :::*
    

    For comparison we can perform the opposite, and view all ports greater than 500 with ‘gt’

    [root@centos7 ~]# ss -ltn sport gt 500
    State       Recv-Q Send-Q    Local Address:Port       Peer Address:Port
    LISTEN      0      128           127.0.0.1:631        *:*
    LISTEN      0      128                 ::1:631        :::*
    

    We can also filter based on items such as source or destination port, for example below we search for TCP sockets that have a source port (sport) of ssh.

    [root@centos7 ~]# ss -t '( sport = :ssh )'
    State       Recv-Q Send-Q       Local Address:Port         Peer Address:Port
    ESTAB       0      64             192.168.1.14:ssh        192.168.1.191:57091
    
  • 17. Show SELinux Context

    The -Z and -z options can be used to show the SELinux security context of a socket. In the example below we also use the -t and -l options to only list listening TCP sockets, with the -Z option we can also see the SELinux contexts.

    [root@centos7 ~]# ss -tlZ
    State      Recv-Q Send-Q     Local Address:Port     Peer Address:Port
    LISTEN     0      128                    *:sunrpc     *:*                users:(("systemd",pid=1,proc_ctx=system_u:system_r:init_t:s0,fd=71))
    LISTEN     0      5          192.168.122.1:domain     *:*                users:(("dnsmasq",pid=1810,proc_ctx=system_u:system_r:dnsmasq_t:s0-s0:c0.c1023,fd=6))
    LISTEN     0      128                    *:ssh        *:*                users:(("sshd",pid=1173,proc_ctx=system_u:system_r:sshd_t:s0-s0:c0.c1023,fd=3))
    LISTEN     0      128            127.0.0.1:ipp        *:*                users:(("cupsd",pid=1145,proc_ctx=system_u:system_r:cupsd_t:s0-s0:c0.c1023,fd=12))
    LISTEN     0      100            127.0.0.1:smtp       *:*                users:(("master",pid=1752,proc_ctx=system_u:system_r:postfix_master_t:s0,fd=13))
    
  • 18. Display Version

    The -v option can be used to display specific version information for the ss command, in this instance we see the version of the iproute package which provides ss.

    [root@centos7 ~]# ss -v
    ss utility, iproute2-ss130716
    
  • 19. Print Help Documentation

    The -h option can be used to display further help regarding the ss command, it’s good to use as a quick reference if you need a short description on some of the most commonly used options. Note that the full output here has not been included for brevity.

    [root@centos7 ~]# ss -h
    Usage: ss [ OPTIONS ]
    
  • 20. Show Extended Information

    We can use the -e option which shows extended detailed information, as shown below we can see the extended information appended to the end of each line.

    [root@centos7 ~]# ss -lte
    State      Recv-Q Send-Q      Local Address:Port         Peer Address:Port
    LISTEN     0      128                     *:sunrpc       *:*                 ino:16090 sk:ffff880000100000 <->
    LISTEN     0      5           192.168.122.1:domain       *:*                 ino:23750 sk:ffff880073e70f80 <->
    LISTEN     0      128                     *:ssh          *:*                 ino:22789 sk:ffff880073e70000 <->
    LISTEN     0      128             127.0.0.1:ipp          *:*                 ino:23091 sk:ffff880073e707c0 <->
    LISTEN     0      100             127.0.0.1:smtp         *:*                 ino:24659 sk:ffff880000100f80 <->
    
  • 21. Show Timer Information

    The -o option can be used to display the timer information. This information shows us things such as the retransmission timer value, number of retransmissions that have occurred, and the number of keepalive probes that have been sent.

    [root@centos7 ~]# ss -to
    State       Recv-Q Send-Q         Local Address:Port             Peer Address:Port
    ESTAB       0      64              192.168.1.14:ssh              192.168.1.191:57091      timer:(on,242ms,0)
    ESTAB       0      0        ::ffff:192.168.1.14:http      ::ffff:192.168.1.191:57295      timer:(keepalive,120min,0)
    ESTAB       0      0        ::ffff:192.168.1.14:http      ::ffff:192.168.1.191:57296      timer:(keepalive,120min,0)
    
  • behrooz mohamadi nsasab
۱۹
خرداد
در لینومس دسترسی کامل با دو روش زیر امکان پذیر است:
  1. su
  • نیاز به پسورد روت می‌باشد
  • معمولا دسترسی به یوزر روت در هیچ سازمانی صورت نمیگیرد
  • نمی‌توانیم متوجه شویم که یوزرهای سیستم چکار کرده اند چون همه با یوزر روت کارهایشان را انجام داده اند
  • sudo
    • در مسیر /var/log/auth.log  فعالیت های صورت گرفته لاگ می‌شود.

    به دو صورت میتوان یک یوزر را sudo نماییم:

    1. فایل /etc/sudoers
    2. عضویت در گروه

    روش اول:

    فایل زیر را ادیت کرده و خط زیر را در آن قرار دهید:

    # vim /etc/sudoers(or sudo visudo)
    behrooz ALL=(ALL) ALL

    در خط بالا که به فایل /etc/sudoers اضافه میشود behrooz نام یوزر است


        behrooz indicates user name
        First ALL instructs to permit sudo access from any terminal/machine
        Second (ALL) instructs sudo command to be allowed to execute as any user
        Third ALL indicates all command can be executed as root

    روش دوم:
    در فایل /etc/sudoes یک گروه معرفی شده است که اگر کسی در آن عضو شود به این منزله است که روش اول را در فایل /etc/sudoers انجام داده ایم-
    نکته: در توزیع های کنونی دبیان نام این گروه sudo و در توزیع های کنونی redHat نام این گروه wheel است.
    نکته: برای این که یک یوزر را به گروه جدید اضافه نماییم از روش زیر استفاده می‌شود:
    sudo usermod -aG UserName GroupName







    • behrooz mohamadi nsasab
    ۱۶
    خرداد

    select
    case
    when b.table_name is null then
    'unindexed'
    else
    'indexed'
    end as status,
    a.table_name as table_name,
    a.constraint_name as fk_name,
    a.fk_columns as fk_columns,
    b.index_name as index_name,
    b.index_columns as index_columns
    from
    (
    select
    a.table_name,
    a.constraint_name,
    listagg(a.column_name, ',') within
    group (order by a.position) fk_columns
    from
    dba_cons_columns a,
    dba_constraints b
    where
    a.constraint_name = b.constraint_name
    and
    b.constraint_type = 'R'
    and
    a.owner = '&&schema_owner'
    and
    a.owner = b.owner
    group by
    a.table_name,
    a.constraint_name
    ) a
    ,(
    select
    table_name,
    index_name,
    listagg(c.column_name, ',') within
    group (order by c.column_position) index_columns
    from
    dba_ind_columns c
    where
    c.index_owner = '&&schema_owner'
    group by
    table_name,
    index_name
    ) b
    where
    a.table_name = b.table_name(+)
    and
    b.index_columns(+) like a.fk_columns || '%'
    order by
    1 desc, 2;
    • behrooz mohamadi nsasab
    ۱۶
    خرداد

    برای نصب برنامه pycharm که یک ادیتور هست که  کد پایتون را کامپایل میکند به روش زیر عمل میکنیم(نصب در دبیان9)
    نکته: از لینک آخر این دایکومنت برای نصب در توزیع‌های دیگر نیز میتوانید استفاده نمایید

    گام اول: بارگردن آدرس  URL

    گام دوم: instal this package

    گام سوم: select opration sysstem

    گام چهارم:  select server to download

    گام پنجم:

    sudo apt-get install pycharm-community-sloppy



    • behrooz mohamadi nsasab
    ۱۳
    خرداد
    اسکرین برای بوجود آوردن چند session  در bash کاربرد دارد اگر بخواهیم از یک ترمینال جندین ترمینال مشتق شود بطوری که هرکدام مستقلا باشند و درصورت بسته شدن آنها(detach)، کارشان مختل نشود، از screen  استفاده میکنیم:
    نکته : تقریبا در تمامی دستورات اسکرین از دستور کلید ترکیبی ctrl به همراه a  به همراه کلید دیگری استفاده میشود.
    برای ایجاد یک اسکرین از دستور زیر استفاده می‌شود(در بش اصلی):
    sudo apt-get install screen
    sudo yum install screen

    screen -S NAME
    برای برگشتن به bash  اصلی(detach شدن اسکرین ایجاد شده که در آن بودیم-این دستور را باید در محیط اسکرین بزنیم):
    ctrl+a, And d
     برای دیدن تمامی سشن های باز از اسکرین(در بش اصلی):
    screen -ls

    برای رفتن به یک اسکرین دلخواه(در بش اصلی)(reattach):
    screen -r NAME
    screen -x  NAME

    کشتن یک اسکرین(در بش اصلی):
    screen -S NAME -X quit
    کشتن یک اسکرین(در محیط اسکرین):
    ctrl+d
    رفتن به اسکرین بعدی(در محیط اسکرین)
    ctrl+a, And n
    رفتن به اسکرین قبلی(در محیط اسکرین)
    ctrl+a, And p
    نمایش تمام اسکرین های باز(در محیط اسکرین)
    ctrl+a, And "
    رفتن به اسکرین شماره خاص(در محیط اسکرین)
    ctrl+a, And 0-9
     
     

        Ctrl+a " to visualize the opened windows
        Ctrl+a p and Ctrl+a n to switch with the previous/next window
        Ctrl+a number to switch to the window number
        Ctrl+d to kill a window
        screen -ls to list the sessions and their status
        screen -S session_name to start a session with a given name. The name should be unique
        Ctrl+a d to detach a session
        screen -x session_name to resume (reattach) a session knowing its name
        screen -S session_name -X quit to terminate a detached session
     
    Layout:
        Ctrl+a S to split horizontally
        Ctrl+a | to split vertically
        Ctrl+a <Tab> to switch to the next region
        Ctrl+a X to close the current region
        Ctrl+a Q to close all the regions but the current one

       URL1
       URL2
       URL3

    • behrooz mohamadi nsasab
    ۱۲
    خرداد

    افزودن دیسک local برای گرفتن بسته‌ها:

    برنامه apt-cdrom را نصب کنید و مطابق ریر، مسیر mount point دیسک را اضافه نمایید(همچنین میتوانید keydrive یک USBرا اضافه نمایید).

    apt-cdrom add directory
    • behrooz mohamadi nsasab
    ۱۲
    خرداد

    deb http://site.example.com/debian distribution component1 component2 component3
    deb-src http://site.example.com/debian distribution component1 component2 component3


    deb: دانلود بسته هایی از جنس باینری که کامپایل شده است.

    deb-src: دانلود بسته هایی از جنس کد می‌باشد

    url:  لینک دانلود کردن بسته‌ها(here)

    Distribution: نام ورژن دبیان-(Buster دبیان10)(Stretch دبیان9)(Jessie دبیان8)(Stable مثلا داریم از دبیان9 استفاده میکنیم و میخواهیم وقتی دبیان10 آمد به آن سوییچ شود)

    components

    • main: بسته های شامل حوزه  DFSG شرکت دبیان که مخفف Debian Free Software Guidelines است. یعنی بسته هایخارج از این حوزه رسما توسط شرکت دبیان تایید نمی‌شوند. برنامه های که در حوزه DFSG  قرار دارند باید 10 مورد را رعایت نمایند(DFSG) نظیر ایگان باشند  و source code هم همراه داشته باشد قابلیت مشتق شدن یا استفاده از آن وجود داشته باشد و ...
    • contrib: نرم افزار مطابق با ضوابط DFSG باشد اما چند وابستگی از آن نرم افزار ، DFSG را رعایت نکرده باشد ، در این صورت آن نرم افزار و وابستگی هایش در این گروه قرار می گیرند.(بسته هایی که شامل DFSG هستند ولی dependencies آنها در main قرار ندرد)
    • non-free: بسته‌هایی که کلا در حوزه DFSG قرار ندارند

    در زیر یک نمونه از فایل source.list که از سیستم عامل دبیان ۹ است آورده شده است:

    deb http://deb.debian.org/debian stretch main
    deb-src http://deb.debian.org/debian stretch main
    
    deb http://deb.debian.org/debian stretch-updates main
    deb-src http://deb.debian.org/debian stretch-updates main
    
    deb http://security.debian.org/debian-security/ stretch/updates main
    deb-src http://security.debian.org/debian-security/ stretch/updates main

    نکته: اگر بخواهید از بسته‌های contrib و non-free استفاده نمایید، می‌توانید پس از main یک فاصله گذاشته و به ترتیب عبارت  contrib  و  non-free را تایپ نمایید

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

    sudo gksu --desktop /usr/share/applications/software-properties.desktop /usr/bin/software-properties-gtk


    • behrooz mohamadi nsasab
    ۰۶
    خرداد

    در نرم افزار libreOffice در مجموعه excell آن:

    f8:                       select+بالا و پایین و چپ و راست
    f7:                       toolbar
    f11:                     منوی سمت راست   
    shift+f6:             toolbar

    در گنوم:

     ALT+F1                          برابر است با پنجره
    shift + F10                        برابر است با راست کلیک
    ctrl+F10                            برابر است با گزینه های منوی بالای هر پنجره

    • behrooz mohamadi nsasab
    ۰۵
    خرداد

    جستجو در عبارت است نظیر grep  در لینوکس

    ipconfig  | findstr IP

    تمام اطلاعات از کارت شبکه:

    ipconfig /all

    DNS های لوکال cache شده در سیستم

    ipconfig /displaydns

    پاک کردنDNS های لوکال cache شده در سیستم


    ipconfig /flushdns

    نمایش اطلاعات جامع از سیستم

    systeminfo

    لیستی مشابه تسک منیجر ارائه میدهد

    tasklist

    بستن یک برنامه بر اساس پروسس آی دی

    taskkill /PID NUMBER

    نمایش متن یک فایل متنی

    type  FILE.txt

    وضعیت و اطلاعات سوکت‌ها و پورت‌ها و کانکشن‌های سیسیتم را نشان میدهد

    netstat -a

    برای start ویا stop کردن سرویس‌ها از دستور زیر استفاده میشود:

    net start  SERVICE

    net stop SERVICE

    نمایش تمام یوزرهای موجود در سیستم

    net user

     

    برای افزودن یک درارو شبکه‌ای ویا حذف آن از دستور زیر استفاده میشود

    net use m: \myserversharename
    net use m: \myserversharename /delete

    نکته:دستور net بسیار کارهای دیگر نیز میتواتند انجام دهد که شرح آن را در help آن مشاهده نمایید.

    برای اینکه ببینید dns پیش فرض شما چه می‌باشد از دستور nslookup استفاده نمایید

    nslookup

    برای تغییر  dns از پیش‌فرض به یک سرور دیگر  ابتدا دستور nslookup را زده و سپس دستور set  ds وارد کرده و اینتر را بزنید و سپس آدرس ip دی ان اس سرور مورد نظر را وارد نمایید.

    nslookup

    set ds

    8.8.8.8

    ااستفاده از دی ان اس برای پیدا کردن IP یک دامنه:
    nslookup NAME
    ااستفاده از دی ان اس برای پیدا کردن IP یک دامنه با استفاده از dns Server دلخواه8.8.8.8:

    nslookup NAME 8.8.8.8.

    برای تغییردر group policy
    gpresult
     

    نمایش نام هاست

    hostname

    با چه یوزری وارد شده  ایم

    whoami

    نمایش تمام روترهای مابین مسیر آی پی وارد شده تا کامپیوتر خود

    tracert IP

    یافتن مک از روی آی پی. نمایش جدول آی پی و مک آدرس(آی پی های داینامیک)

    arp -a

    نمایش جدول آی پی و مک آدرس(آی پی های استاتیک)

    arp -s

    پاک کردن همه آی پی های موجود در جدول

    arp -d

    پاک کردن یک آی پی خاص از جدول

    arp -d IP

    لینک مفید

    • behrooz mohamadi nsasab