?第五周作業

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

[root@localhost ~]# grep  -E "^[[:space:]]+" /boot/grub/grub.conf 
root (hd0,0)
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-431.el6.x86_64.img
[root@localhost ~]# grep   "^[[:space:]]\+" /boot/grub/grub.conf 
root (hd0,0)
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-431.el6.x86_64.img

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

[root@localhost ~]# grep "^#[[:space:]]\+[^[:space:]]\+" /etc/rc.d/rc.sysinit 
# /etc/rc.d/rc.sysinit - run once at boot time
# Taken in part from Miquel van Smoorenburg's bcheckrc.
# Check SELinux status
# Print a text banner.
# Only read this once.
# Initialize hardware
# Set default affinity
# Load other user-defined modules
# Load modules (for backward compatibility with VARs)
# Configure kernel parameters
# Set the hostname.
# Sync waiting for storage.
# Device mapper & related initialization
# Start any MD RAID arrays that haven't been started yet
# Remount the root filesystem read-write.
# Clean up SELinux labels
# If relabeling, relabel mount points.
# Mount all other filesystems (except for NFS and /proc, which is already
# mounted). Contrary to standard usage,
# filesystems are NOT unmounted in single user mode.
# The 'no' applies to all listed filesystem types. See mount(8).
# Update quotas if necessary
# Check to see if a full relabel is needed
# Initialize pseudo-random number generator
# Configure machine if necessary.
# Clean out /.
# Do we need (w|u)tmpx files? We don't set them up, but the sysadmin might...
# Clean up /var.
# Clean up utmp/wtmp
# Clean up various /tmp bits
# Make ICE directory
# Start up swapping.
# Set up binfmt_misc
# Boot time profiles. Yes, this should be somewhere else.
# Now that we have all of our basic modules loaded and the kernel going,
# let's dump the syslog ring somewhere so we can find it later
# create the crash indicator flag to warn on crashes, offer fsck with timeout
# Let rhgb know that we're leaving rc.sysinit
[root@localhost ~]# grep -E "^#[[:space:]]+[^[:space:]]+" /etc/rc.d/rc.sysinit 
# /etc/rc.d/rc.sysinit - run once at boot time
# Taken in part from Miquel van Smoorenburg's bcheckrc.
# Check SELinux status
# Print a text banner.
# Only read this once.
# Initialize hardware
# Set default affinity
# Load other user-defined modules
# Load modules (for backward compatibility with VARs)
# Configure kernel parameters
# Set the hostname.
# Sync waiting for storage.
# Device mapper & related initialization
# Start any MD RAID arrays that haven't been started yet
# Remount the root filesystem read-write.
# Clean up SELinux labels
# If relabeling, relabel mount points.
# Mount all other filesystems (except for NFS and /proc, which is already
# mounted). Contrary to standard usage,
# filesystems are NOT unmounted in single user mode.
# The 'no' applies to all listed filesystem types. See mount(8).
# Update quotas if necessary
# Check to see if a full relabel is needed
# Initialize pseudo-random number generator
# Configure machine if necessary.
# Clean out /.
# Do we need (w|u)tmpx files? We don't set them up, but the sysadmin might...
# Clean up /var.
# Clean up utmp/wtmp
# Clean up various /tmp bits
# Make ICE directory
# Start up swapping.
# Set up binfmt_misc
# Boot time profiles. Yes, this should be somewhere else.
# Now that we have all of our basic modules loaded and the kernel going,
# let's dump the syslog ring somewhere so we can find it later
# create the crash indicator flag to warn on crashes, offer fsck with timeout
# Let rhgb know that we're leaving rc.sysinit
[root@localhost ~]#

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

[root@localhost ~]# netstat -tan |grep "LISTEN[[:space:]]*"
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 ::1:25                      :::*                        LISTEN

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

[root@localhost ~]# 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:500:500::/home/bash:/bin/bash
nologin:x:503:503::/home/nologin:/sbin/nologin

5、顯示當前系統上root、fedora或user1用戶的默認shell;

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

6、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello();

