2014IT鐵人賽-30-ACL
今天一樣使用 EasyCloud 雲端簡單龍的帳戶, 那就登入 https://gemini.nchc.org.tw/ 來開始練習openSUSE 基礎指令吧.
今天是鐵人賽的最後一天, 我們用 acl ( Access Control List ) 來達陣.
筆記部份:
ACL (Access Control List)
傳統的檔案權限針對的對象
倘若檔案或是資料夾的權限, 指定的方式超過三個以上
此時可以利用ACL 指定特定使用者/群組 所可以擁有的權限,來彌補傳統權限的不足
ACL(Access Control List)
在file system 上面必須設定 acl的選項
可以使用 setfacl 設定ACL
可以使用 getfacl 觀察ACL設定
-rwxrw-r--+ 1 root users 0 2008-06-21 11:27 test
當設定ACL, 中間的 4-6的bit 就非原本的群組權限, 而是acl mask
開始練習吧
Lab: Access Control List <ACL>
#mount | grep sda <請觀察資訊, 是否有acl>
#mkdir /acl
#touch /acl/test
#echo "echo 1234" >> /acl/test
#chmod 700 /acl/test
#ls -l /acl
#su - max -c "cat /acl/test" <以使用者max身份查看檔案>失敗
#su - john -c "cat /acl/test" <以使用者john身份查看檔案>失敗
#getfacl /acl/test <查看test資訊>
#setfacl -m u:max:r /acl/test <設定acl, -m 編輯, FIELD:NAME:PERM>
#ls -l /acl
#getfacl /acl/test <查看test資訊>
#su - max -c "cat /acl/test" <以使用者max身份查看檔案>成功
#su - john -c "cat /acl/test" <以使用者john身份查看檔案>失敗
#setfacl -x u:max /acl/test <設定acl, -x 移除, FIELD:NAME>
#ls -l /acl
#getfacl /acl/test
#setfacl -b /acl/test <移除所有的ACL設定>
#ls -l /acl
-------------------------------------------------------------------------
練習 acl mask
#ls -l /acl
#chgrp users /acl/test
#chmod 764 /acl/test
#ls -l /acl <請觀察資訊>
#su - max -c "cat /acl/test" <以使用者max身份查看檔案>成功
#su - john -c "cat /acl/test" <以使用者john身份查看檔案>成功
#su - max -c "/acl/test" <以使用者max身份執行檔案>失敗
#su - john -c "/acl/test" <以使用者john身份執行檔案>失敗
#ls -l /acl
#setfacl -m user:john:rwx /acl/test
#ls -l /acl <請觀察資訊,此時顯示的是ACL MASK>
#su - max -c "/acl/test" <以使用者max身份執行檔案>失敗
#su - john -c "/acl/test" <以使用者john身份執行檔案>成功
#getfacl /acl/test
#setfacl -m mask::r-- /acl/test <設定acl mask為r-->
#getfacl /acl/test
#su - john -c "/acl/test" <以使用者john身份執行檔案失敗,因受到acl mask 的限制>
-------------------------------------------------------------------------
練習 default acl
#mkdir /acl/dir
#setfacl -d -m u:john:rwx /acl/dir/ <設定default acl>
#getfacl /acl/dir/ <請觀察資訊>
#touch /acl/dir/test
#ls -l /acl/dir/ <請觀察資訊>
#getfacl /acl/dir/test <請觀察資訊>
#mkdir /acl/dir/john <請觀察資訊>
#ls -l /acl/dir/ <請觀察資訊>
#getfacl /acl/dir/john/ <請觀察資訊>
Fun with Day 30 ~