加密與安全

加密與安全

SSH端口轉發

SSH 會自動加密和解密所有 SSH 客戶端與服務端之間的網絡數據。但是,SSH 還能夠將其他 TCP 端口的網絡數據通過 SSH 鏈接來轉發,并且自動提供了相應的加密及解密服務。這一過程也被叫做“隧道”(tunneling),這是因為 SSH 為其他 TCP 鏈接提供了一個安全的通道來進行傳輸而得名。例如,Telnet,SMTP,LDAP 這些 TCP 應用均能夠從中得益,避免了用戶名,密碼以及隱私信息的明文傳輸。而與此同時,如果工作環境中的防火墻限制了一些網絡端口的使用,但是允許 SSH 的連接,也能夠通過將 TCP 端口轉發來使用 SSH 進行通訊

SSH 端口轉發能夠提供兩大功能:

?加密 SSH Client 端至 SSH Server 端之間的通訊數據

?突破防火墻的限制完成一些之前無法建立的 TCP 連接

ssh 命令:

本地轉發:

ssh? -L localport:remotehost:remotehostport ?sshserver

本機端口;內網的端口 ;遠程主機端口號 ;ssh服務器地址

?選項:

-f 后臺啟用

-N 不打開遠程shell,處于等待狀態

-g 啟用網關功能

示例

ssh –L 9527:telnetsrv:23 -N sshsrv

telnet 127.0.0.1 9527

當訪問本機的9527的端口時,被加密后轉發到sshsrv的ssh服務,再解密被轉發到telnetsrv:23

data?è localhost:9527 ?è? localhost:XXXXX ?è? sshsrv:22 ??è? sshsrv:YYYYY ?è telnetsrv:23

 

yum? install? telnet-server??????? 安裝telnet

 

遠程轉發:

-R sshserverport:remotehost:remotehostport sshserver

示例:

ssh –R 9527:telnetsrv:23 –N sshsrv

讓sshsrv偵聽9527端口的訪問,如有訪問,就加密后通過ssh服務轉發請求到本機ssh客戶端,再由本機解密后轉發到telnetsrv:23

Data ??è ? sshsrv:9527 ??è ? sshsrv:22 ??è ? localhost:XXXXX ??è ? localhost:YYYYY ??è ? telnetsrv:23

 

動態端口轉發:

?? 當用firefox訪問internet時,本機的1080端口做為代理服務器,firefox的訪問請求被轉發到sshserver上,由sshserver替之訪問internet

ssh -D 1080 root@sshserver

在本機firefox設置代理socket proxy:127.0.0.1:1080

curl –socks5 127.0.0.1:1080 http://www.qq.com

 

X 協議轉發

?所有圖形化應用程序都是X客戶程序

  • 能夠通過tcp/ip連接遠程X服務器
  • 數據沒有加密機,但是它通過ssh連接隧道安全進行

?ssh -X user@remotehost gedit

remotehost主機上的gedit工具,將會顯示在本機的X服務器上

傳輸的數據將通過ssh連接加密

 

ssh服務器

?服務器端:sshd, 配置文件: /etc/ssh/sshd_config

?常用參數

?Port

?ListenAddress ip

?LoginGraceTime 2m

?PermitRootLogin yes

?StrictModes yes 檢查.ssh/文件的所有者,權限等

?MaxAuthTries 6

?MaxSessions 10 同一個連接最大會話

?PubkeyAuthentication yes

?PermitEmptyPasswords no

?PasswordAuthentication yes

 

常用參數:

?GatewayPorts no

?ClientAliveInterval:單位:秒

?ClientAliveCountMax:默認3

?UseDNS yes

?GSSAPIAuthentication yes 提高速度可改為no

?MaxStartups 未認證連接最大值,默認值10

?Banner /path/file

限制可登錄用戶的辦法

AllowUsers user1 user2 user3

DenyUsers

AllowGroups

