Samba服務器搭建

Samba服務器搭建了下的步驟如下:

它是實現Linux和Windows之間的文件共享;smbd負責服務器共享文件,客戶端權限認證

1.服務安裝

yum  –y  install  samba

2.主配置文件是/etc/samba/sam.conf(testparm測試samba配置語法 有沒有問題)

 interfaces = lo eth0 192.168.1.177/24 192.168.2.178/24 給哪個網段提供samba服務,註釋掉就是給所有用戶提供訪問

hosts allow = 127. 192.168.1. 192.168.2. 允許哪個網段訪問服務器

log file = /var/log/samba/%m.log 每個客戶端的日誌,%m對應客戶端的ip

security = user安全級別實名用戶登錄,服務器端要有對應賬戶,share是匿名用戶登錄

passdb backend = tdbsam 賬戶和密碼存放的數據庫

 

[homes]

        comment = Home Directories

        browseable = no

        writable = yes

;       valid users = %S    #登錄上來的用戶名,登錄上來就共享用戶的家目錄

;       valid users = MYDOMAIN\%S

[test]

                   comment = 共享目錄的註釋

                   path = /tmp    #指定共享路徑

                   writable = yes  #允許客戶端寫權限,能不能寫還要看目錄的權限

 

path = /public          #共享的文件系統上的目錄

comment = test        #對這個共享的描述

public = yes/no       #是否允許匿名訪問

guest ok = yes/no        #同上是否允許匿名訪問

writable = yes/no        #是否允許訪問(匿名和實名)者可寫。當值爲no時,匿名用戶不能寫,可寫的用戶可以用write list定義

write list = username     #+groupname或@groupname承上,上面如果拒絕寫,該字段定義可寫的用戶和用戶組

browseable = yes/no       #共享名稱是否可以被瀏覽到

read only = yes/no        #是否可讀

read list = username       #+groupname或@groupname

valid users = 允許訪問該共享的用戶

invalid users = 不允許訪問該共享的用戶或者組

 

重啓服務/etc/init.d/smb  restart (service  smb  restart)

查看服務有沒有開啓:netstat  -tlunp

 

PS:登陸需要前先添加samba賬戶(和系統密碼不同)

         要添加的samba賬戶必須要存在與/etc/passwd文件中

         命令:pdbedit  -L          查看數據庫中賬戶信息(查看添加到samba的用戶列表)

         pdbedit

         -a      添加用戶

         -r      修改用戶信息

         -x     刪除賬戶

         -u username    指定要操作的用戶名

         例:pdbedit –a  -u  tom

修改samba賬號密碼

         smbpasswd username

 

?共享資源只對某個用戶可見

環境設置:

1、當前的安全級別即 security字段定義爲user

2、將browseable = yes 改爲no,意思不讓所有人看到這個共享資源名稱

處理過程:

1、首先在配置文件中找到那個特殊的共享資源

2、然後編輯配置文件,在全局添加:

config file = /etc/samba/smb.conf.%U  -->保存退出,給某個用戶單獨設置一個配置文件

保存配置文件並退出

3、爲該特殊用戶添加相應的配置文件

cd /etc/samba

cp smb.conf smb.conf.tom

4、編輯該配置文件

vim smb.conf.tom

browseable = no 改爲yes

5、客戶端驗證即可

smb.conf內常見變量功能

%S 取代當前共享的名稱

%u 代表用戶名稱

%U 代表當前登陸用戶的用戶名稱

 

 

**讓用戶修改samba密碼的同時修改用戶自己的用戶密碼,只需要一個密碼

全局配置下面加下面三行

[global]

        unix password sync = yes

        passwd program = /usr/bin/passwd %u

        pam password change = yes

只能用戶自己修改,root修改的密碼不行

環境:     系統和samba都擁有Centos這個賬戶

          Centos的系統密碼是123;它的samba賬戶的密碼是1234

實驗目的:驗證用戶修改自己的samba賬戶密碼的同時修改其系統的賬戶密碼

實驗過程:將上述三項加入到samba配置文件的global設置中

         重啓samba服務

         從終端su到centos用戶家目錄(模擬centos登陸到系統)

         執行命令smbpasswd【回車】

         輸入之前該賬戶的samba密碼,即1234

         輸入兩次該賬戶的新密碼

         系統提示修改密碼成功----此密碼即爲該用戶的samba和系統登陸密碼       

3.      windows登錄samba服務器

\\192.168.1.254 前面是反斜槓

重新登錄的話需要前清緩存:cmd下輸入:net  use  *  /del清楚遠程連接的緩存

稍微等一會再重新登錄

 

4.      linux登錄samba服務器

yum search samba查詢包

先安裝rpm –ivh  samba-client和samba-common這兩個包

UNIX-like客戶端查看共享

smbclient -L serverip/hostname [-U username%passwd]( –u指定用戶登錄)

掛載到本地:mount //192.168.1.254/test  /mnt

例:smbclient –L  //192.168.1.254

mount //192.168.1.254/test  /mnt

unix-like客戶端訪問共享之mount.cifs

[root@localhost ~]# mount //192.168.1.92/tom  /mnt -o username=tom

Password:

實名用戶查看共享資源:

smbclient –L  //192.168.1.254  -U tom%1    %後面跟的是用戶的密碼,最好不加密碼,直接跟用戶名



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章