Linux學(xué)習(xí)第四周


一、統(tǒng)計(jì)出/etc/passwd文件中其默認(rèn)shel為非/sbin/nologin的用戶個(gè)數(shù),并將用戶都顯示出來(lái);

[root@localhost ~]# grep -v '/sbin/nologin' /etc/passwd |awk -F: '{ print $1}' | cat -n
     1  root
     2  sync
     3  shutdown
     4  halt
     5  gaolu
     6  mageia
     7  slackware

二、查出用戶UID最大值的用戶名、UID及shell類型;

[root@localhost ~]# awk -F: '{print $1,$3,$NF}' /etc/passwd | tail -1
slackware 2002 /bin/bash

三、統(tǒng)計(jì)當(dāng)前連接本機(jī)的每個(gè)遠(yuǎn)程主機(jī)IP的連接數(shù),并按從大到小排序;

[root@localhost ~]# w -h | awk '{print $3}'|sort|uniq -c
      2 192.168.1.102
      1 192.168.1.103
      1 192.168.1.111
      1 192.168.1.112

四、編寫腳本createuser.sh,實(shí)現(xiàn)如下功能:使用一個(gè)用戶名做為參數(shù),如果指定參數(shù)的用戶存在,就顯示其存在,否則添加之;濕示添加的用戶的id號(hào)等信息;

1)編寫腳本
[root@localhost ~]# cat creatuser.sh
#!/bin/bash
#定義變量
read -p "請(qǐng)輸入一個(gè)用戶名:" user
#判斷用戶名是否存在
if [ -z "$user" ] ;then
    echo "輸入為空,請(qǐng)重新輸入!!"
    exit
fi
if  `id $user &> /dev/null`;then
#若存在,則輸出ID等信息
    echo "用戶存在,用戶的ID信息為:`id $user`"
else
#若不存在,則添加用戶,設(shè)置密碼為隨機(jī)8位,下次登錄時(shí)提示修改密碼,同時(shí)顯示ID等信息
    passwd=`cat /dev/urandom |tr -cd [:alpha:] |head -c8`
    `useradd $user &> /dev/null`
    `echo "$passwd" | passwd --stdin $name &> /dev/null`
    echo "用戶名:$user 密碼: $passwd" >> /root/user.txt
    echo "用戶和密碼詳情查看/root/user.txt文件"
    `chage -d 0 $user`
    echo "用戶已添加,用戶的ID信息為:`id $user` 密碼為:$passwd"
fi

2)腳本添加執(zhí)行權(quán)限
[root@localhost ~]# chmod +x creatuser.sh

#測(cè)試一個(gè)存在的用戶
[root@localhost ~]# chmod +x creatuser.sh
[root@localhost ~]# ./creatuser.sh
請(qǐng)輸入一個(gè)用戶名:root
用戶存在,用戶的ID信息為:uid=0(root) gid=0(root) 組=0(root)

3)測(cè)試存在的用戶
[root@localhost ~]# ./creatuser.sh
請(qǐng)輸入一個(gè)用戶名:root
用戶存在,用戶的ID信息為:uid=0(root) gid=0(root) 組=0(root)

4)測(cè)試不存在的用戶
[root@localhost ~]# ./creatuser.sh
請(qǐng)輸入一個(gè)用戶名:lifeisshit
用戶和密碼詳情查看/root/user.txt文件
用戶已添加,用戶的ID信息為:uid=2003(lifeisshit) gid=2003(lifeisshit) 組=2003(lifeisshit) 密碼為:WSRfhAhf
[root@localhost ~]# cat /root/user.txt
用戶名:test 密碼: Nrmvqkyt
用戶名:lifeisshit 密碼: WSRfhAhf

5)測(cè)試不輸入

[root@localhost ~]# ./creatuser.sh
請(qǐng)輸入一個(gè)用戶名:
輸入為空,請(qǐng)重新輸入!!

五、編寫生成腳本基本格式的腳本,包括作者,聯(lián)系方式,版本,時(shí)間,描述等;

1)修改vim環(huán)境變量
[root@localhost ~]# cat ~/.vimrc
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()
    if expand("%:e")=='sh'
            call setline(1,"#!/bin/bash")
            call setline(2,"##########################################################")
            call setline(3,"#author:                gaolu")
            call setline(4,"#QQ:                    1378292605")
            call setline(5,"#email:                 1378292605@qq.com")
            call setline(6,"#version:               1.0")
            call setline(7,"#date:                  ".strftime("%c"))
            call setline(8,"#description:           Safe operation, invincible!")
            call setline(9,"##########################################################")
    endif
endfunc

2)測(cè)試
[root@localhost ~]# vim test.sh
[root@localhost ~]# vim test.txt

經(jīng)測(cè)試只有配置的變量中.sh結(jié)尾的才會(huì)有附加信息。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容