DenyGroups

 

ssh服務的最佳實踐:

?建議使用非默認端口

?禁止使用protocol version 1

?限制可登錄用戶

?設定空閑會話超時時長

?利用防火墻設置ssh訪問策略

?僅監聽特定的IP地址

?基于口令認證時,使用強密碼策略

tr -dc A-Za-z0-9_ < /dev/urandom | head -c 30| xargs

?使用基于密鑰的認證

?禁止使用空密碼

?禁止root用戶直接登錄

?限制ssh的訪問頻度和并發在線數

?經常分析日志

 

編譯安裝dropbear示例

?ssh協議的另一個實現:dropbear

源碼編譯安裝:

1、安裝開發包組:yum groupinstall “Development tools”

2、下載dropbear-2017.75.tar.bz2

3、tar xf dropbear-2017.75.tar.bz2

4、less INSTALL README

5、./configure

6、make PROGRAMS=”dropbear dbclient dropbearkey dropbearconvert scp”

7、make PROGRAMS=”dropbear dbclient dropbearkey dropbearconvert scp” install

啟動ssh服務:

8、ls /usr/local/sbin/ /usr/local/bin/

9、/usr/local/sbin/dropbear -h

10、mkdir /etc/dropbear

11、dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key -s 2048

12、dropbearkey -t dss -f /etc/dropbear/dropbear_dsa_host_key

13、dropbear -p :2222 -F –E #前臺運行

dropbear -p :2222 #后臺運行

客戶端訪問:

14、ssh -p 2222 root@127.0.0.1

15、dbclient -p 2222 root@127.0.0.1

 

AIDE(Advanced Intrusion Detection Environment)

高級入侵檢測環境)是一個入侵檢測工具,主要用途是檢查文件的完整性,審計計算機上的那些文件被更改過了。

AIDE能夠構造一個指定文件的數據庫,它使用aide.conf作為其配置文件。AIDE數據庫能夠保存文件的各種屬性,包括:權限(permission)、索引節點序號(inode number)、所屬用戶(user)、所屬用戶組(group)、文件大小、最后修改時間(mtime)、創建時間(ctime)、最后訪問時間(atime)、增加的大小以及連接數。AIDE還能夠使用下列算法:sha1、md5、rmd160、tiger,以密文形式建立每個文件的校驗碼或散列號.

這個數據庫不應該保存那些經常變動的文件信息,例如:日志文件、郵件、/proc文件系統、用戶起始目錄以及臨時目錄.

 

安裝AIDE??? yum install aide

修改配置文件

vim /etc/aide.conf (指定對哪些文件進行檢測)

/test/chameleon R /bin/ps R+a /usr/bin/crontab R+a

/etc PERMS

!/etc/mtab #“!”表示忽略這個文件的檢查

R=p+i+n+u+g+s+m+c+md5 權限+索引節點+鏈接數+用戶+組+大小+最后一次修改時間+創建時間+md5校驗值

NORMAL = R+rmd60+sha256

 

初始化默認的AIDE的庫

/usr/local/bin/aide –init

?生成檢查數據庫(建議初始數據庫存放到安全的地方)

cd /var/lib/aide

mv aide.db.new.gz aide.db.gz

?檢測: /usr/local/bin/aide –check

?更新數據庫

aide –update

 

 

su 切換身份:su –l username –c ‘command‘

?sudo????????? 用于授權非常普遍

  • 來自sudo包
  • man 5 sudoers
  • sudo能夠授權指定用戶在指定主機上運行某些命令。如果未授權用戶嘗試使用 sudo,會提示聯系管理員
  • sudo可以提供日志,記錄每個用戶使用sudo操作
  • sudo為系統管理員提供配置文件,允許系統管理員集中地管理用戶的使用權限和使用的主機
  • sudo使用時間戳文件來完成類似“檢票”的系統,默認存活期為5分鐘的“入場券”
  • 通過visudo命令編輯配置文件,具有語法檢查功能

