N25_第五周

1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行;
grep -E "^[[:space:]]+" /boot/grub2/grub.cfg

2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行;
grep -E "^#[[:space:]]+[^[:space:]]+" /etc/rc.d/rc.sysinit

3、打出netstat -tan命令執行結果中以‘LISTEN’,后或跟空白字符結尾的行;
netstat -tan | grep -E "\<LISTEN\>[[:space:]]*"

[root@server1 mail]# netstat -tan | grep -E "\<LISTEN\>[[:space:]]*"
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     
[root@server1 mail]#

4、添加用戶bash, testbash, basher, nologin (此一個用戶的shell為/sbin/nologin),而后找出當前系統上其用戶名和默認shell相同的用戶的信息;
grep -E "^\<([^:]+)\>.+\1$" /etc/passwd

[root@server1 ~]# useradd bash  
[root@server1 ~]# useradd testbash  
[root@server1 ~]# useradd basher  
[root@server1 ~]# useradd -s /sbin/nologin nologin  
[root@server1 ~]# grep -E "^\<([^:]+)\>.+\1$" /etc/passwd   
sync:x:5:0:sync:/sbin:/bin/sync  
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown  
halt:x:7:0:halt:/sbin:/sbin/halt  
bash:x:1002:1002::/home/bash:/bin/bash  
nologin:x:1005:1005::/home/nologin:/sbin/nologin    
[root@server1 ~]#

5、顯示當前系統上root、fedora或user1用戶的默認shell;
grep -E "(root|fedora|user1)" /etc/passwd | cut -d':' -f7

[root@server1 ~]# grep -E "(root|fedora|user1)" /etc/passwd | cut -d':' -f7
/bin/bash
/sbin/nologin
/bin/bash

6、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello();
grep -E "[^[:space:]]+\(\)[[:space:]]+" /etc/rc.d/init.d/functions

