จะสร้าง 2 แชร์ บรรจุไว้ใน /sys1/sysb/samba แล้วโยงลิงก์ไปที่รูต เป็น /samba เฉย ๆ
สำหรับอ่านอย่างเดียวตั้งชื่อว่า app และ สำหรับอ่านเขียนตั้งชื่อว่า data
Workgroup ตั้งชื่อว่า smbdomain
ตั้งชื่อกลุ่มผู้มีสิทธิ์ใช้งานว่า smbgroup
ผู้คุมระบบชื่อ admin
ผู้ใช้มีชื่อ user1, user2, ... ตามลำดับ
มีพิเศษเพิ่มเติม คือแชร์ที่ทำ ftp ไว้แล้ว จะให้มาแชร์ใน samba ด้วย เพื่อให้ผู้ใช้งานเครือข่ายภายใน สามารถใช้งานได้ง่าย
สร้างโฟลเดอร์ขึ้นมารองรับก่อน
# mkdir -p /sys1/sysb/samba/{app,data}
# ln -sf /sys1/sysb/samba /
# mkdir -p /sys1/sysb/etc/samba
# ln -sf /sys1/sysb/etc/samba /etc
ติดตั้ง samba
# aptitude install samba
Workgroup/Domain Name: <<<--- smbdomain Modify smb.conf to use WINS settings from DHCP? <<<--- No
สร้างกลุ่มของ samba
# groupadd -g 1100 smbgroup
เขียนสคริปต์สำหรับสร้างผู้ใช้และรหัสผ่าน ตั้งชื่อว่า d.samba-adduser เอาไว้ใน /usr/local/sbin
# vi /usr/local/sbin/d.samba-adduser
#!/bin/bash # SAMBA - ADD USER FROM DATAFILE IN FORMAT: # USER:UID:PASSWORD # ... # EXAMPLE: # #USER:UID:PASSWORD # user1:1101:user1-password # user2:1102:user2-password # ... #GLOBAL VAR GROUPNAME="smbgroup" SYSTEMGROUP="lp,dialout,cdrom" #FUNTION function usage { PROG=`basename $0` cat << EOF Script to add user in linux system and samba suit USAGE: $PROG DATAFILE ARGUMENT: DATAFILE : datafile in format:- USER:UID:PASSWORD ... EXAMPLE OF DATAFILE: example1: #USER:UID:PASSWORD user1:1101:user1-password user2:1102:user2-password ... Please run as root. EOF } #BEGIN MAIN DATAFILE=$1 shift if [ ! $DATAFILE ] || [ ! -f $DATAFILE ]; then usage exit 1 fi cat $DATAFILE | grep -v "#" | while read DATA; do if [ $DATA ]; then USERNAME=$(echo $DATA | cut -d: -f1) USERID=$(echo $DATA | cut -d: -f2) PASSWORD=$(echo $DATA | cut -d: -f3) /usr/sbin/useradd -g $GROUPNAME -G $SYSTEMGROUP -u $USERID -m $USERNAME echo "$USERNAME:$PASSWORD" | /usr/sbin/chpasswd (echo "$PASSWORD"; echo "$PASSWORD") | /usr/bin/smbpasswd -a -s $USERNAME echo "User: $USERNAME , uid: $USERID added." fi done
# chmod 700 /usr/local/sbin/d.samba-adduser
สร้างไฟล์ข้อมูลผู้ใช้ตั้งชื่อว่า userdata เอาไว้ใน /etc/samba/secure และตั้งให้คนอื่นอ่านไม่ได้
# mkdir -p /etc/samba/secure
# vi /etc/samba/secure/userdata
# SAMBA USER LIST #USER:UID:PASSWORD admin:1100:admin_password user1:1101:user1_password user2:1102:user2_password user3:1103:user3_password
# chmod -R 700 /etc/samba/secure
สั่งผลิตรายชื่อผู้ใช้
# d.samba-adduser /etc/samba/secure/userdata
ปรับตั้ง samba
# vi /etc/samba/smb.conf
... [global] workgroup = smbdomain security = user unix charset = utf8 display charset = utf8 unix extensions = yes ... [app] comment = Application Dir path = /samba/app valid users = @smbgroup write list = admin public = no create mask = 0750 directory mask = 0750 fake oplocks = yes ;; increase speed writable = no [data] comment = Data Dir path = /samba/data valid users = @smbgroup write list = @smbgroup public = no create mask = 0770 directory mask = 0770 writable = yes [ftp-pub] comment = Public ftp files path = /var/ftp/pub valid users = @smbgroup write list = @smbgroup public = no create mask = 0775 directory mask = 0775 writable = yes [ftp-com] comment = Example.com ftp files path = /var/ftp/example.com valid users = @smbgroup, @comuser write list = @comuser public = no create mask = 0775 directory mask = 0775 writable = yes [ftp-org] comment = Example.org ftp files path = /var/ftp/example.org valid users = @smbgroup, @orguser write list = @smbgroup public = no create mask = 0775 directory mask = 0775 writable = yes ...
เปลี่ยนสิทธ์ของไดเรกทอรี่
# chown -R admin:smbgroup /samba
# chmod -R 0750 /samba/app
# chmod -R 0770 /samba/data
เริ่ม samba ใหม่
# /etc/init.d/samba restart
เสร้จ