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 %後面跟的是用戶的密碼,最好不加密碼,直接跟用戶名