visudo c 檢查語法

配置文件:/etc/sudoers, /etc/sudoers.d/

口令的時間戳文件:/var/db/sudo? 6版本????? /var/run/sudo/ts? 7版本?? 時間戳路徑

日志文件:/var/log/secure????? 可以看到sudo的授權行為

配置文件支持使用通配符glob:

?:任意單一字符

* :匹配任意長度字符

[wxc]:匹配其中一個字符

[!wxc]:除了這三個字符的其它字符

\x : 轉義

[[alpha]] :字母 示例: /bin/ls [[alpha]]*

 

 

 

sudo命令

?ls -l /usr/bin/sudo

?sudo –i –u wang 切換身份

?sudo [-u user] COMMAND

-V 顯示版本信息等配置信息 以及 顯示sudo的一些必要信息

-u user 默認為root

-l,ll 列出用戶在主機上可用的和被禁止的命令(ll? 的格式會與l不同)

-v 再次延長密碼有效期限為5分鐘,更新時間戳(密碼的有效期一般只有5分鐘)

-k 清除時間戳(1970-01-01),下次需要重新輸密碼

-K 與-k類似,還要刪除時間戳文件

-b 在后臺執行指令

-p 改變詢問密碼的提示符號

示例:-p ”password on %h for user %p:”

 

 

 

export? EDITOR=vim

visudo? /etc/sudoers

wang? 192.168.30.7=(root)???? /bin/mount?? /dev/cdrom???? /mnt/?? ( which?? mount )

給與wang用戶在192.168.30.7的主機上執行掛載命令的權限

mount? /dev/cdrom? /mnt/?????? 兩邊需要一樣,一點都不能變

不僅能授權用戶還能授權組,不過要在組名前加上%

gpasswd? -d? wang?? while

將wang用戶從while組中移除

 

setfacl? -m? u:wang:rw? f1?? 授權wang用戶對f1文件有rw權限

visudo? -f? /etc/sudoers.d/mage

visudo?? -c?? 檢查語法

 

 

配置文件規則有兩類;

1、別名定義:不是必須的

2、授權規則:必須的

授權規則格式:

用戶 登入主機=(代表用戶) 命令

示例:

root ?ALL=(ALL) ?ALL??? root在任何主機上(代表任何用戶)擁有任何命令的權限

格式說明:

user: 運行命令者的身份

host: 通過哪些主機

(runas):以哪個用戶的身份

command: 運行哪些命令

 

 

Users和runas:

username

#uid

%group_name

%#gid

user_alias|runas_alias

host:

ip或hostname

network(/netmask)

host_alias

command:

command name

directory

sudoedit

Cmnd_Alias

 

 

sudo別名和示例

?別名有四種類型:User_Alias, Runas_Alias, Host_Alias ,Cmnd_Alias

?別名格式:[A-Z]([A-Z][0-9]_)*?? 要當別名必須大寫字母開頭數字在后面,小寫字母不能有

?別名定義:

Alias_Type NAME1 = item1, item2, item3 : NAME2 = item4, item5? 冒號隔開可以定義多個別名

?示例1:

Student ALL=(ALL) ALL

%wheel ALL=(ALL) ALL

?示例2:

student ALL=(root) /sbin/pidof,/sbin/ifconfig??? 每個命令要寫完整路徑

%wheel ALL=(ALL) NOPASSWD: ALL??? 代表不輸任何口令的情況下執行任何命令

?示例3

User_Alias NETADMIN= netuser1,netuser2

用戶別名? 別名??? =用戶1,用戶2

Cmnd_Alias NETCMD = /usr/sbin/ip

系統別名

NETADMIN ALL=(root) NETCMD

?示例4

User_Alias SYSADER=wang,mage,%admins

User_Alias DISKADER=tom

Host_Alias SERS=www.magedu.com,172.16.0.0/24