[root@localhost ~]# grep -E "[[:alnum:]]\>+\(\)" /etc/rc.d/init.d/functions 
fstab_decode_str() {
checkpid() {
__readlink() {
__fgrep() {
__umount_loop() {
__umount_loopback_loop() {
__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() {
confirm() {
get_numeric_dev() {
is_ignored_file() {
is_true() {
is_false() {
apply_sysctl() {
key_is_random() {
find_crypto_mount_point() {
init_crypto() {

7、使用echo命令輸出一個絕對路徑,使用grep取出其基名;

echo /etc/rc.d/init.d/functions | grep -o "[^/]*/*$" 
functions

    擴展:取出其路徑名

[root@localhost ~]# echo /etc/rc.d/init.d/functions | grep -o "/.*/" 
/etc/rc.d/init.d/

8、找出ifconfig命令結果中的1-255之間數字;

[root@localhost ~]# ifconfig |grep  --color -E -o  "<\([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]\)\>"
29
52
192
168
44
23
192
168
44
25
25
25
25
80
20
29
95
64
150
52
84
34
27
100
50
51
70
49
44
43
47
43
127
25
128
164
36
68
68
68
68

9、挑戰題:寫一個模式,能匹配合理的IP地址;

[root@localhost ~]# ifconfig eth0 |grep -oE "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
192.168.44.23
192.168.44.255
255.255.255.0

10、挑戰題:寫一個模式,能匹配出所有的郵件地址;

[a-z,A-Z,0-9,_]*@[a-z,A-Z,0-9,_]*\.[a-z,A-Z,0-9]*

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

 find /var/ -user root -a -group mai

12、查找當前系統上沒有屬主或屬組的文件;

find / -nouser -o -nogroup

     進一步:查找當前系統上沒有屬主或屬組,且最近3天內曾被訪問過的文件或目錄;

find / -nouser -a -nogroup -a -type f -a mtime -3
find / \( -nouser -o -nogroup \) -a -type f -a mtime -3

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

find /etc/ -perm -222

14、查找/etc目錄下大于1M,且類型為普通文件的所有文件;

[root@localhost ~]# find /etc/ -size +1M -a -type f
/etc/selinux/targeted/modules/active/policy.kern
/etc/selinux/targeted/policy/policy.24

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

 find /etc/init.d/ -perm -113

16、查找/usr目錄下不屬于root、bin或hadoop的文件;

find /usr/ -not -user root -a -not -user bin -not -user hadoop
find /usr/ -not \( -user root -o -user bin -o -user hadoop \)

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

 find /etc/ -not  -perm /2

18、查找/etc目錄下最近一周內其內容被修改過,且不屬于root或hadoop的文件

find /etc/ -not -user root -a -not -user hadoop -a -mtime -7

原創文章,作者:胡安慧,如若轉載,請注明出處:http://www.www58058.com/67436

(0)
胡安慧胡安慧
上一篇 2017-02-05
下一篇 2017-02-06

相關推薦

  • iptables實驗2

    IPTABLES   實驗2       實驗大體結構圖       相關概念及公式 源地址轉換:    SNAT   POSTROUTING 目標地址轉換:DNAT  PREROUTING   每次重啟網絡后…

    Linux干貨 2016-10-24
  • 計算機基礎及Linux基礎

    計算機基礎與Linux入門 計算機組成及功能 Linux常見發行版 Linux重要哲學思想 Linux文件系統層級結構及文件命名規則 如何獲取Linux命令的使用幫助 Linux常用命令及示例 1.1 計算機組成及功能 1.1.1 計算機的五大部件 計算機的主要組成部分有: 1、CPU:運算器 2、控制器、寄存器(內部存儲)、緩存; 3、存儲器:內存,RAM…

    Linux干貨 2016-12-04
  • 初學第一篇

    本菜雞出現了。。。 第一次接觸Linux,相對老司機要差遠了,這幾個月的辣眼睛,我就承包了,希望越來越好~~~ ————我是分割線,下面是正文————- 都是講過的東西,不過里面內容都是11手打,作業也自己做后再比對答案 一、–第一天的課程暫時不寫了,…

    Linux干貨 2017-09-02
  • 2017中華數據庫與運維大會強勢回歸!

         時隔一年,2017年中華數據庫與運維大會將于06月03日在上海寶豐聯大酒店強勢回歸,屆時來自全國各行各業的IT從業人員將歡聚上海,探討與交流數據庫和運維的經驗。       自2009年以來,超過4000位技術總監、技術負責人、架構師、項目經理、運維總監、運維經理、DBA經理、DBA、運維…

    2017-02-28
  • Linux bash中命令執行狀態返回值

    Linux bash中命令執行狀態返回值 在操作系統中,命令的執行后輸出的內容為命令執行結果輸出,而這個命令本身是否執行成功,它是通過命令執行狀態返回值來標識的。 常用的值: 0 表示命令執行成功非0 表示命令執行失敗 bash中獲取命令執行狀態返回值的方法 在剛執行完一條指令后,使用echo $?取得上一條指令的命令執行狀態返回值,示例如下:  …

    Linux干貨 2016-11-06
  • 任務計劃配置

        任務計劃:         linux任務計劃,周期任務執行         未來的某個時間點執行一次任務:at,batch:系統自行選擇空閑時間去執行此處指定的任務 &n…

    Linux干貨 2016-09-12
欧美性久久久久