網絡N23期第四周grep

1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。

[root@localhost ~]# cp -R /etc/skel /home/tuser1 && chmod g-r,o-r /home/tuser1

[root@localhost ~]# ls -lad /home/tuser1

drwx–x–x. 5 root root 4096 11月 11 01:36 /home/tuser1

2、編輯/etc/group文件,添加組hadoop。

[root@localhost ~]# vim /etc/group

hadoop:x:2023:   最后一行

[root@localhost ~]# grep hadoop /etc/group

hadoop:x:2023:

3、手動編輯/etc/passwd文件新增一行,添加用戶hadoop,其基本組ID為hadoop組的id號;其家目錄為/home/hadoop。

[root@localhost ~]# vim /etc/passwd

hadoop:x:2023:2023::/home/hadoop:/bin/bash

4、復制/etc/skel目錄為/home/hadoop,要求修改hadoop目錄的屬組和其它用戶沒有任何訪問權限。

~]# cp -R /etc/skel /home/hadoop

~]# chmod 700 /home/hadoop

~]# ls -lad /home/hadoop/

drwx——. 4 root root 4096 11月 28 15:47 /home/hadoop/

5、修改/home/hadoop目錄及其內部所有文件的屬主為hadoop,屬組為hadoop。

[root@localhost ~]# chown -R hadoop:hadoop /home/hadoop

[root@localhost ~]# ls -lad /home/hadoop

drwx——. 4 hadoop hadoop 4096   15:47 /home/hadoop

6、顯示/proc/meminfo文件中以大寫或小寫S開頭的行;用兩種方式;

~]# grep -i '^s' /proc/meminfo

~]# grep  "^[sS]"  /proc/meminfo

~]# grep -E "^(s|S)" /proc/meminfo

-i:ignorecase,忽略字符的大小寫;

^:行首錨定;用于模式的最左側;

7、顯示/etc/passwd文件中其默認shell為非/sbin/nologin的用戶;

~]# grep -v "/sbin/nologin$" /etc/passwd

-v, –invert-match:顯示不能被模式匹配到的行;

$:行尾錨定;用于模式的最右側;

8、顯示/etc/passwd文件中其默認shell為/bin/bash的用戶;

~]# grep "/bin/bash$" /etc/passwd | cut -d: -f1

9、找出/etc/passwd文件中的一位數或兩位數;

~]# grep "\<[0-9]\{1,2\}\>" /etc/passwd

~]# grep "\<[[:digit:]]\{1,2\}\>" /etc/passwd

[:digit:]  所有數字 

\{1,2\}:匹配其前面的字符至少1次,至多2次;

10、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行;

~]# grep "^[[:space:]]\+" /boot/grub/grub.conf

[:space:]    所有空白字符

\+:匹配其前面的字符1次或多次;即其面的字符要出現至少1次;

11、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行;

~]# grep "^#[[:space:]]\+[^[:space:]]\+" /etc/rc.d/rc.sysinit

12、打出netstat -tan命令執行結果中以‘LISTEN’,后或跟空白字符結尾的行;

~]# netstat -tan |grep "LISTEN[[:space:]]\+"

13、添加用戶bash, testbash, basher, nologin (此一個用戶的shell為/sbin/nologin),而后找出當前系統上其用戶名和默認shell相同的用戶的信息;

~]# useradd bash

 ~]# useradd testbash

 ~]# useradd basher

 ~]# useradd -s /sbin/nologin nologin

~]# grep -E "^([^:]+\>).*\1$" /etc/passwd    以非冒號開頭,并且錨定,行首跟行尾想同。

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

(0)
goodwingoodwin
上一篇 2016-12-05
下一篇 2016-12-05

相關推薦

  • 編程真難啊

    上周,在Sun的Java論壇上出現了一個這樣的帖子,這個貼子的鏈接如下:http://forums.sun.com/thread.jspa?threadID=5404590&start=0&tstart=0 LZ的貼子翻譯如下: 大家好,我是一個Java的新手,我有一個簡單的問題:請問我怎么才能反轉一個整數的符號啊。比如把-12轉成+12。是…

    Linux干貨 2015-04-03
  • HipHop PHP實戰(詳解web運行模式)

    Note: These code examples assume the HipHop compiler is fully built. 1 . Setting Up Your Environment (構建環境) To get started, you need to configure two environment variables. cd…

    Linux干貨 2015-04-10
  • 位運算符及其應用

    一、C語言的六種位運算符: & 按位與 | 按位或 ^ 按位異或 ~ 取反 << 左移 >> 右移 1.   按位與運算 按位與運算符"&"是雙目運算符。     &nb…

    Linux干貨 2015-11-18
  • Mysql 多表聯合查詢效率分析及優化

    1. 多表連接類型 1. 笛卡爾積(交叉連接) 在MySQL中可以為CROSS JOIN或者省略CROSS即JOIN,或者使用','  如:  SELECT * FROM table1 CROSS JOIN table2  &nb…

    Linux干貨 2015-04-13
  • 函數式編程

    當我們說起函數式編程來說,我們會看到如下函數式編程的長相: 函數式編程的三大特性: immutable data 不可變數據:像Clojure一樣,默認上變量是不可變的,如果你要改變變量,你需要把變量copy出去修改。這樣一來,可以讓你的程序少很多Bug。因為,程序中的狀態不好維護,在并發的時候更不好維護。(你可以試想一下如果你的程序有個復雜的狀態,當以后別…

    Linux干貨 2016-08-15
  • 編譯安裝bind9

    一、下載bind9.9.5源碼包     可以通過www.isc.org站點來獲得源碼包。 二、將源碼包解壓到任意目錄     源碼包通常都是.tar.gz文件,因此我們需要先將其解壓: 三、編譯安裝bind     1、安裝前的準備工作 …

    Linux干貨 2015-05-05

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-03-29 17:24

    所有博客作業一直保持高品質,難能可貴,非常看好你。

欧美性久久久久