歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> Linux基礎介紹【第三篇】,linux基礎第三篇

Linux基礎介紹【第三篇】,linux基礎第三篇

日期:2017/3/3 18:01:09   编辑:學習Linux

Linux基礎介紹【第三篇】,linux基礎第三篇

Linux基礎介紹【第三篇】,linux基礎第三篇


更改SSH服務端遠程登錄的配置

windows服務端的默認遠程管理端口是3389,管理員用戶是administrator,普通用戶是guest。Linux的管理用戶是root,普通用戶默認有很多個,遠程連接默認端口是22。

修改配置文件/etc/ssh/sshd_config,13行Port 22(默認端口22),改為Port 52113(范圍0——65535);15行ListenAddress 0.0.0.0 (監聽ip地址),改為ListenAddress 192.168.131.1;43行PermitRootLogion yes(root用戶遠程連接),改為PermitRootLogion no;122行UseDNS yes(DNS解析),改為UseDNS no;GSSAPIAuthentication yes(SSH連接慢),改為GSSAPIAuthentication no;

cat –n:查看行號

vim à:set nu à顯示行號

diff比較2個文件的不同之處。

[root@oldboy66 ssh]# diff sshd_config sshd_config.oldboy.20161204

vimdiff以高亮方式比較2個文件的不同之處。

[root@oldboy66 ssh]# vimdiff sshd_config sshd_config.oldboy.20161204

sed替換:

重啟生效:/etc/init.d/sshd restart(可能影響用戶)或/etc/init.d/sshd reload(平滑重啟)。

查看端口:

netstat -lntup|grep sshd

利用sudo控制用戶對系統命令的使用權限

管理sudo命令:

visudo或vi /etc/sudoers,visudo更好。vi命令模式直接輸入行數+gg到固定的行數,顯示行號:set nu,yy(復制)+p(粘貼)復制當前行到下一行,shift+a到結尾處於編輯狀態。

98+gg: 98 root ALL=(ALL) ALL

給oldboy授予root權限:

oldboy ALL=(ALL) ALL

oldboy ALL=(ALL) NOPASSWD:ALL(不提示輸入密碼)

用oldboy添加一個用戶oldgirl:

給oldboy授予固定權限:

oldboy ALL=(ALL) /bin/touch,/usr/sbin/useradd

注意:需要命令的全路徑,查看命令全路徑which 命令,例如:

find查找:find / -type f -name "useradd"

whereis查找:whereis -b useradd

locate查找:locate useradd

環境變量:

PATH系統路徑變量,執行ls、cp等非內置命令時,系統會查找PATH裡對應的路徑是否存在,如果沒有就報告找不到該命令。當執行which cp來查看命令所在路徑的時候,也就是從PATH變量去搜索。

PATH變量的臨時修改 export PATH="/tmp:$PATH",永久生效將命令放到/etc/profile下,使用source /etc/profile 使得立刻生效。

Linux中文顯示設置

查看當前字符編碼:

操作前先進行備份:cp /etc/sysconfig/i18n /etc/sysconfig/i18n.oldboy.20161205

注意:客戶端字符集需改為UTF-8。

設置Linux服務器時間同步

顯示時間:date

修改時間:date –s "時間" àhwclock

顯示日歷:cal

同步互聯網時間:

定時任務執行同步:

下面三種方法是等價的:

/dev/null 空設備(黑洞)

錯誤和正確都輸出到/dev/null:

1、1>/dev/null 2>/dev/null

2、1>/dev/null 2&1

3、&>/dev/null

時間同步架構

小規模時間同步架構:

大規模時間同步架構:

設置Linux默認歷史記錄數

命令如下,注意此時的配置僅臨時生效。

把配置參數放入配置文件,使得永久生效。

TMOUT=10:連接的超時時間控制變量。

HISTSIZE=5:命令行的歷史記錄數量變量。

HISTFILESIZE=10:歷史記錄文件的命令行數量變量(~/.bash_history)。

歷史記錄清空:history -c。

刪除指定歷史記錄:history -d 10(刪除10號歷史記錄)。

加大服務器文件描述符

文件描述符的概念

1、表示形式為整數數字(0——65535)。

2、進程使用的時候會占用文件描述符(標識打開的文件)。

查看默認文件描述符

3、調整文件描述符

方法一:

直接把ulimit -SHn 65535命令加入到/etc/rc.local,然後每次開機啟動的時候生效。

