每次平時或到學期末要收學生的作品時,總有些困擾,無法很方便收到學生的作品,用來打分數,對於這一項的要求是:
1. 每個學生有自己存放的目錄
2. 學生不能切換到其他人的目錄
3. 老師可以切換到所有的目錄,擁有管理的權限
底下利用 Linux+ACL+Samba 來完成[@more@]1. 先從校務行政系統中,取得學生的基本資料,包括:班級、座號、姓名、學號
# cat Class61.lst
六忠 01 莊☆★ s0950171
六忠 02 甘★★ s0950015
六忠 03 李☆☆ s0950027
2. 修改 /home 的掛載參數
# grep /home /etc/fstab
UUID=f1f3d674-6bdd-4132-bc9f-bf6c3f8ac3bc /home ext4 defaults,usrquota,acl,user_xattr 1 2
3. 重新掛載 /home
# mount -v -o remount,rw,usrquota,acl,user_xattr /home
4. 建立 Script 檔
# vim mkuserhomeworkdir.awk
# 建立目錄
{print “/bin/mkdir -m 700 -p /home/homework/”$1″/”$2″_”$3″” }
# 更改檔案目錄的所屬擁有者及群組
{print “chown -R “$4″:s0950 /home/homework/”$1″/”$2″_”$3″” }
5. 測試一下
# awk -f mkuserhomeworkdir.awk Class61.lst | more
/bin/mkdir -m 700 -p /home/homework/六忠/01_莊☆★
chown -R s0950171:s0950 /home/homework/六忠/01_莊☆★
/bin/mkdir -m 700 -p /home/homework/六忠/02_甘★★
chown -R s0950015:s0950 /home/homework/六忠/02_甘★★
/bin/mkdir -m 700 -p /home/homework/六忠/03_李☆☆
chown -R s0950507:s0950 /home/homework/六忠/03_李☆☆
6. 動工
# awk -f mkuserhomeworkdir.awk Class61.lst | sh
7. 讓老師擁有管理權限 teacher 是老師的帳號
# setfacl -R -m user:teacher:rwx /home/homework/六忠