[root@server1 ~]# grep -E "[^[:space:]]+\(\)[[:space:]]+" /etc/rc.d/init.d/functions 
checkpid() {
__pids_var_run() {
__pids_pidof() {
daemon() {
killproc() {
pidfileofproc() {
pidofproc() {
status() {
echo_success() {
echo_failure() {
echo_passed() {
echo_warning() {
update_boot_stage() {
success() {
failure() {
passed() {
warning() {
action() {
strstr() {
is_ignored_file() {
is_true() {
is_false() {
apply_sysctl() {

7、使用echo命令輸出一個絕對路徑,使用grep取出其基名;
[root@server1 ~]# echo /etc/sysconfig/network-scripts/ifcfg-eno16777736 | grep -E -o "[^/]*$" 
ifcfg-eno16777736

擴展:取出其路徑名
echo /etc/sysconfig/network-scripts/ifcfg-eno16777736 | sed -r 's@[^/]+/?$@@'

[root@server1 ~]# echo /etc/sysconfig/network-scripts/ifcfg-eno16777736 | sed -r 's@[^/]+/?$@@'
/etc/sysconfig/network-scripts/
[root@server1 ~]# 
[root@server1 ~]# echo /etc/sysconfig/network-scripts/ | sed -r 's@[^/]+/?$@@'                  
/etc/sysconfig/
[root@server1 ~]#

8、找出ifconfig命令結果中的1-255之間數字;
ifconfig | grep -E "\<[1-9]\>|\<[1-9][0-9]\>|\<1[0-9][0-9]\>|\<2[0-4][0-9]\>|\<25[0-5]\>"

9、挑戰題:寫一個模式,能匹配合理的IP地址;
ifconfig | grep -E -o "((2[0-4][0-9]|25[0-5]|[01]?[0-9][0-9]?)\.){3}(2[0-4][0-9]|25[0-5]|[01]?[0-9][0-9]?)"

[root@server1 ~]# ifconfig | grep -E -o "((2[0-4][0-9]|25[0-5]|[01]?[0-9][0-9]?)\.){3}(2[0-4][0-9]|25[0-5]|[01]?[0-9][0-9]?)"
192.168.2.106
255.255.255.0
192.168.2.255
127.0.0.1
255.0.0.0
192.168.122.1
255.255.255.0
192.168.122.255

10、挑戰題:寫一個模式,能匹配出所有的郵件地址;
grep -E ".+@.+\.com$" mail.txt

11、查找/var目錄下屬主為root,且屬組為mail的所有文件或目錄;
find /var -user root -a -group mail -ls

[root@server1 ~]# find /var -user root -a -group mail -ls
67151162    4 drwxrwxr-x   2 root     mail         4096 Dec 24 23:14 /var/spool/mail
72124628    4 -rw-------   1 root     mail         3583 Dec 24 23:13 /var/spool/mail/root

12、查找當前系統上沒有屬主或屬組的文件;
find / -nouser -o -nogroup

進一步:查找當前系統上沒有屬主或屬組,且最近3天內曾被訪問過的文件或目錄; 
find / \( -nouser -o -nogroup \) -atime -3 -ls

[root@server1 ~]# find / \( -nouser -o -nogroup \) -atime -3 -ls
find: ‘/proc/3902/task/3902/fd/6’: No such file or directory
find: ‘/proc/3902/task/3902/fdinfo/6’: No such file or directory
find: ‘/proc/3902/fd/6’: No such file or directory
find: ‘/proc/3902/fdinfo/6’: No such file or directory
1683202    0 drwx------   3 4001     4001           74 Dec  5 08:43 /var/tmp/gentoo
36228709    0 drwxr-xr-x   4 4001     4001           37 Nov 14 06:44 /var/tmp/gentoo/.mozilla
71581776    0 drwxr-xr-x   2 4001     4001            6 Jun  9  2014 /var/tmp/gentoo/.mozilla/extensions
104016109    0 drwxr-xr-x   2 4001     4001            6 Jun  9  2014 /var/tmp/gentoo/.mozilla/plugins
1683222    0 drwx------   3 4002     4002           74 Dec  5 08:48 /home/fedora
35731203    0 drwxr-xr-x   4 4002     4002           37 Nov 14 06:44 /home/fedora/.mozilla
71592655    0 drwxr-xr-x   2 4002     4002            6 Jun  9  2014 /home/fedora/.mozilla/extensions
102930554    0 drwxr-xr-x   2 4002     4002            6 Jun  9  2014 /home/fedora/.mozilla/plugins
[root@server1 ~]#

13、查找/etc目錄下所有用戶都有寫權限的文件;
find /etc -perm -002

14、查找/etc目錄下大于1M,且類型為普通文件的所有文件;
find /etc -size +1M -a -type f -ls

[root@server1 ~]# find /etc -size +1M -a -type f -ls
35386472 5920 -r--r--r--   1 root     root      6060612 Oct 31 07:06 /etc/udev/hwdb.bin
2020639 3512 -rw-r--r--   1 root     root      3592412 Apr  7  2014 /etc/selinux/targeted/policy/policy.29
34862799 1336 -rw-r--r--   1 root     root      1367395 Jan 29  2014 /etc/brltty/zh-tw.ctb
[root@server1 ~]#

15、查找/etc/init.d/目錄下,所有用戶都有執行權限,且其它用戶有寫權限的文件;
find /etc/init.d/ -perm -113 -ls

16、查找/usr目錄下不屬于root、bin或hadoop的文件;
find /usr -not \( -user root -o -user bin -o -user hadoop \) -ls

[root@server1 ~]# find /usr -not \( -user root -o -user bin -o -user hadoop \) -ls
34388291    4 drwx------   2 polkitd  root         4096 Oct 31 07:06 /usr/share/polkit-1/rules.d
100815145   12 -rwsr-sr-x   1 abrt     abrt        11240 Mar  3  2014 /usr/libexec/abrt-action-install-debuginfo-to-abrt-cache
[root@server1 ~]#

17、查找/etc/目錄下至少有一類用戶沒有寫權限的文件;
find /etc/ -not -perm -222 -ls

18、查找/etc目錄下最近一周內其內容被修改過,且不屬于root或hadoop的文件;"
find /etc -mtime -7 -a -not \( -user root -o -user hadoop \) -ls

原創文章,作者:xiaopang304,如若轉載,請注明出處:http://www.www58058.com/66087

(0)
xiaopang304xiaopang304
上一篇 2017-01-08
下一篇 2017-01-08

相關推薦

  • 文件管理相關

     rename:對文件重命名     rename [options] expression replacement file        示例:          # rename -v cut.exe cut.exe3 cut.exe…

    Linux干貨 2017-02-25
  • 優云Monitor:大規模Docker平臺自動化監控之路

    本文介紹了通過優云Monitor,如何實現大規模容器運維平臺的自動化監控需求。 盡管Docker技術目前還處于不穩定的發展與標準制定階段,但這門技術已經呈現了極其火熱的增長狀態,卻已經是不爭的實事。到底有多火熱?讓我們先來看一張來自國外監控公司DataDog 2016年最新調查報告: 從圖中可以看出,自2015年5月后,采用容器技術的應用呈現了30%的大幅增…

    2016-08-05
  • Linux發展史

    1、Linux是什么     Linux 是一套 Unix-like 的作業系統,是 Unix 的一種,它控制整個系統基本服務的核心程式 (kernel) 是由 Linus 帶頭開發出來的,「Linux」這個名稱便是以「Linus's Minix」來命名,Linus 選擇用「大眾公有版權」 (GPL)的方式來發行這份程…

    Linux干貨 2016-10-19
  • 馬哥教育網絡班21期+第四周博客作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 2、編輯/etc/group文件,添加組hadoop。 3、手動編輯/etc/passwd文件新增一行,添加用戶hadoop,其基本組ID為hadoop組的id號;其家目錄為/home/hadoop。 4、復制/etc/sk…

    Linux干貨 2016-07-07
  • tcpdump診斷nginx問題

    自從上級公司離職后,快一年的時間沒有寫php程序和搭建LNMP環境,一直在做db運維和運維工具開發方面的事情。 最近決定開發開發一些自動話方面工具,重新拾起php,于是在測試機上搭建一個LNMP環境。 1、 nginx 404錯誤 一般的出現404錯誤,找不到頁面資源。首先用strace排除了存在文件訪問權限的問題,其次nginx的root參數設置也沒有任何…

    Linux干貨 2016-05-03
  • Linux新增磁盤分區

    磁盤的分區        主分區與擴展分區最多可以有4個(分區表64字節,每分區占16字節);        擴展分區最多只能有一個;        邏輯分區是由擴展分區持續分出來的分區;       &nbs…

    Linux干貨 2016-05-29

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-02-17 10:30

    寫的很好,提一個問題,255.255.255.255是一個合理的ip地址嗎?

欧美性久久久久