samba

发布时间 2023-12-24 12:33:30作者: qianyuzz

samba安装

yum install -y  samba

创建共享资源用户

创建一个系统用户,之后添加到 samba 数据库中,这个数据库添加要求用户存在当前系统中。

# 在Samba服务器上新建一个专用访问Samba服务账户

useradd  -s /sbin/nologin  smbuser

创建共享资源文件目录

# 创建共享资源目录
mkdir  /opt/share/

# 将文件归属设置为samba服务器中存在的专用来访问共享资源的用户
chown -R smbuser.smbuser /opt/share/

配置文件

vim /etc/samba/smb.conf

内如如下:

[global]
        # 设定 Samba Server 所要加入的工作组或者域。
        workgroup = SAMBA

        # 设置用户访问Samba Server的验证方式
        security = user

        # passdb backend就是用户后台的意思。
        passdb backend = tdbsam

        #设置Samba共享打印机的类型
        printing = cups

        #设置共享打印机的配置文件。
        printcap name = cups

        # 设置是否在启动Samba时就共享打印机
        load printers = yes

        # 共享打印机的属性为原来的
        cups options = raw

[homes]
        # comment是对该共享的描述,可以是任意字符串。
        comment = Home Directories

        # 允许访问该共享的用户
        valid users = %S, %D%w%S

        # 用来指定该共享是否可以浏览,yes为可以,no为不可以
        browseable = No
        # 设置是否只读
        read only = No
        # 
        inherit acls = Yes

[printers]  
        # 提供共享打印的参数设置

        #共享描述
        comment = All Printers

        # 共享的目录
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

[print$]
        # 共享打印机驱动参数的设置
        #共享描述
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = @printadmin root
        force group = @printadmin
        create mask = 0664
        directory mask = 0775

[test]
        # 自定义的共享设置

        #共享描述
        comment = smbuser guest share 

        #共享目录-也就是前面创建的共享目录
        path = /opt/share

        #允许guest用户访问
        public = yes    

        #允许smbuser 在共享目录下写入
        writable = yes 

         #默认创建目录权限 rwxrwxr_x
        directory mask = 0775  

        #默认创建文件权限 rwxrwxr_x
        create mask = 0775 

        #允许访问该共享的用户
        valid users = smbuser,root  

        #可写入共享的用户列表
        write list = smbuser,root  

        #该指定共享目录可浏览
        browseable = yes   

        #该指定共享资源可使用
        available = yes     

        # 设置共享目录的管理员,具有完全权限-一般如非必要不要开启管理员权限
        admin users = smbuser

添加 samba 用户

Linux的用户密码和samba的用户密码并不是一码子事,只是samba的用户必须是Linux的用户,因此需要将smbuser这个账户添加到samba的用户数据库,否则无法访问共享目录

[root@localhost ~]# smbpasswd -a smbuser
New SMB password:
Retype new SMB password:
Added user smbuser.

重启一下:

systemctl restart nmb
systemctl restart smb

连接

在 windows 上连接测试: