第三、四周作业

第三周

1、显示/etc目录下,非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录

ls /etc|grep '^[[:digit:]]'

2、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录下

cp -ra /etc/p*[:alpha:] /tmp/mytest1/

3、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中

cat /etc/issue |tr 'a-z' 'A-Z' >> /tmp/issue.out

4、

(1)创建组distro,其GID为2019

groupadd -g 2019 distro

(2)创建用户mandriva,其ID号为1005;基本组为distro

useradd -u 1005 -g distro mandriva

(3)创建用户mageia,其ID号为1100,家目录为/home/linux

useradd -d /home/linux -u 1100 mageia

(4)给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期

echo "mageedu"|passwd --stdin mageia
passwd mageia -x 7

(5)删除mandriva,但保留其家目录

userdel mageia

(6)创建用户slackware,其ID号为2002,基本组为distro,附加组peguin

groupadd peguin ; useradd -u 20002 -g distro -G peguin slackware

(7)修改slackware的默认shell为/bin/tcsh


usermod -s /bin/tcsh slackware

(8)为用户slackware新增附加组admins,并设置不可登陆

usermod -G admins -s /sbin/nologin slackware

5、创建用户user1、user2、user3。在/data/下创建目录test

(1)目录/data/test属主、属组为user1

chown -R user1:user1 /data/test

(2)在目录属主、属组不变的情况下,user2对文件有读写权限

setfacl -m u:user2:rw /data/test

(3)user1在/data/test目录下创建文件a1.sh,a2.sh,a3.sh,a4.sh,设置所有用户都不可删除a1.sh,a2.sh文件、除了user1及root之外,所有用户都不可删除a3.sh,a4.sh

su - user1 ; touch /data/test/a{1..4}.sh
chattr +i /data/test/a1.sh /data/test/a2.sh
chmod o+x /data/test/a3.sh /data/test/a4.sh
chmod o+t /data/test/a3.sh /data/test/a4.sh

(4)user3增加附加组user1,同时要求user1不能访问/data/test目录及其下所有文件

usermod -G user1 user3
setfacl -m u:user1:- /data/test

(5)清理/data/test目录及其下所有文件的acl权限

setfacl -R -b /data/test

第四周

1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来

cat /etc/passwd|grep -v '/sbin/nologin'|wc -l
cat /etc/passwd|grep -v '/sbin/nologin'|awk -F: '{print $1}'

2、查出用户UID最大值的用户名,UID及shell类型

cat /etc/passwd|sort -t: -k3 -rn|awk -F: 'NR==1{print $1,$3,$NF}'

3、统计当前连接本机的每个远程主机IP的连接数,并按达到小排序

netstat -nt|tr -s " " ":"|cut -d: -f6|sort|uniq -c|sort -rn

4、编写脚本disk.sh,显示当前硬盘分区中空间利用率最大的值

#!/bin/bash
re=`df -h|tr -s " " ":"|awk -F[:%] 'NR!=1{print $5}'|sort -rn|head -n 1`
echo ${re}%

5、编写脚本system info.sh,显示当前主机系统信息,包括主机名,IPV4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小

#!/bin/bash
hostname=`hostname`
ipv4=`ifconfig eth0|grep inet|tr -s " " ":"|head -n 1|cut -d: -f3`
osVersion=`cat /etc/redhat-release`
kernelVersion=`uname -r`
cpuType=`lscpu|grep 'Model name'|tr -s ' '|cut -d' ' -f5`
menTotal=`cat /proc/meminfo |head -n 1|awk -F: '{print $2}'`
disktotal=`lsblk -b|awk 'NR!=1{sum += $4}END{print sum/(1024**3)}'`
echo -e "HostNmae: "$hostname
echo -e "IPV4: "$ipv4
echo -e "OS Version: "$osVersion
echo -e "Kernel Version: "$kernelVersion
echo -e "CPU Type: "$cpuType
echo -e "Memtotl: "$menTotal
echo -e "Disk tatal: "${disktotal}G

你可能感兴趣的:(第三、四周作业)