我是大帅哥,擅长LINUX和C语言,还有脚本,希望和大家交朋友 QQ:21488275 MSN:chenkuo2006@hotmail.com

《Linux的ACL》练习题

2008-05-16 14:22:03 / 个人分类:LINUX系统

1)查看内核是否支持ext3文件系统
|#?Hj9hYV)D0LUPA开源社区 XXp6{3U$NZR k-e*E6O
参考答案:
*pr{TS7o{,^B0cat /boot/config-2.4.21-40.EL |grep -i ext3
:ikX4l Uy q%]0LUPA开源社区3g4A@,S2Sk.I

E7[3t%y8F i WL`5O0
p*E1Q!Tc x {fH02.1)用dd命令读取/dev/zero输出到/opt/testptn,大小为128MB
} BL7GS3g/k02.2)用losetup指定/opt/testptn为循环设备/dev/loop0LUPA开源社区L3h-x w*} W"SxE
2.3)格式化/dev/loop0,指定ext3分区LUPA开源社区"eg z,O V`D2c5r
2.4)挂载/dev/loop0到/mnt/acltestLUPA开源社区1t JS|z9Y$V

p*O4M/k l!I0参考答案:
%v.@ T'o {}0dd if=/dev/zero ōf=/opt/testptn bs=2048 count=65535LUPA开源社区2c)H-{w @Y'G
LUPA开源社区9L ~Ph6U0sZ
losetup /dev/loop0 /opt/testptn
2Q;CFy:t*v0LUPA开源社区H.oR9t9v$^{
mkfs -t ext3 /dev/loop0LUPA开源社区8EC K0A*^!^M
LUPA开源社区xd"L:Ysj&uw#{)cM
mount -t ext3 -o rw,acl /dev/loop0 /mnt/acltest/
U!k)O5|o$Z0LUPA开源社区(\o l)PN!Fp#Y
LUPA开源社区D[}qK%?mm1Z Q

K"f!V#kH O#`{5{03)新建test1,test2,test3三个用户LUPA开源社区 k1[ SC3p E
LUPA开源社区9lYpZx-Gf{#a2YT
参考答案:LUPA开源社区M!e(S_%G'_)EW)U*m-A
useradd test1;useradd test2;useradd test3LUPA开源社区i1Vk"x$@&[
passwd test1;passwd test2;passwd test3
+B,pF(JwI!\0LUPA开源社区#k exS$sL
LUPA开源社区P3r{A{P0HK

.W,n'K1_9U%H04)设定/mnt/acltest/目录的粘滞位,参照/tmp/目录
Y-Q.Y&Yc}X k(z0
o(e5_:Q&q)eS0参考答案:
Q:T nV+^V[ c0chmod 1777 /mnt/acltest/
5r `i%d8R2i Z0LUPA开源社区b6~D,QRU

J,F!~:uNuwi_ UT0LUPA开源社区9@h&NBx(c3x
5.1)切换到test1用户,将test1字符串输出到文件/mnt/acltest/test1.txt
)t)`*ka l1i;S(m&J05.2)切换到test2用户,将test2字符串输出到文件/mnt/acltest/test1.txt,测试是否可写LUPA开源社区Afl&y;^"Nr,r^
5.3)切换到test1用户,设定/mnt/acltest/test1.txt的ACL为test2用户可读写,查看此文件的ACLLUPA开源社区Njge2Vi-]
5.4)切换到test2用户,将test2字符串输出到文件/mnt/acltest/test1.txt,测试是否可写LUPA开源社区:G h N`\u})^
LUPA开源社区O#Gfh!giDJ E#R
参考答案:LUPA开源社区.N{&b8R8k
su - test1LUPA开源社区/D{&hX j

Gbk:T4XB;G0echo "test1" > /mnt/acltest/test1.txt
l|l!hsw4B1X.g0LUPA开源社区*fVaR+RC
LUPA开源社区7R ^}/cUQs
su - test2LUPA开源社区 pg2qw4IX+ROg5P

]n Rmh6V0echo "test2" >>/mnt/acltest/test1.txt
~j1a0Su2OC0
(M;@'q)sa0
9h%i!X&|c#e%Q{$Dx0su - test1LUPA开源社区#[`R C(WvqF
LUPA开源社区 YRZS,I4e(I
setfacl -m u:test2:rw,g:test2:r /mnt/acltest/test1.txtLUPA开源社区]&p?#]Cwc+J&AJJ
LUPA开源社区eg`%Xp/[
ls -l /mnt/acltest/test1.txtLUPA开源社区8G]-~4p)cA$XP]
LUPA开源社区2IMe)X4s"zr
getfacl /mnt/acltest/test1.txtLUPA开源社区#Mb E)N6Q)O"s%k@a9s"E

(n [*zO.Y)Gf+I:uHG0LUPA开源社区:rO#V9Xq"@F
su - test2LUPA开源社区KL/XuH$o%^&m"M
LUPA开源社区0G,})N2YiR
cat /mnt/acltest/test1.txtLUPA开源社区 h&P!C$F,gkW*^TS
LUPA开源社区A#i&u|N3| TH
echo  test2>>/mnt/acltest/test1.txt
F,LWf1l p+}+H0
-R]F IF:B4v,o'n0LUPA开源社区F^0]V?h sd
LUPA开源社区tAx7o~'hX6iL
6.1)去掉/mnt/acltest/test1.txt文件的test2组ACL权限,并查看此文件的ACL权限LUPA开源社区X3nmi$Gxh
6.2)去掉/mnt/acltest/test1.txt文件的ACL所有权限,并查看此文件的ACL权限LUPA开源社区~x,K|Us
6.3)覆盖/mnt/acltest/test1.txt文件的ACL权限,重至为本用户可读写,组用户可读,test2用户可以读写,其余权限均关闭LUPA开源社区,f1A%JL2TTW
6.4)最后查看此文件的ACL权限
3~t(U P`0k0LUPA开源社区v4E%QRsSMZ
参考答案:
pR M;R K0nrk fx3N0setfacl -x g:test2 /mnt/acltest/test1.txtLUPA开源社区 d3i3p$~H'S5s/\O
LUPA开源社区Oq E^tp8@1BW5V
getfacl /mnt/acltest/test1.txt
'D;^mqP#xq:}0LUPA开源社区2K6s&xO-n/j m6j]
setfacl -b /mnt/acltest/test1.txtLUPA开源社区/}Sx} I![1@8u_

8k!C4Kc0Y0?[ h(P,U"k0getfacl /mnt/acltest/test1.txt
0r k3h%Pf8H0
e!q$S?)|o0setfacl --set u::rw,u:test2:rw,g::r,o::- /mnt/acltest/test1.txt
~+CBu(Z;[[;^p+y0LUPA开源社区4XRX6p8Vu
getfacl /mnt/acltest/test1.txtLUPA开源社区4|,Ypm_*DbLc*K
LUPA开源社区||,ckk
LUPA开源社区*Df]r(Uw
LUPA开源社区!lOd5P;s7L
7.1)新建/mnt/acltest/testdir目录LUPA开源社区.fW;U-P9I#BV
7.2)重至/mnt/acltest/testdir目录的权限,使其在此目录新建的文件具有g:test2:rwx的ACL权限LUPA开源社区|a)Xk-U[
7.3)新建/mnt/acltest/testdir/testfile文件,查看其ACL权限是否继承LUPA开源社区 q&qFE DV
LUPA开源社区)e-mEi;O
参考答案:
&{2V6Z/pD&isx0mkdir /mnt/acltest/testdirLUPA开源社区2WOj|tr'T

:pk t8YXm[)S1?0setfacl -d --set g:test2:rwx /mnt/acltest/testdirLUPA开源社区O NBO I"T

b] VA"ul&M3c/@'f0touch /mnt/acltest/testdir/testfileLUPA开源社区 MjLnnw in
LUPA开源社区XZOV Uto L/QV
getfacl /mnt/acltest/testdir/testfile
O4F;j B(H0LUPA开源社区,f8r1J D`B;F-Q
LUPA开源社区"NGE h&X*U.M

lr{ c;bT08.1)导出/mnt/acltest/testdir的ACL权限到/tmp/dir1.acl文件LUPA开源社区2Aj Xb } X#S
8.2)查看/tmp/dir1.acl的文件内容
K5B/FG3bRa*\08.3)去掉/mnt/acltest/testdir目录的ACL权限,并查看/mnt/acltest/testdir目录的权限LUPA开源社区E9fU8v/eqH0i2G
8.4)回到根目录,恢复/mnt/acltest/testdir目录在dir.acl中的ACL权限LUPA开源社区B7nC }(@9Pz

0g#Sf*U5x!m(f2HP0参考答案:LUPA开源社区#G-]kVr"Pcj
getfacl -R /mnt/acltest/testdir/ > /tmp/dir1.aclLUPA开源社区3JWgD%CD.h-w
LUPA开源社区I.f k.`;V
cat /tmp/dir1.aclLUPA开源社区 G7J}i2B?
LUPA开源社区,{1}X.j*e+yW
LUPA开源社区K8~a+A2@Fa\(t^
setfacl -R -b /mnt/acltest/testdirLUPA开源社区+F`"Xa2T1g.SL
LUPA开源社区SHNns p@1R
getfacl -R /mnt/acltest/testdir/LUPA开源社区%d9fE2cCQ
LUPA开源社区.c({4o@9Q

^`ql)n]5{0cd /
.g mp"U1E^0setfacl --restore /tmp/dir1.acl LUPA开源社区axp5i\2rIr

/NarS L%}C/Acv0getfacl -R /mnt/acltest/testdir/
7g-QTd{$t3VF0
7tozx2FaH ~0LUPA开源社区3ao _ n2@

5t;VL'Q$pP.@-V'N#r0LUPA开源社区7w*H-xJ v]
9.1)卸载/mnt/acltest目录
#\BJ~ a'e09.2)卸载/dev/loop0设备LUPA开源社区8t\^"C{G
LUPA开源社区||}tz*} ^#M8h
参考答案:LUPA开源社区8bjxp l`tV/R
umount /mnt/acltest/
0edSoq v0LUPA开源社区A:Wz)sPE2A
losetup -d /dev/loop0

TAG: linux 练习题 acl setfacl getfacl losetup LINUX系统

我来说两句

-5 -3 -1 - +1 +3 +5

Open Toolbar