Runas_Alias OP=root

Cmnd_Alias SYDCMD=/bin/chown,/bin/chmod

Cmnd_Alias DSKCMD=/sbin/parted,/sbin/fdisk

SYSADER SERS= SYDCMD,DSKCMD

DISKADER ALL=(OP) DSKCMD

 

?示例4

User_Alias ADMINUSER = adminuser1,adminuser2

Cmnd_Alias ADMINCMD = /usr/sbin/useradd, /usr/sbin/usermod, /usr/bin/passwd [a-zA-Z]*,

!/usr/bin/passwd root

ADMINUSER ALL=(root) NOPASSWD:ADMINCMD,PASSWD:/usr/sbin/userdel

?示例5

Defaults:wang runas_default=tom

wang ALL=(tom,jerry) ALL

?示例6

wang 192.168.175.136,192.168.175.138=(root) /usr/sbin/,!/usr/sbin/useradd

?示例7

wang ALL=(ALL) /bin/cat /var/log/messages*

 

 

TCP_Wrappers介紹

?作者:Wieste Venema,IBM,Google

?工作在第四層(傳輸層)的TCP協議

?對有狀態連接的特定服務進行安全檢測并實現訪問控制

?以庫文件形式實現

?某進程是否接受libwrap的控制取決于發起此進程的程序在編譯時是否針對libwrap進行編譯的

?判斷服務程序是否能夠由tcp_wrapper進行訪問控制的方法:

ldd /PATH/TO/PROGRAM|grep libwrap.so

strings PATH/TO/PROGRAM|grep libwrap.so

 

TCP_Wrappers的使用

?配置文件:/etc/hosts.allow, /etc/hosts.deny???? 白名單你,黑名單

?幫助參考:man 5 hosts_access,man 5 hosts_options

?檢查順序:hosts.allow,hosts.deny(默認允許)allow 可以允許也支持拒絕,deny只支持拒絕;白名單優先級更高。

注意:一旦前面規則匹配,直接生效,將不再繼續

?基本語法:

?daemon_list@host: client_list [ :options :option… ]

?Daemon_list@host格式

?單個應用程序的二進制文件名,而非服務名,例如vsftpd

?以逗號或空格分隔的應用程序文件名列表,如:sshd,vsftpd

?ALL表示所有接受tcp_wrapper控制的服務程序

?主機有多個IP,可用@hostIP來實現控制

如:in.telnetd@192.168.0.254

客戶端Client_list格式

?以逗號或空格分隔的客戶端列表

?基于IP地址:192.168.10.1 192.168.1.

?基于主機名:www.magedu.com .magedu.com 較少用

?基于網絡/掩碼:192.168.0.0/255.255.255.0

?基于net/prefixlen: 192.168.1.0/24(CentOS7)

?基于網絡組(NIS 域):@mynetwork

?內置ACL:ALL,LOCAL,KNOWN,UNKNOWN,PARANOID

?EXCEPT用法:

示例:vsftpd: 172.16. EXCEPT 172.16.100.0/24 EXCEPT 172.16.100.1

示例:只允許192.168.1.0/24的主機訪問sshd

/etc/hosts.allow

sshd: 192.168.1.

/etc/hosts.deny

sshd :ALL

示例:只允許192.168.1.0/24的主機訪問telnet和vsftpd服務

/etc/hosts.allow

vsftpd,in.telnetd: 192.168.1.

/etc/host.deny

vsftpd,in.telnetd: ALL

 

TCP_Wrappers的使用

?[:options]選項:

?幫助:man 5 hosts_options

deny 主要用在/etc/hosts.allow定義“拒絕”規則

如:vsftpd: 172.16. :deny

allow 主要用在/etc/hosts.deny定義“允許”規則

如:vsftpd:172.16. :allow

spawn 啟動一個外部程序完成執行的操作

