《回答某位网友的LINUX作业题》
上一篇 / 下一篇 2007-07-22 11:38:11 / 个人分类:SHELL编程
1. ABC软件开发公司的开发人员Tom将要参与一个新项目的开发。现在他需要在自己的个人目录下面建立一个子目录project,然后在该新建的子目录下面再分别建立三个子目录:Source、Doc和scrīpt。以便以后用来存放开发过程中需要用到的开发文档和源程序等文件(将结果使用截图保存)LUPA开源社区n;J8q!Sms JTcI
useradd -d /home/tom -s /bin/bash tomLUPA开源社区\5}8}(QOU4Ba
passwd tom
%_8skGhr*j0su - tom
(z:NUOb3ip,yy
||)H0mkdir -p project/SourceLUPA开源社区{5n5f.Cz
mkdir -p project/Doc
+^ w8{,_'{A0mkdir -p project/SecriptLUPA开源社区I7Y-Un'ECw
9|6h~5t-h0LUPA开源社区+T,OIwG-l.Ij
2. Linux系统的帐户资料(诸如用户名、密码等)是以文本文件的形式保存在/etc目录下,这些文件在整个系统中具有举足轻重的地位。ABC软件开发公司的系统管理员ray的日常工作之一是需要定期的查看系统的帐号文件,分析是否有异常情况。如果正常就备份该密码文件;如果不正常,就把以前备份的正常的密码文件恢复出来,以供系统实现。
g@S)LP
pw.f0请设计一方案实现(描述设计思路,注意数据安全),并取出相应的截图。LUPA开源社区%E znP:n
1)用md5sum做密码校验保存到相应的文件中LUPA开源社区N3x-hb/u3O-ox6ps
cp /etc/passwd /etc/passwd.bak
HF"}x"D,mJ'Zl"H0cp /etc/shadow /etc/shadow.bak
5uvc~
S3L0chmod 400 /etc/passwd.bakLUPA开源社区(C8Y,iGT0Y*syaD2]
chmod 400 /etc/shadow.bakLUPA开源社区*P#s\&tmN(J]3o5s-D
md5sum /etc/passwd>/etc/md5_pasLUPA开源社区ZN'EPT vL/O*ta
md5sum /etc/shadow>/etc/md5_shw
2)LUPA开源社区
d5l,VR-l9JD
chmod 400 /etc/md5_pas /etc/md5_shwLUPA开源社区#|w~I9TC%_
3)LUPA开源社区`JDP R&W
res_pas=`md5sum -c /etc/md5_pas`LUPA开源社区9L3`$@!z:|H.M\
res_md5=`md5sum -c /etc/md5_shw`
1hS0cKlU04)if [ res_pas == 'OK' ]; then
!vN6m'b\z7UK3H0 :
(xyRn-d3ng?!R0 else
8e$O` D6x%U7MY#HW.W0 cp -f /etc/passwd.bak /etc/passwd
{/`|2Ec$}#_r0 cp -f /etc/shadow.bak /etc/shadowLUPA开源社区A
A'LU6X9S2~
fiLUPA开源社区G-R&vx
t]
+MX)G |aw&A'D"h0 LUPA开源社区P)A r GK
W'R{xx?03. ABC软件开发公司的系统管理员ray经常需要查看和修改目录“/etc”下的系统配置文件。如何快速浏览目录“/etc”下的所有子目录的结构和分布,便成为ray的问题,请设计一个命令解决他的问题(提示:可以使用find 命令,参考帮助文件使用合适的参数)LUPA开源社区)uY L"d3y6O4vP
find /etc -type d>/tmp/directory_struct
4. 解释下列命令的作用ls –lR /etc
%h*`@;j3px4gNe0显示/etc/目录下所有目录和递归子目录下的所有文件
2u:w`.l/P05. 备份的文件越多,其副作用越明显;一是严重浪费空间,因为通常的情况下,就算是一个字节大小的文件也占用了4KB的空间;二是对这些文件的搜索和再次复制的操作将大大降低速度。请写出备份一个文件夹压缩为一个文件的命令。文件夹的名字为姓名缩写,截图说明。LUPA开源社区*T$fM u]T `-s
方法1)
3GS/{rV[0tar cvzf ck.tar.gz /etc
V%yVZ+TQ
A'c.Yp0方法2)LUPA开源社区7nk,i ww1v$S
tar jcvf ck.tar.bz2 /etc/
D
m/d{{;?!?^S0方法3)LUPA开源社区/RL)eA4lD0}&v
find /etc -type f|cpio -o>/tmp/ck.cpioLUPA开源社区J$v5\7F5F8Uh
~]m0w L[(Ry3o
AP2[06. ABC软件开发公司即将开始在Linux系统上进行两个项目的开发。开发人员David和Peter组成一个小组,负责A项目的开发;开发人员Jack和Mike组成另一个小组,负责B项目的开发。LUPA开源社区)@j
v2Q6h"\h9gE1M~
系统管理员ray需要为这四名开发人员分别建立用户账号,并满足以下要求:
h FX8?TD0(1) 建立目录“/Project_a”,该目录里面的文件只能由David和Peter两人读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作;
z}Y
f+r7V2Vt"l0(2) 建立目录“/Project_b”,该目录里面的文件只能由Jack和Mike两人读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作;LUPA开源社区#f
L%_p&{Zt
eu$~
(3) 建立目录“/project”,该目录里面的文件只能由David、Peter、Jack和Mike四个人读取、增加、删除、修改以及执行,其他用户只可以对该目录进行只读的操作。
b1G/Z2`oR:O$@0请拟一个方案实现,并用相应的截图说明(仔细考虑,实现不要零乱)
#dlsZE4D0groupadd dev_g1
;jr`r%X)rO4L0groupadd dev_g2LUPA开源社区hT*Qh1D'F
groupadd dev_otherLUPA开源社区na.Y+r?`
$G fD9k{eT'^7b0useradd -G dev_g1,dev_other -s /etc/bash David
+S$G$Z2glC\r'Z ]6d0useradd -G dev_g1,dev_other -s /etc/bash Peter
@g"b6\6be0useradd -G dev_g2,dev_other -s /etc/bash JackLUPA开源社区e%]Ej2gME7mU/t
useradd -G dev_g2,dev_other -s /etc/bash Mike
mkdir /Project_[a-b]
D
L&bm
x q0mkdir /Project