歡迎您光臨本站 註冊首頁

Linux samba 文件共享

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

Linux samba 文件共享

學校要求建立一個軟體共享平台.需求如下:普通用戶可以直接訪問192.168.100.100,而不用輸入用戶密碼,許可權是只讀;而管理員登陸后可以對文件夾,文件進行管理操作.

有任何不足之處請高手指點.

一:掛載硬碟並分區

1:掛載好硬碟后輸入fdisk –l 查看磁碟信息


2:可以看到除了本地的sda外,還多了一個sdb的就是我們剛才掛上去的盤

然後用fdisk /dev/sdb進行分區:


3:進入fdisk命令,輸入h可以看到該命令的幫助,按n進行分區


4:這裡輸入e即分為邏輯分區,按p即分為主分區,我們要將這塊盤分為主分區即輸入p


5:到這裡輸入該主分區為第幾個主分區,由於是新盤輸入1來分第一個主分區


6:First Cylinder是選擇該分區的起始磁碟數,這裡可自定義也可不做選擇,默認是1,如無特殊需求強烈建議選擇默認,也就是1來分區(直接按回車)


7:接下來是定義該分區的大小,如果按默認(按回車)即是使用全部可用存儲額,也可以是用M或m單位結尾的數字(大寫M是大B的意思,如果輸入1M實際上是X8也就是8m的空間),這裡我們先分一個1G的空間,輸入 1024m


8:之後輸入w寫入分區,等待結束皆可


9:再輸入fdisk -l 可以看到我們剛才分的一個分區,之後用mkfs -t ext3 -c /dev/sdb1進行格式化,如有多個分區可把sdb1改成sdb2 sdb3...以此類推,具體可用fdisk -l看到每個分區的名字


10:上圖藍色部分是寫硬碟卷標的,如不想要卷標可直接按回車,現在分區好了我們用mount 掛載一下該分區即可使用了,這裡我把它掛載到/home/test目錄下,也可以自建一個 目錄掛載




11: 來看一下分區大小是否和預定的一樣,使用df -TH命令看一下當前掛載的分區和大小,看到剛分的分區了吧




12:如果想每次系統重啟都能自動掛載該分區可修改/etc/fstab文件,在加一段 /dev/sdb1 /www ext3 defaults 1 2 (格式說明:/dev/sdb1 代表哪個分區 ext3是該分區的格式 defaults 是掛載時所要設定的參數(只讀,讀寫,啟用quota等),輸入defaults包括的參數有(rw、dev、exec、auto、nouser、async) ,1是使用dump是否要記錄,0是不要. 2是開機時檢查的順序,是boot系統文件就為1,其他文件系統都為2,如不要檢查就為0)







二:samba伺服器的配置

1:安裝samba 服務

Rpm –ivh perl-Convert-ASN1-0.20-1.1.noarch.rpm

Rpm –ivh samba-3.0.33-3.28.el5.i386.rpm

Rpm –ivh samba-client-3.0.33-3.28.el5.i386.rpm

Rpm –ivh samba-common-3.0.33-3.28.el5.i386.rpm

Service smbd restart

2: 創建samba用戶資料庫(samba用戶賬戶必須有對應的系統用戶賬戶存在)

usreadd test

usreadd test1

smbpasswd -a test

smbpasswd -a test1

-h 顯示samba命令幫助信息

-a 添加指定的samba用戶

-d 禁用指定的samba用戶

-e 啟用指定的samba用戶

-x 刪除指定的samba用戶

基於Windows安全考慮.samba服務提供了用戶名映射功能,(將不同的用戶名對應為同一個samba賬戶,起到隱藏對應的系統用戶賬戶的效果,減少密碼窮舉攻擊的風險)

/etc/samba/smbusers

# vi /etc/samba/smbusers

Test=smbadmin

3:samba主服務的配置

sanba思想:在samba的主目錄下建立一個或多個文件夾,其中這些二級文件夾是公布的,許可權是只讀,而管理的話則使用上級目錄進行管理.

配置文件:vim /etc/samba/smb.conf

[global]

null password =yes

//匿名訪問不用輸入賬戶密碼

bind interfaces only =yes

map to guest =Bad Password

encrypt password =yes

smb passwd file =/etc/samba/smbpasswd

#client code page 936

dos charset = CP936

unix charset=CP936

stat cache size 128

server string =test server

workgroup=WORKGROUP

#security =share

security=user

os level =30

auto services=global

host msdfs =yes

max disk size =0

create mask =0775

directory mask =0755

load printers =no

template shell =/bin/false

winbind user default domain =no

username map=/etc/samba/smbusers //賬戶映射

[cduestc]

commet= public share with test files //一個名字,可隨便取

path=/home/test/cduestc //設置要共享的目錄路徑

public=yes

//設置為匿名訪問

read only =yes //許可權只讀

[test]

valid users =test,test1 //可管理賬戶

path=/home/test //共享目錄的上層路徑

browseable = no //不可瀏覽

writable =yes

//可寫

write list =test,test1 //管理許可權用戶列表

sync always =yes //即使刷新

directory mode =0755 //管理員建立目錄的許可權

create mode =0755 //管理員建立文件的許可權

保存后重啟服務.

4:講smb服務設為開機啟動

Vim /etc/rc.d/rc.local




三:配置http訪問

1:安裝httpd服務

Rpm –ivh httpd-2.2.3-43.el5.i386.rpm

Rpm –ivh httpd-manual-2.2.3-43.el5.i386.rpm

2:配置httpd

vi m /etc/httpd/conf.d/welcome.conf 把文件的東西都註釋掉




vim /etc/httpd/conf/httpd.conf

DocumentRoot "/home/test"

<Directory "/home/test">

四:使用說明

samba服務以開機自動啟動,掛載點開機自動掛載

1: 匿名訪問

許可權:只讀

ip:192.168.100.100

可直接訪問文件夾:test more

(註:訪問到的是test/cduestc,test/more)

2:管理員管理文件

許可權:可讀可寫可刪除

在映射驅動器里輸入:\192.168.100.100tes

賬戶有兩個:

test test

test1 test1

管理員不慎把cduestc 或者more文件夾刪除后請重建相同名稱的文件夾(並修改許可權為777),

否則匿名將無法訪問,管理員無法上傳刪除此文件夾文件.

如要添加文件夾及重命名,請到vi /etc/samba/smb.conf下添加如下配置:

[cduestc] //匿名訪問時顯示的文件夾名

commet= public share with test files //註釋

path=/home/test/cduestc //路徑

public=yes //是否公開或允許匿名訪問,yes為允許匿名

read only =yes //設為只讀

然後把新建立的文件夾的許可權改為777(chmod 777 [folder name])這樣就能正常讀寫了.

效果圖:
















本文出自 「無氧森林」 博客,請務必保留此出處http://milinsanmu.blog.51cto.com/1336805/471316


[火星人 ] Linux samba 文件共享已經有458次圍觀

http://coctec.com/docs/linux/show-post-48053.html