LINUX系統管理員技術(Admin)-------第四天
??
?/etc : Linux系統配置文件
為虛擬機 server 配置以下靜態地址參數
– 主機名:server0.example.com
? ? – IP地址:172.25.0.11
? ? ? ?– 子網掩碼:255.255.255.0
– 默認網關:172.25.0.254
[root@server0 ~]#nmcli connection modify ‘System eth0‘ ?
? ? ? ? ? ? ? ? ipv4.method manual ? ? ? ? ? ? ? ? ? ? #手動配置參數 ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ipv4.addresses ‘172.25.0.11/24 ? 172.25.0.254‘
? ? ? ? ? ? ? ? connection.autoconnect yes ? ? ? ? ? ?#每次開機自動啟用
3.激活網絡配置
[root@s ~]# nmcli connection up ‘System eth0‘
– DNS服務器:172.25.254.254
[root@server0 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0------查看網卡信息
[root@server0 ~]#cat /etc/resolv.conf-------查看DNS服務信息
測試DNS解析服務
[root@server0 ~]#nslookup server0.example.com ?
###################################################
搭建Yum倉庫
[root@server0 ~]#rm -rf /etc/yum.repos.d/*
[root@server0 ~]#vim /etc/yum.repos.d/abc.repo
? ? ? 【abc】
? ? ? ?name=abc
? ? ? ?baseurl=http://172.25.254.254/content/rhel7.0/x86_64/dvd/
? ? ? ?enbaled=1
? ? ? ?gpgcheck=0
[root@server0 ~]# yum clean all
[root@server0 ~]# yum repolist
#################################################
? ?查看文本文件內容
? cat ?: ?適合查看內容較少的文件
? less : ?適合查看內容較多的文件
? ?看文本文件部分內容
? ??
? ? ? head ?-n ? : ?頭幾行
? ? ? tail ?-n ? ?: 尾幾行
? ?查看時間
? ?date
? ?計算器
? ?bc
######################################################
?管道 : 將前面命令的輸出結果,交由後面命令處理,當作後面命令的參數
? ? 顯示/etc/passwd文本內容8--12行?
[root@server0 /]#nl /etc/passwd或者 cat -n /etc/passwd-----表示顯示行數
[root@server0 /]# head -12 /etc/passwd | tail -5-------把前十二行拿出來,在通過管道把後五行拿出來
[root@server0 /]# cat -n /etc/passwd | head -12 | tail -5-----前面加上行號,把前十二行拿出來,在通過管道把後五行拿出來
[root@server0 /]# cat -n /etc/passwd | less
[root@server0 /]# echo 1+1 | bc----echo打印
[root@server0 /]# echo 8*8 | bc
[root@server0 /]# ifconfig ?| head -2
######################################################
? ?grep:查看文本文件內容, 顯示包含指定“字符串”的行
? ? ? – grep ?[選項] ? ‘匹配字符串‘ ? ? 文本文件...
??
[root@server0 /]# grep ‘root‘ ?/etc/passwd------“grep”代表過濾的意思,把其中關鍵字段拿出來查看
[root@server0 /]# grep ‘man‘ /etc/man_db.conf?
[root@server0 /]# grep ‘Root‘ /etc/passwd 把包含Root的都顯示出來
[root@server0 /]# grep -i ‘Root‘ ?/etc/passwd ?#忽略大小寫
[root@server0 /]# grep ‘root‘ ?/etc/passwd
[root@server0 /]# grep -v ‘root‘ /etc/passwd ?#把不包含Root的行都顯示出來
#################################################
?– ^word ? 以字符串word開頭
?– word$ ?以字符串word結尾
[root@server0 /]# grep ‘^root‘ /etc/passwd
[root@server0 /]# grep ‘root$‘ ?/etc/passwd
[root@server0 /]# grep ‘bash$‘ ?/etc/passwd
[root@server0 /]# grep ‘^$‘ ?/etc/default/useradd-------- 匹配空行,表示一段文字裏面有空行顯示
[root@server0 /]# grep -v ‘^$‘ ?/etc/default/useradd------去除空行,讓空行不再顯示
? ? ?正則表達式 : ?用描述的語言去表達心中所想
?去除註釋與空行,顯示有效數據:
? ? ? ? ? ? ? ? ? ? ? ? ?[root@server0 /]#grep -v ‘^#‘ /etc/login.defs ?| ?grep -v ‘^$‘
##################################################### ? ? ?
find 按條件查找文件
? 根據預設的條件遞歸查找對應的文件
– find ?[目錄] ? ?[條件1]?
– 常用條件表示:
-type 類型(f 文件、d 目錄、l 快捷方式)
-name ?"文檔名稱"
? ? -size +|-文件大小(k、M、G)
-user ?用戶名
[root@server0 /]# find /boot/ ?-type l
[root@server0 /]# ls /boot/grub/menu.lst ----以短格式顯示內容
[root@server0 /]# ls -l /boot/grub/menu.lst---以長格式顯示內容
[root@server0 /]# find ? /boot/ ? -type ? f查找boot中的所有文件
[root@server0 /]# find ? /boot/ ? -ty
pe ? d
[root@server0 /]# find /etc/ ?-name "passwd"查找etc裏面的passwd
[root@server0 /]# find /etc/ ?-name "*tab*"
[root@server0 /]# mkdir /root/install----mkdir創建目錄
[root@server0 /]# touch /root/install.log---touch創建文件?
[root@server0 /]# touch /root/install.bak
[root@server0 /]# find ?/root -name "install*"
[root@server0 /]# find ?/root -name "install*" ?-type d
[root@server0 /]# find ?/root -name "install*" ?-type f
[root@server0 /]# find /boot/ -size +10M
[root@server0 /]# find /boot/ -size -10M
使用find命令的 --exec 操作-----(-exec)----相當於“|”管道運輸
– find .. .. -exec 處理命令 {} \;
# find /boot/ -size +10M
# find /boot/ -size +10M ? -exec ?cp -r ?{} ?/opt/ ? \;
# ls ?/opt?
# find /etc/ ?-name "*tab"
# find /etc/ ?-name "*tab" ?-exec cp -r ?{} ?/mnt/ ? \;
# ls ?-A /mnt---顯示所有文件包括隱藏文件
##################################################
# mkdir /root/findfiles
# find / -user student -type f -exec cp -r {} /root/findfiles/ ?\;-----查找student這個用戶文件,然後復制到root/findfiles裏面
###################################################
?用戶與組管理
?
? 用戶賬戶:?
? ? ? ? ? ? ? ? ?1.可以登陸操作系統 ??
? ? ? ? ? ? ? ? ?2.可以進行訪問控制(不同的用戶權限不同) ?
?
? 組賬戶: 方便管理用戶賬戶(權限)
? 用戶賬戶 與 組賬戶 唯一標識: ? UID ? GID ??
? 管理員 UID為:0
? ?組賬戶: ?基本組 ? ? 附加組(公共組 ?從屬組)
##################################################
? 使用 useradd 命令
– useradd [選項]... 用戶名
? 常用命令選項
– -u 用戶id、-d 家目錄路徑、-s 登錄Shell
– -g 基本組、-G 附加組
[root@server0 /]# id nsd01
[root@server0 /]# grep ‘nsd01‘ /etc/passwd ?#用戶基本信息
nsd01:x:1002:1002::/home/nsd01:/bin/bash
用戶名:密碼占為符:UID:GID:用戶的描述信息:家目錄:解釋器
[root@server0 /]# ?useradd ?nsd01
[root@server0 /]# ?id ?nsd01?
[root@server0 /]# ?grep ?‘nsd‘ ?/etc/passwd?
[root@server0 /]# ?useradd -u 1100 nsd02 ? ? #指定UID
[root@server0 /]# ?grep ?‘nsd‘ ?/etc/passwd?
[root@server0 /]# ?useradd -d /op/haha nsd03 ?#指定家目錄
[root@server0 /]# ?grep ?‘nsd‘ ?/etc/passwd?
? ?指定登陸的解釋器程序
[root@server0 /]# ?useradd -s /sbin/nologin nsd04?
[root@server0 /]# ?grep ?‘nsd‘ ?/etc/passwd
?
? 如果用戶的解釋器程序為/sbin/nologin則不能登陸操作系統
[root@server0 /]# useradd -g nsd01 nsd09
[root@server0 /]# id nsd09
[root@server0 /]# useradd -G nsd01 ?nsd10
[root@server0 /]# id nsd10
#############################################
? 用戶密碼信息存放在 /etc/shadow 文件
使用 passwd 命令
– passwd [用戶名]
– echo ‘密碼‘ ? ?| ? passwd ?--stdin ?用戶名
? 補充命令:命令臨時切換用戶身份
[root@server0 /]# su ?- ?用戶名
[root@server0 /]# echo 123 | passwd --stdin nsd01
[root@server0 /]# echo 123 | passwd --stdin nsd02
[root@server0 /]# su ?- ?nsd01
[nsd01@server0 ~]$ passwd ?
[nsd01@server0 ~]$ exit ? ? ? ? ? ? #退回到root
[root@server0 /]#
####################################################
修改用戶屬性
? 使用 usermod 命令
– usermod [選項]... 用戶名
? 常用命令選項
– -u 用戶id、-d 家目錄路徑、-s 登錄Shell
– -g 基本組、
– -G 附加組
[root@server0 /]# useradd nsd11
[root@server0 /]# grep ‘nsd11‘ /etc/passwd
# usermod -u 1200 -d /opt/test ?-s /sbin/nologin nsd11
[root@server0 /]# grep ‘nsd11‘ /etc/passwd
#####################################################
刪除用戶
? 使用 userdel 命令
– userdel [-r] ?用戶名 ? #並且刪除家目錄
?常見提示:權限不足
?Permission denied
#####################################################
組賬戶管理
添加組
? ? ? ?組基本信息存放在 /etc/group 文件
[root@server0 ~]# head -1 /etc/group
root:x:0:
?
? 組名:密碼占位符:GID:組成員列表
? 使用 groupadd 命令
– groupadd [-g 組ID] ?組名
[root@server0 ~]# useradd kenji
[root@server0 ~]# useradd tom
[root@server0 ~]# useradd kaka
[root@server0 ~]# useradd henter
[root@server0 ~]# groupadd ? tarena
[root@server0 ~]# grep ‘tarena‘ /etc/group
tarena:x:1110:
?
使用 gpasswd 命令
– gpasswd -a 用戶名 ?組名
– gpasswd -d 用戶名 ?組名
– gpasswd -M ‘用戶名,用戶名‘ ?組名 ? #可以添加多個
[root@server0 ~]# grep ‘tarena‘ /etc/group ?#查看組信息
[root@server0 ~]# gpasswd -a kenji tarena ? #加入組成員
[root@server0 ~]# id kenji?
[root@server0 ~]# gpasswd -a tom tarena
[root@server0 ~]# grep ‘tarena‘ /etc/group
[root@server0 ~]# gpasswd -a kaka tarena
[root@server0 ~]# grep ‘tarena‘ /etc/group
[root@server0 ~]# gpasswd -d kenji tarena ? #刪除組成員
[root@server0 ~]# grep ‘tarena‘ /etc/group
[root@server0 ~]# gpasswd -M ‘kenji,henter‘ tarena
[root@server0 ~]# grep ‘tarena‘ /etc/group
[root@server0 ~]# gpasswd -M ‘kenji,kaka,tom,henter‘ tarena
[root@server0 ~]# grep ‘tarena‘ /etc/group
[root@server0 ~]# gpasswd -M ?‘‘ tarena
[root@server0 ~]# grep ‘tarena‘ /etc/group
刪除組
? 使用 groupdel 命令
– groupdel 組名
#########################################################
? 歸檔及壓縮
? ? 1.節約空間
? ? 2.方便對零散文檔的管理
? tar 集成備份工具
– -c:創建歸檔
– -x:釋放歸檔
– -f:指定歸檔文件名稱
– -z、-j、-J:調用 .gz、.bz2、.xz 格式的工具進行處理
– -C(大寫) :指定釋放位置
– -t:顯示歸檔中的文件清單
– -P(大寫) :保持歸檔內文件的絕對路徑
[root@server0 ~]# rm -rf /opt/*
[root@server0 ~]# rm -rf /mnt/*
# tar -zcf /opt/file.tar.gz /boot/ /etc/passwd
[root@server0 ~]# ls /opt
[root@server0 ~]# tar -xf /opt/file.tar.gz ?-C ?/mnt
[root@server0 ~]# ls /mnt
[root@server0 ~]# ls /mnt/etc
[root@server0 ~]# ls /mnt/boot
? 使用 tar -c ... 命令
– tar -zcf ?備份文件.tar.gz ?被備份的文檔....
– tar -jcf ?備份文件.tar.bz2 ?被備份的文檔....
– tar -Jcf ?備份文件.tar.xz ?被備份的文檔....
[root@server0 ~]# tar -tf /opt/file.tar.gz ??
以絕對路徑方式,利用bzip2壓縮方式,打包並壓縮
# tar -Pjcf ? ?/root/backup.tar.bz2 ? ? ? ?/usr/local/
# ls ?/root/
# tar -tf ? ?/root/backup.tar.bz2 ? ? ? ? #查看包裏面內容
? ? -z ?代表gzip壓縮格式
? ? -j ?代表bzip2壓縮格式
? ? -J ?代表xz壓縮格式
###################################################
NTP網絡時間協議
? Network Time Protocol
– NTP服務器為客戶機提供標準時間
– NTP客戶機需要與NTP服務器保持溝通 ?
? ? ? ?裝包、配置、起服務 ?
?一、服務端,Linux系統上一款軟件
? ? NTP時間同步服務器,classroom
? ?
?二、客戶端server,安裝客戶端軟件
?
? RHEL7客戶端的校時服務
– 軟件包 : chrony
– 配置文件 : /etc/chrony.conf
– 系統服務 : chronyd
[root@server0 ~]# rpm -q chrony
chrony-1.29.1-1.el7.x86_64
[root@server0 ~]# vim ?/etc/chrony.conf
?#server 0.rhel.pool.ntp.org iburst ? ?#註釋
?#server 1.rhel.pool.ntp.org iburst ? ?#註釋
?#server 2.rhel.pool.ntp.org iburst ? ?#註釋
?server ?172.25.254.254 ?iburst ? ?#指定服務端IP地址
.......
[root@server0 ~]# systemctl ?restart ?chronyd ?#重起服務
[root@server0 ~]# systemctl ?enable ?chronyd ? #設置開機自起
? 驗證:
[root@server0 ~]# date
[root@server0 ~]# date -s "2008-09-08 11:11:11" ?#修改時間
[root@server0 ~]# date
[root@server0 ~]# systemctl restart chronyd #重起服務,同步
[root@server0 ~]# date
[root@server0 ~]# date
[root@server0 ~]# date
LINUX系統管理員技術(Admin)-------第四天