twist 實際動作是拒絕訪問,使用指定的操作替換當前服務,標準I/O和ERROR發送到客戶端,默認至/dev/null

?測試工具:

tcpdmatch [-d] daemon[@host] client

-d 測試當前目錄下的hosts.allow和hosts.deny

示例

?sshd: ALL :spawn echo “$(date +%%F) login attempt from %c to %s,%d” >>/var/log/sshd.log

說明:

?在/etc/hosts.allow中添加,允許登錄,并記錄日志

?在/etc/hosts.deny中添加,拒絕登錄,并記錄日志

?%c 客戶端信息

?%s 服務器端信息

?%d 服務名

?%p 守護進程的PID

?%% 表示%

?vsftpd: 172.16. :twist /bin/echo “connection prohibited

 

 

PAM認證機制

?PAM:Pluggable Authentication Modules??? 可插入的驗證模塊

?認證庫:文本文件,MySQL,NIS,LDAP等

?Sun公司于1995 年開發的一種與認證相關的通用框架機制

?PAM 是關注如何為服務驗證用戶的 API,通過提供一些動態鏈接庫和一套統一的API,將系統提供的服務和該服務的認證方式分開

?使得系統管理員可以靈活地根據需要給不同的服務配置不同的認證方式而無需更改服務程序

?一種認證框架,自身不做認證

它提供了對所有服務進行認證的中央機制,適用于login,遠程登錄(telnet,rlogin,fsh,ftp,點對點協議(PPP)),su等應用程序中。系統管理員通過PAM配置文件來制定不同應用程序的不同認證策略;應用程序開發者通過在服務程序中使用PAM API(pam_xxxx( ))來實現對認證方法的調用;而PAM服務模塊的開發者則利用PAM SPI來編寫模塊(主要是引出一些函數pam_sm_xxxx( )供PAM接口庫調用),將不同的認證機制加入到系統中;PAM接口庫(libpam)則讀取配置文件,將應用程序和相應的PAM服務模塊聯系起來。

 

PAM相關文件

