1. 程式人生 > >LINUX系統管理員技術(Admin)-------第四天

LINUX系統管理員技術(Admin)-------第四天

cat、grep命令的用法 (etc)linux系統配置文件



??

?/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)-------第四天