標籤:des style blog color io os ar for strong
類比案列:
ABC公司有4個部門:sales+design+develop+ops
現在要分別給這四個部門設立各自獨立的共用資料夾和一個都能讀寫的share檔案夾
考慮到誤刪或者惡意刪除同部門其他員工的檔案,需要用到sticky屬性,sticky一般作用在目錄上,一旦作用了,那麼這麼目錄下的檔案只能由檔案創始人或者root刪除。
開幹!
Step1 建立目錄結構
mkdir -p /ABC/{design,sales,develop,ops,share{design,sales,develop,ops}}
[[email protected] ABC]# tree /ABC//ABC/|-- design|-- develop|-- ops|-- sales`-- share |-- design |-- develop |-- ops `-- sales
Step2 添加賬戶
我們為每個部門建立2個使用者,編寫指令碼user.sh
#/bin/bash#DEPART=(sales design develop ops)for g in ${DEPART[@]};do groupadd $g for i in $(seq 1 2);do useradd -M -s /sbin/nologin -g ${g} ${g}$i donedone
Step3 配置smb.conf
#======================= Global Settings =====================================[global] workgroup = SAMBA server string = Samba Server netbios name = SAMBA# --------------------------- Logging Options ----------------------------- # logs split per machine log file = /var/log/samba/log.%m # max 50KB per log file, then rotate max log size = 50# ----------------------- Standalone Server Options ------------------------ security = user passdb backend = tdbsam load printers = yes cups options = raw#============================ Share Definitions ==============================;[homes]; comment = Home Directory; browseable = no; writeable = no[sales] comment = sales share path = /ABC/sales browsable = yes guest ok = no writable = no write list = @sales[design] comment = design share path = /ABC/design browsable = yes guest ok = no writable = no write list = @design[develop] comment = develop share path = /ABC/develop browsable = yes guest ok = no writable = no write list = @sales[ops] comment = ops share path = /ABC/ops browsable = yes guest ok = no writable = no write list = @sales[share] comment = public share path = /ABC/share browsable = yes guest ok = no writable = yes
Step4.設定許可權
chown :design /ABC/design
chown :sales /ABC/sales
chown :develop /ABC/develop
chown :ops /ABC/ops
chown :design /ABC/share/design
chown :sales /ABC/share/sales
chown :develop /ABC/share/develop
chown :ops /ABC/share/ops
chmod 1770 /ABC/{design,sales,ops,develop}
chmod 775 /ABC/share
chmod 1775 /ABC/share/{design,sales,ops,develop}
最後階段:測試效果
以sales1使用者為例,
相對根目錄:sales1無法進入除了sales和share檔案夾以外的其他目錄。
相對sales目錄:sales1可以建立,刪除自己的檔案。但無法刪除sales2建立的檔案(sticky起作用了)
相對share目錄:sales1可以訪問所有目錄但只在sales目錄內有寫入權限,同樣由於設定了sticky許可權,sales1無法刪除sales2建立的檔案。
至此,完成
linux下samba伺服器的搭建(案列類比)