all-in-one 8 (samba)
ทำ file server ใช้ samba
จะสร้าง 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
เสร้จ
- Printer-friendly version
- Log in or register to post comments
- 3753 reads







Recent comments