寫入rc.local:

方法二:

在/etc/sercurity/limits.conf裡面配置。

調整內核參數文件/etc/sysctl.conf

vim編輯:shift+g切換到文件結尾

優化參數:

執行生效:sysctl -p

查看網絡狀態:netstat -an

隱藏Linux版本信息

控制Linux顯示版本信息的文件

清空這個兩個文件就可以了。

鎖定關鍵系統文件,防止提權被篡改

命令:

解除鎖定:chattr -i

為grub菜單加密碼

為grub菜單加密碼的目的是防止他人修改grub做內核等啟動設置。

1、先用/sbin/grub-md5-crypt產生一個MD5密碼串。

2、修改grub.conf文件添加

password --md5 $1$T2zU4/$KmlABHIkQGczWjh1DdwWU.。

注意:password要加在splashimage和title之間,否則可能不生效。

禁止Linux系統被ping

命令:

升級具有典型漏洞的軟件版本

首先查看相關軟件的版本號

執行升級已知漏洞的軟件版本到最新。

配置yum源

查看當前yum源

配置阿裡雲的yum源

wget:下載,wget http://url;-O:下載到指定路徑並改名;--spider:爬蟲,檢查網站是不是好的,不會下載只是檢查;-T(--timeout):指定超時時間(--timeout=seconds);--tries:指定重試的次數(--tries=2);-q(--quiet):後台下載,關閉輸出;

總結:

1、不用root管理,以普通用戶的名義通過sudo授權管理。

2、更改默認的遠程連接SSH服務端口,禁止root用戶遠程連接,甚至要更改為只監聽內網IP。

3、定時自動更新服務器時間,使其和互聯網時間同步。

4、配置yum更新域,從國內更新源下載安裝軟件包。

5、關閉SELinux及iptables(在生產場景中,如果有外部IP一般要打開)

6、調整文件描述符的數量,進程及文件的打開都會消耗文件描述符。

7、定時自動清理郵件目錄垃圾文件,防止inodes節點被占滿。

8、精簡並保留必要的開機自啟動服務(如crond、sshd、network、rsyslog、stsstat)。

9、Linux內核參數優化/etc/sysctl.conf,執行sysctl -p 生效。

10、更改字符集,使其支持中文。

11、鎖定關鍵系統文件如/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、/etc/inittab,處理後把chattr、lasttr改名。

12、清空/etc/issue、/etc/issue.net,去除系統及內核版本登錄前的屏幕顯示。

13、清楚多余的系統虛擬賬號。

14、為grub菜單加密碼。

15、禁止被ping。

16、升級漏洞軟件。

less:按屏(空格、page up/page down)或按行(回車)查看文件。

more:按屏(空格)或按行(回車)查看文件,不能向上翻。

Linux目錄結構

linux只有一個頂點/(根),其他所有目錄都在根下。根下面的所有目錄是一個有層次的樹狀結構,像一顆倒掛著的大樹。

tree:顯示目錄結構,-L:指定顯示多少層;-d:只顯示目錄。

linux的目錄結構和磁盤分區是分離的,可以自由組合。

/

├── bin àEssential command binaries

├── boot àStatic files of the boot loader

├── dev àDevice files

├── etc àHost-specific system configuration

├── home àUser home directories(optional)

├── lib àEssential shared libraries and kernel modules

├── lib64

├── lost+found

├── media

├── mnt àMount point for mounting a filesystem temporarily

├── oldboy

├── opt àAdd-on application software packages

├── proc à進程信息及內核信息(cpu、硬盤分區、內存信息等)

├── root àHome directory for the root user(optional)

├── sbin àEssential system binaries

├── selinux

├── srv

├── sys

├── tmp àTemporary files

├── usr àSecondary hierarchy

└── var àVariable data

cat /proc/meminfo à內存信息

cat /proc/cpuinfo àcpu信息

cat /proc/mounts à掛載信息

cat /proc/loadavg à負載(系統繁忙程度)

小結:

1、linux系統的所有目錄時一個有層次的倒著的樹狀目錄結構,/根是所有目錄的起點。

2、不同的目錄數據可以跨越不同的磁盤分區或不同的磁盤設備。

/dev/ 設備目錄

/etc/ 系統配置即服務配置文件、啟動命令的目錄

/proc 顯示內核及進程信息的虛擬文件系統

/tmp 臨時文件目錄

