N25期–第十五周作業

1、    總結sed和awk的詳細用法;


2、刪除/boot/grub/grub.conf文件中所有行的行首的空白字符;
# sed  's@^[[:space:]]\+@@' /boot/grub/grub.conf

3、刪除/etc/fstab文件中所有以#開頭,后跟至少一個空白字符的行的行首的#和空白字符;
# sed  's@^#[[:space:]]*@@'  /etc/fstab

4、把/etc/fstab文件的奇數行另存為/tmp/fstab.3;
# sed '1~2w /tmp/fstab.3' /etc/fstab

5、echo一個文件路徑給sed命令,取出其基名;進一步地,取出其路徑名;

取基名:echo "/etc/sysconfig/network-scripts/" | sed 's@^.*/\([^/]\+\)/\?$@\1@'
取路徑名:echo "/etc/sysconfig/network-scripts/" | sed 's@[^/]\+/\?$@@'

6、統計指定文件中所有行中每個單詞出現的次數;
 awk '{for(i=1;i<=NF;i++){count[$i]++}}END {for (i in count) {print i,count[i]}}' /etc/fstab

7、統計當前系統上所有tcp連接的各種狀態的個數;

netstat -tan | awk '/^tcp\>/{state[$NF]++}END {for (i in state) {print i,state[i] }}'

8、統計指定的web訪問日志中各ip的資源訪問次數:

awk '{ip[$1]++}END{for(i in ip) {print i,ip[i]}}' /var/log/httpd/access_log


9、寫一個腳本:定義一個數組,數組元素為/var/log目錄下所有以.log結尾的文件的名字;顯示每個文件的行數;
#!/bin/bash
declare -a files
files=(/var/log/*.log)
for i in `seq 0 $[${#files[@]}-1]`;
    do wc -l ${files[$i]}
done

10、寫一個腳本,能從所有同學中隨機挑選一個同學回答問題;進一步地:可接受一個參數,做為要挑選的同學的個數;

#!/bin/bash 
function  duplicate() {   #判斷是否重復選擇,如果重復在選一次,直到不重復
for ((j=$[${#student[@]}-2];j>=0;j--));do
            if [ ${student[$j]} -eq ${student[$i]} ] 
            then
            student[$i]=$(($RANDOM % $a))
            duplicate
            fi
        done
}
read -p  "input the total student number,the first student no. is 0:" a
total=($(seq 0 $[$a-1]))
read -p "input how many student pick:" b
if [ $b -gt $a ]
then 
    echo "pick tpo more student"
elif [ $a -eq $b ]
then
    echo "pick every student"
else
    for ((i=0;i<$b;i++));do
        student[$i]=$(($RANDOM % $a))
        duplicate
        echo ${student[$i]}
    done
fi


11、授權centos用戶可以運行fdisk命令完成磁盤管理,以及使用mkfs或mke2fs實現文件系統管理;

visudo
User_Alias   DISK_ADMINS = centos
Cmnd_Alias   DISK_COMMAND = /sbin/fdisk, /sbin/mkfs, /sbin/mke2fs
DISK_ADMINS  ALL=(root) NOPASSWD: DISK_COMMAND

12、授權gentoo用戶可以運行邏輯卷管理的相關命令;
visudo
User_Alias  LVM_ADMINS = gentoo
Cmnd_Alias  LVM_COMMAND = /sbin/pv*, /sbin/vg*, /sbin/lv*
LVM_ADMINS  ALL=(root) NOPASSWD: LVM_COMMAND

useradd centos
echo "centos" | passwd --stdin centos
useradd gentoo
echo "gentoo" | passwd --stdin gentoo

[centos@node6 ~]$ sudo -l
用戶 centos 可以在該主機上運行以下命令:
    (root) NOPASSWD: /sbin/fdisk, /sbin/mkfs, /sbin/mke2fs
[gentoo@node6 ~]$ sudo -l
用戶 gentoo 可以在該主機上運行以下命令:
    (root) NOPASSWD: /sbin/pv*, /sbin/vg*, /sbin/vl*



13、基于pam_time.so模塊,限制用戶通過sshd服務遠程登錄只能在工作時間進行;

[root@localhost ~]# vim /etc/pam.d/sshd
account    required pam_time.so
[root@localhost ~]# vim /etc/security/time.conf 
*;*;*;MoTuWeThFr0900-1800#表示工作時間9點到下午6點允許訪問ssh

14、基于pam_listfile.so模塊,定義僅某些用戶,或某些組內的用戶可登錄系統;"
[root@localhost ~]# vim /etc/sshd_userlist
root
centos
gentoo
[root@localhost ~]# chmod 600 /etc/sshd_userlist 
[root@localhost ~]# chown root /etc/sshd_userlist 
[root@localhost ~]# vim /etc/pam.d/sshd
添加
auth        required pam_listfile.so item=user sense=allow file=/etc/sshd_userlist onerr=succeed

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

(0)
victorli88victorli88
上一篇 2017-05-08 19:20
下一篇 2017-05-08 20:08

相關推薦

  • vim文本編輯器使用

    vim文本編輯器使用

    2017-09-20
  • 簡單shell腳本編程示例

    1、編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名,IPv4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小。 腳本內容: 執行結果: 2、編寫腳本/root/bin/backup.sh,可實現每日將/etc/目錄備份到/root/etcYYYY-mm-dd中 腳本內容: 執行結果: 3、編寫腳本/roo…

    Linux干貨 2016-08-15
  • linux程序包管理

    Linux程序包管理        API:Application Program Interface        ABI:Application Binary Interface           Unix-like, &n…

    Linux干貨 2016-12-30
  • 復習-RAID原理詳解

    一、RAID RAID:冗余磁盤陣列,將多個磁盤不同的方式組成陣列,作為單一磁盤使用;通過RAID,大幅提高了I/O能力、容錯性。 二、RAID級別 不同的磁盤陣列組成模式,稱為磁盤級別,不同的RAID級別可提供不同的I/O能力提升、磁盤可用率和容錯性 1、RAID 0 條帶卷 strip  用兩塊和兩塊以上磁盤組成,RAID控制器將數據平均切割成…

    Linux干貨 2016-07-04
  • 馬哥教育第20期-第二周課程練習

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 cp:復制命令 用法: cp [源文件] [目標地址]           cp  vimrc /tmp/         cp [源文件1] [源文件2] ……

    Linux干貨 2016-06-27
  • 馬哥教育網絡20期+第五周練習博客

    1、  顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; [root@localhost ~]# grep "^[[:space:]]\+.*" /boot/grub/grub.conf          root (hd0…

    Linux干貨 2016-08-02

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-06-20 11:39

    怎么沒有總結sed和awk的具體用法?。?/p>

欧美性久久久久