?模塊文件目錄:/lib64/security/*.so

?環境相關的設置:/etc/security/

?主配置文件:/etc/pam.conf,默認不存在

?為每種應用模塊提供一個專用的配置文件:/etc/pam.d/APP_NAME

?注意:如/etc/pam.d存在,/etc/pam.conf將失效

 

pam認證原理

?PAM認證一般遵循這樣的順序:Service(服務)→PAM(配置文件)→pam_*.so

?PAM認證首先要確定那一項服務,然后加載相應的PAM的配置文件(位于/etc/pam.d下),最后調用認證文件(位于/lib/security下)進行安全認證

 

PAM認證過程:

1.使用者執行/usr/bin/passwd 程序,并輸入密碼

2.passwd開始調用PAM模塊,PAM模塊會搜尋passwd程序的PAM相關設置文件,這個設置文件一般是在/etc/pam.d/里邊的與程序同名的文件,即PAM會搜尋/etc/pam.d/passwd此設置文件

3.經由/etc/pam.d/passwd設定文件的數據,取用PAM所提供的相關模塊來進行驗證

4.將驗證結果回傳給passwd這個程序,而passwd這個程序會根據PAM回傳的結果決定下一個動作(重新輸入密碼或者通過驗證)

 

通用配置文件/etc/pam.conf格式

application type control module-path arguments

?專用配置文件/etc/pam.d/* 格式

type control module-path arguments

?說明:

?服務名(application)

telnet、login、ftp等,服務名字“OTHER”代表所有沒有在該文件中明確配置的其它服務

?模塊類型(module-type)

?control PAM庫該如何處理與該服務相關的PAM模塊的成功或失敗情況

?module-path 用來指明本模塊對應的程序文件的路徑名

?Arguments 用來傳遞給該模塊的參數

 

模塊類型(module-type)

?Auth 賬號的認證和授權

?Account 與賬號管理相關的非認證類的功能,如:用來限制/允許用戶對某個服務的訪問時間,當前有效的系統資源(最多可以有多少個用戶),限制用戶的位置(例如:root用戶只能從控制臺登錄)實現賬號的有效性檢查

?Password 用戶修改密碼時密碼復雜度檢查機制等功能

?Session 用戶獲取到服務之前或使用服務完成之后需要進行一些附加的操作,如:記錄打開/關閉數據的信息,監視目錄等

?-type 表示因為缺失而不能加載的模塊將不記錄到系統日志,對于那些不總是安裝在系統上的模塊有用

 

Control:控制

PAM庫如何處理與該服務相關的PAM模塊成功或失敗情況

?兩種方式實現:

簡單和復雜

?簡單方式實現:一個關健詞實現

?required :一票否決,表示本模塊必須返回成功才能通過認證,但是如果該模塊返回失敗,失敗結果也不會立即通知用戶,而是要等到同一type中的所有模塊全部執行完畢再將失敗結果返回給應用程序。即為必要條件

requisite :一票否決,該模塊必須返回成功才能通過認證,但是一旦該模塊返回失敗,將不再執行同一type內的任何模塊,而是直接將控制權返回給應用程序。是一個必要條件

?sufficient :一票通過,表明本模塊返回成功則通過身份認證的要求,不必再執行同一type內的其它模塊,但如果本模塊返回失敗可忽略,即為充分條件

?optional :表明本模塊是可選的,它的成功與否不會對身份認證起關鍵作用,其返回值一般被忽略

?include: 調用其他的配置文件中定義的配置信息

 

復雜詳細實現:使用一個或多個“status=action”

?[status1=action1 status2=action …]

Status:檢查結果的返回狀態

Action:采取行為 ok,done,die,bad,ignore,reset

?ok 模塊通過,繼續檢查

?done 模塊通過,返回最后結果給應用

?bad 結果失敗,繼續檢查

?die 結果失敗,返回失敗結果給應用

?ignore 結果忽略,不影響最后結果

?reset 忽略已經得到的結果

 

module-path: 模塊路徑

?相對路徑:

/lib64/security目錄下的模塊可使用相對路徑

如:pam_shells.so、pam_limits.so

?絕對路徑:

?模塊通過讀取配置文件完成用戶對系統資源的使用控制

/etc/security/*.conf

?注意:修改PAM配置文件將馬上生效

?建議:編輯pam規則時,保持至少打開一個root會話,以防止root身份驗證錯誤

?Arguments 用來傳遞給該模塊的參數

 

pam文檔說明

?/user/share/doc/pam-*

?rpm -qd pam

?man –k pam_

?man 模塊名 如man rootok

?《The Linux-PAM System Administrators’ Guide》

 

PAM模塊示例:

?模塊:pam_shells

?功能:檢查有效shell

?man pam_shells

?示例:不允許使用/bin/csh的用戶本地登錄

vim /etc/pam.d/login

auth required pam_shells.so

vim /etc/shells

去掉 /bin/csh

useradd –s /bin/csh testuser

testuser將不可登錄

tail /var/log/secure

模塊:pam_securetty.so

?功能:只允許root用戶在/etc/securetty列出的安全終端上登陸

?示例:允許root在telnet登陸

vi /etc/pam.d/remote

#auth required pam_securetty.so #將這一行加上注釋

或者/etc/securetty文件中加入

pts/0,pts/1…pts/n

模塊:pam_nologin.so

?功能:

?如果/etc/nologin文件存在,將導致非root用戶不能登陸

?如果用戶shell是/sbin/nologin 時,當該用戶登陸時,會顯示/etc/nologin文件內容,并拒絕登陸

模塊:pam_limits.so

?功能:在用戶級別實現對其可使用的資源的限制,例如:可打開的文件數量,可運行的進程數量,可用內存空間

?修改限制的實現方式:

?(1) ulimit命令,立即生效,但無法保存

-n 最多的打開的文件描述符個數

-u 最大用戶進程數

-S 使用 soft(軟)資源限制

-H 使用 hard(硬)資源限制

?(2) 配置文件:/etc/security/limits.conf, /etc/security/limits.d/*.conf

?配置文件:每行一個定義;

<domain> <type> <item> <value>

 

pam_limits.so

?<domain> 應用于哪些對象

?Username 單個用戶

?@group 組內所有用戶

?* 所有用戶

?<type> 限制的類型

?Soft 軟限制,普通用戶自己可以修改

?Hard 硬限制,由root用戶設定,且通過kernel強制生效

?- 二者同時限定

?<item> 限制的資源

?nofile 所能夠同時打開的最大文件數量,默認為1024

?nproc 所能夠同時運行的進程的最大數量,默認為1024

?<value> 指定具體值

示例:pam_limits.so

?限制用戶最多打開的文件數和運行進程數

?/etc/pam.d/system-auth

session required pam_limits.so

?vim /etc/security/limits.conf

apache – nofile 10240 apache用戶可打開10240個文件

student hard nproc 20 不能運行超過20個進程

 

 

 

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/100819

(0)
西行西行
上一篇 2018-06-10 23:40
下一篇 2018-06-11 08:39

相關推薦

  • 第五周

    1、簡述rpm與yum命令的常見選項,并舉例 (1)什么是rpm? RPM?是RPM Package Manager(RPM軟件包管理器)的縮寫,可以實現安裝、升級、卸載、查詢和校驗、數據庫維護。 CentOS系統上的rpm命令管理程序: rpm –I 安裝 -U 升級 -e 卸載 -q 查詢 –builddb 數據庫維護 (2)rmp的安裝: …

    Linux筆記 2018-07-15
  • Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示

    文件管理工具:cp,mv,rm cp:命令:copy:復制文件的數據 ? ?源文件;目標文件 ? ? ? 單源復制 cp [OPTION]… [-T] SOURCE DEST ? 如果DEST不存在,則事先創建此文件,并復制原文件的數據流至DEST中: ? 如果DEST存在: ? ? ? ?如果DEST是非目錄文件:則覆蓋目標文件 ? ? ? ?…

    Linux筆記 2018-05-20
  • Docker容器技術之Dokcer networking

    我們知道,docker容器中的資源用namespace進行了隔離,每一個容器中都有自己獨立的一套網絡資源,docker容器如何實現單機通訊與跨主機通訊呢?本節內容將為你解答這個問題。

    2018-08-08
  • MySQL數據庫簡介及安裝實驗

    本節索引: 一、MySQL數據庫簡介 二、實驗:使用yum源安裝MariaDB 10.2.15 三、實驗:通用二進制格式安裝MariaDB 10.2.15 四、實驗:編譯安裝MariaDB 10.2.15 五、實驗:進行mysql(MariaDB)多實例安裝 一、MySQL數據庫簡介 MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB 公司開發,目…

    2018-06-05
  • N31第三周

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 who | cut -d ‘ ‘ -f1 | sort -u 2、取出最后登錄到當前系統的用戶的相關信息。 ?w |cut -d ‘ ‘ -f1 |tail -1 |xargs id 3、取出當前系統上被用戶當作其默認shell的最多的那個shell。 cat /et…

    Linux筆記 2018-07-16
  • linux一些實用小命令

    linux的哲學思想: 1 一切皆文件2 小型,單一用途的程序3 鏈接程序,共同完成復雜的任務4 避免令人困惑的用戶界面5 配置數據存儲在文本中1Byte=8bit1k=1024Byte1M=1024k1G=1024M1T=1024G1P 1E 1Z 1Y 1D每個漢字占2個字節(Byte) 每個英文字母占1字節(Byte)在網絡配置文件中修改網絡開機自啟項…

    Linux筆記 2018-03-31
欧美性久久久久