UBUNTU 下用samba共享目錄


一. samba的安裝:

   sudo apt-get install samba

   sudo apt-get install cifs-utils //很多博客寫的是smbfs,這個軟件包已經失效了,用cifs-utils軟件包替代后,也成功共享了

 

二. 選擇要共享的目錄(或創建目錄):

    mkdir /home/工作目錄/myshare
    sudo chmod 777 /home/工作目錄/myshare

 

或我用的是我整個“工作目錄”共享的,工作目錄一般是你的登錄用戶名。

 

三. 創建Samba配置文件:

1. 備份現有的配置文件

    sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

2. 修改現配置文件

    sudo vim /etc/samba/smb.conf

修改方法如下:

共享模式

(1) share模式就是,所有的用戶都可以直接訪問不需要用戶名和密碼,無需samba用戶就可以訪問服務器

找到[Global],添加或修改security

[Global]

  security = share 

在smb.conf最后添加

[share]

comment = smb share test

path = /home/工作目錄/myshare
available = yes
browseable = yes
public = yes
writable = yes

user模式

user方式共享則需以samba用戶和密碼才能訪問.

把 security = share 將它改成 security = user 

在smb.conf最后添加

[share]

comment = smb share test
path = /home/linux/share
available = yes
browseable = yes
public = no

valid users=chen  //允許chen用戶登錄

write list=chen   //只允許chen用戶寫入

說明:writable=yes允許寫入,當我們需要限制只有被允許用戶有寫入權限時,這條命令就要刪除,因為該條命令權限大於你對單個用戶的限制。

四. 創建samba帳戶

      sudo touch /etc/samba/smbpasswd

      sudo smbpasswd -a smbuser

然后會要求你輸入samba帳戶的密碼, 需要提前創建smbuser用戶名(這個是我專門用來共享的用戶名),否則會失敗。

創建smb專門共享賬戶smbuser, 這個不是必須的,也可以用已存在的賬戶,smbuser的添加方法:

sudo groupadd smbuser -g 6000

sudo useradd smbuser -u 6000 -g 6000 -s /sbin/nologin -d /dev/null

 

測試共享用戶:

smbclient -L //localhost/myshare

 

  五. 重啟samba服務器

    sudo /etc/init.d/smbd restart 或sudo service smbd restart

然后就在window 我的電腦中用\\x.x.x.x\myshare訪問了

六. 創建映射盤符

subst z: \\x.x.x.x\myshare

就可以和本地文件一樣訪問了。

 

samba的相關操作命令

(1)  查看用戶

sudo pdbedit -L

(2) 修改密碼

sudo smbpasswd user

(3) 刪除用戶

sudo smbpasswd -x user

 

總結一下常見的samba配置及說明:

[share] # 該共享的共享名

        comment = smb share test # 該共享的備注

        path = /home/share # 共享路徑

        allow hosts = host(subnet) # 設置該Samba服務器允許的工作組或者域

        deny hosts = host(subnet) # 設置該Samba服務器拒絕的工作組或者域

        available = yes|no # 設置該共享目錄是否可用

        browseable = yes|no # 設置該共享目錄是否可顯示

        writable = yes|no # 指定了這個目錄缺省是否可寫,也可以用readonly = no來設置可寫

        public = yes|no # 指明該共享資源是否能給游客帳號訪問,guest ok = yes其實和public = yes是一樣的

        user = user, @group # user設置所有可能使用該共享資源的用戶,也可以用@group代表group這個組的所有成員,不同的項目之間用空格或者逗號隔開

        valid users = user, @group # 指定能夠使用該共享資源的用戶和組

        invalid users = user, @group # 指定不能夠使用該共享資源的用戶和組

        read list = user, @group # 指定只能讀取該共享資源的用戶和組

        write list = user, @group # 指定能讀取和寫該共享資源的用戶和組

        admin list = user, @group # 指定能管理該共享資源(包括讀寫和權限賦予等)的用戶和組

        hide dot files = yes|no # 指明是否像UNIX那樣隱藏以“.”號開頭的文件

        create mode = 0755 # 指明新建立的文件的屬性,一般是0755

        directory mode = 0755 # 指明新建立的目錄的屬性,一般是0755

        sync always = yes|no # 指明對該共享資源進行寫操作后是否進行同步操作

        short preserve case = yes|no # 指明是否區分文件名大小寫

        preserve case = yes|no # 指明是否保持大小寫

        case sensitive = yes|no # 指明是否對大小寫敏感,一般選no,不然可能引起錯誤

        mangle case = yes|no # 指明混合大小寫

        default case = upper|lower # 指明缺省的文件名是全部大寫還是小寫

        force user = testuser # 強制把建立文件的屬主是誰。如果我有一個目錄,讓guest可以寫,那么guest就可以刪除,如果我用force user= testuser強制建立文件的屬主是testuser,同時限制create mask = 0755,這樣guest就不能刪除了

        wide links = yes|no # 指明是否允許共享外符號連接,比如共享資源里面有個連接指向非共享資源里面的文件或者目錄,如果設置wide links = no將使該連接不可用

        max connections = 100 # 設定最大同時連接數

        delete readonly = yes|no # 指明能否刪除共享資源里面已經被定義為只讀的文件。

參考:

https://www.cnblogs.com/adong7639/p/7832046.html

https://www.cnblogs.com/thinkingandworkinghard/p/7803178.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM