1、在11月内,每天早上6点到12点,每隔2小时执行一次/usr/bin/httpd.sh怎么实现?
00 06-12/2 * 11 * /bin/bash /usr/bin/httpd.sh &>/dev/null
2、已知oldboy.txt文件有如下内容:
183.250.220.178|-l[20/jul/2017:10:35:14 +0800]|POST /audiosearch/search
HTTP/1.1|200|54|-lDalvik/1.6.0(linux;U;Android 4,4,4;Konka Android TV 638
Build/KTU84P)|-l-[5.069|5.001,0.005|www.kuyun.com|8771|172.21.19.67:8084,172.21.19.66:8084]
清取出Android字符串(不少于两种方法)
sed -nr 's#^.*U;(.*) 4,4,4.*#\1#gp' oldboy.txt
awk -F "[; ]" 'NR==2{print $3}' oldboy.txt
3、已知有test.txt文件
a.追加输入1-10数字序列到文件中,要求数字成列竖向显示
b.打印出文件第4-8行的内容
a.seq 10 >test.txt
echo {1..10}|tr ' ' '\n' >test.txt
echo {1..10}|sed -rn 's# #\n#gp' > test.txt
b.head -8 test.txt |tail -5
tail -7 test.txt |head -5
grep -C 2 "6" test.txt
grep -A 2 -B 2 "6" test.txt
4、在Linux系统中,查找3天内修改过的文件名为‘oldboyedu.txt’的文件,并把它打包到/tmp目录下并以当天日期命名?
find /* -type f -mtime -3 |xargs tar zcf /tmp/$(date +%F).tar.gz
find /* -type f -mtime -3 -exec tar zcf /tmp/$(date +%F) {} \;
tar zcf /tmp/$(date +%F) $(find /* -type f -mtime -3)
5、如何赋予oldboy.txt文件-rw-r--r-x 权限,并且所有者为oldboy,所属组为sa?
chmod 645 oldboy.txt
chown oldboy:sa oldboy.txt
6、什么是SUID?作用是?举一个使用SUID的命令,它是如何利用SUID工作的?
suid:
1)suid功能是针对二进制命令或程序的,不能用在Shell等类似脚本文件上
2)用户或属组对应的前三位权限的x上,如果有s(S)就表示具有suid权限
3)suid的作用就是让普通用户可以执行某个设置了suid为命令或程序时,拥有和命令对应属主(一般为root管理员)一样的身份和权限(默认)
4)二进制命令程序需要有可执行权限配合才行
5)suid对应的身份和权限仅在程序命令执行过程中有效
6)suid是一个较为危险的功能,企业里用户授权可以使用sudo等代替suid
7)在进行安全优化时,系统中默认设置了suid权限的命令要取消掉
范例:
a.前提环境
1.linux中二进制命令cat,属组属主都是root
2.linux中系统文件/etc/shadow,属组属主都是root
3.创建一个普通用户oldboy
4.oldboy具有对cat的执行权限
5.oldboy不具有对/etc/shadow的任何权限
b.默认情况下
1.oldboy执行cat,系统会创建一个cat进程,进程的属组属主取进程发起者,也就全部是oldboy
2.cat进程访问/etc/shadow,由于进程属主属组是oldboy,与/etc/shadow的属主属组不匹配,所以被拒绝
c.cat设置SUID之后
1.oldboy执行cat,系统创建一个cat进程,进程的属主取cat的属主,属组取程序发起者,就是root:oldboy
2.cat进程访问/etc/shadow,由于进程属主是root,与/etc/shadow的属主匹配,所以被允许访问
7、有一个/opt/backup.sh的备份脚本,如何在10月的每天06-18点,每3小时执行并在13点单独执行一次。
00 06-18/3,13 * 10 * /bin/bash /opt/backup.sh &>/dev/null
8、企业开发人员和你要一个oldgirl用户临时拥有root权限10天,你该如何解决?
useradd oldgirl
passwd oldgirl 123456
chage -M 10
visudo 100gg
9、请将ip add结果中的eth0网卡对应ip地址取出(用awk或sed加正则表达式取)。
ip add|sed -nr 's#^.*et (.*)/24.*$#\1#gp'
ip add|awk -F "[ /]+" 'NR==9{print $3}'
10、Linux现连接新的存储(/dev/sdb,容量3T),一个应用程序需要在/data目录使用此存储的500G的存储空间,请描述方法并给出相应命令?
一键添加 parted /dev/sdb mklabel gpt mkpart 1 ext3 1 500G
1)重新扫描SCSI总线添加设备
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
2)parted /dev/sdb
3)修改文件格式
mklable gpt
4)创建分区
mkepart p1
5)将分区信息通知内核
partprobe
6)格式化(创建文件系统)
mkfs -t xfs /dev/sdb1
7)挂载mount /dev/sdb1 /data
8)查看挂载信息
df -h
11、查找出系统中当前目录下大于1M的文件,把文件中的oldboy替换为oldgirl?
find /* -type f -size +1M|xargs tr ''oldboy'' ''oldgirl''
find /* -type f -size +1M|xargs sed "s#olsboy#oldgirl#g"
12、如何给sshd服务设置开机自启动?
systemctl enable sshd
13、批量创建oldboy01-oldboy10共10个用户,并统一设置密码123456
seq 10|sed -r 's#(.*)#useradd oldboy\1;echo '123456'|passwd --stdin oldboy\1#g'|bash
14、编写Shell脚本,在文件结尾传入2个数字参数,实现比较两个整数大小
#!/bin/bash
a=$1
b=$2
if [ $a -gt $b ]
then
echo "$a>$b"
elif [ $a -eq $b ]
then
echo "$a=$b"
else
echo "$a<$b"
fi
15、 如何授权oldgirl用户权限,使其只能实现添加和删除用户系统管理的任务?
visudo
oldgirl ALL=(ALL) /usr/sbin/useradd;/usr/sbin/userdel
16、如何查看和设置Linux的默认网关?
查看 route -n
设置 route add 临时修改
vim /etc/sysconfig/network
17、解释翻译:
/etc/fstab 开机自动挂载配置文件
/etc/hosts 本地解析DNS配置文件
/etc/hostname 主机名所在目录
/etc/resolv.conf DNS客户端配置文件
/etc/rc.local 开机自启配置文件
/etc/profile 环境变量配置文件