/home 普通用戶家目錄

/root 超級管理員的家目錄

/var 變化的目錄,一般是日志文件,cache的目錄

/usr 用戶程序及數據、幫助文件、二進制命令等的目錄

/bin、/sbin、/usr/sbin 用戶命令的目錄

Linux重要目錄路徑

/etc/sysconfig/network-scripts/ifcfg-eth0:配置網絡地址及GW等。

IPADDR=10.0.0.7 #addr是IP地址

NETMASK=255.255.255.0 #子網掩碼,劃分網絡位和主機位10.0.0.0/24

GATEWAY=10.0.0.254 #網關地址,路由器的地址

修改配置生效命令:

ifup:啟動

ifdown:關閉

/etc/resolv.conf:DNS管理

小結:

1、客戶端DNS可以在網卡配置文件裡設置(ifcfg-eth0)。

2、客戶端DNS也可以在/etc/resolv.conf裡設置。

3、網卡裡的設置DNS優先於/etc/resolv.conf。

/etc/hosts:設定用戶IP與域名的對應解析表

對應windows的文件C:\Windows\System32\drivers\etc\hosts。

hosts在企業裡的作用:

1、開發、產品、測試等人員,用於通過正式的域名測試產品。

2、服務器之間的調用可以用域名(內部的DNS),方便遷移。

/etc/sysconfig/network:修改機器名及網卡啟動,網關等配置。

更改主機名:

1、vi /etc/sysconfig/network

2、hostname 主機名

同時修改。

/etc/fstab:設置文件系統掛載信息的文件,使得開機能夠自動掛載磁盤分區

fsck:磁盤檢查(不要檢查好磁盤),卸載的狀態

掛載方式:

1、命令掛載

mount -t ext4 -o noexec /dev/sda1 /mnt

2、/etc/fstab

測試手動掛載:

1、創建一個虛擬的塊設備。

dd if=/dev/zero of=/dev/sdb1 bs=4906 count=100

2、格式化

mkfs.ext4 /dev/sdb1

3、掛載

mount -t ext4 -o loop,noatime,noexec /dev/sda1 /mnt

4、查看

df -h

第一列掛載的設備可以是設備名或UUID、磁盤標簽。

fstab出問題,修復方式:

1、開機提示輸入密碼修復。

2、救援模式rescue修改/etc/fatab只讀狀態,mount -o rw,remount /。

/etc/rc.local:用於存放開機自啟動程序命令的文件

讓一個程序開機啟動:

1、chkconfig(/etc/init.d/sshd)。

2、放入/etc/rc.local。

選擇建議:/etc/rc.local,工作中把/etc/rc.local作為服務器檔案文件,所有程序開機啟動放入/etc/rc.local並加注釋。

rc.local與fstab區別:rc.local在系統啟動完成最後加載。

NFS網絡文件系統掛載是,網卡還沒啟動,就已經加載fstab。(mount -t nfs 10.0.0.7:/data /mnt)

/etc/inittab:設定系統啟動時init進程將把系統設置成什麼樣的runlevel運行級別及加載相關的級別對應啟動文件設置

Linux啟動過程:

1、開機BIOS自檢

2、MBR引導

硬盤0柱面0磁盤1扇區的前446byte。

3、grub引導菜單

cat /etc/grub.conf

4、加載內核kernel

5、啟動init進程

ps -ef|grep init

/etc/init.d

/etc/profile:系統全局環境變量永久生效的配置文件

/etc/profile.d:登錄後執行的腳本所在地

/etc/motd:登錄後顯示的字符串

/etc/issue:記錄用戶登錄前顯示的系統版本等信息

/etc/group:設定用戶的組名與相關信息

/etc/passwd:賬號信息文件

/etc/shadow:密碼信息文件

/etc/gshadow:組密碼信息文件

/etc/sudoers:可以執行使用sudo命令的配置文件

visudo -c:檢查語法

yum remove tree -y:yum刪除(會刪除依賴,慎用)

/var/log/messages:系統日志,自動輪詢按周(rsyslog)

/var/log/secure:安全日志,SSH連接日志

dmesg:內核打印的錯誤信息,例如硬件故障

/var/spool/cron/root:定時任務crond配置文件

/proc/mounts:設備掛載信息與df -h類似

http://xxxxxx/Linuxjc/1178628.html TechArticle

Copyright © Linux教程網 All Rights Reserved