linux-(ubuntu deepin) samba共享文件设置

本文档详细介绍了如何在Linux(如Deepin20.2或Ubuntu16.04)上配置Samba文件共享,包括安装Samba、创建用户、编辑配置文件、重启服务以及Windows系统下访问共享文件的步骤。此外,还提到了Deepin系统中快速截图的快捷键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

0. 前提

1. 相关介绍

2. 安装使用

3. 注释        

4. deepin快速截图


0. 前提

        windows直接设置共享文件即可,不做过多探索;这里是基于linux系统进行文件共享的

        环境:deepin20.2+ 或 ubuntu16.04+

1. 相关介绍

        samba:security account manager background的简写

2. 安装使用

        0. 先进入root权限下,sudo su执行

        1. apt-get install samba  [deepin默认安装好了]

        2. linux创建用户,[若后面指定用户看,则需要创建,否则是所有人可查阅]

                useradd  gyl    gyl必须为用户名

        3. 添加samba用户(2种方式),输入密码后,若提示不成功,说明新增用户非系统用户

                smbpasswd -a gyl

            或 pdbedit -a gyl

          3.1 查阅samba用户

                pdbedit -Lv

        4. 修改配置文件 /etc/samba/smb.conf

                在最后1行添加如下信息                

[share1]  //share1可以变成任意字符串  
    path = /home/gyl/Share_Work
    //不指定共享用户,则所有人可查阅;指定多个用户 以 空格区分or","自己试一下,好像是 空格 
    #valid users = gyl 
    available = yes  
    browseable = yes  
    writable = yes  
    public = yes

        5. 重启samba服务

                service smbd restart

        6. win10访问        

                查看共享设备ip: ifconfig命令  ->inet信息

                打开文件夹,在上方输入上方 "ip\share1" 弹出账号密码,即可!

3. 注释        

        由于设备有限,环境有限,不能探索更多。推荐 此博客

4. deepin快速截图

        Ctrl + Alt + A 即可,并在选项里面 选择 保存到 剪切板。

      

Linux 系统中无法查看或访问共享文件夹的问题,通常与权限配置、挂载方式以及协议支持有关。以下是详细的解决方法和排查步骤: ### 检查网络连接 确保本地 Linux 系统与目标共享服务器处于同一局域网内,并且能够通过 IP 地址互相通信。可以通过 `ping` 命令测试连通性: ```bash ping <服务器IP> ``` ### 安装必要的客户端工具 对于 SMB/CIFS 协议(如 Windows 或 Samba 共享),需要安装 `cifs-utils` 和 `smbclient` 包: ```bash sudo apt install cifs-utils smbclient # Debian/Ubuntu 系列 sudo dnf install cifs-utils smbclient # Fedora/RHEL 系列 ``` 这些工具提供了对 SMB 协议的支持,并允许执行浏览和挂载操作[^4]。 ### 浏览可用的共享资源 使用 `smbclient` 命令可以列出远程主机上的共享目录: ```bash smbclient -L //<服务器IP> -N ``` 如果返回错误信息,比如 `NT_STATUS_RESOURCE_NAME_NOT_FOUND`,则可能是防火墙阻止了 SMB 协议通信或者服务未启动。请检查服务器端是否正确启用了 Samba 服务并开放了相应端口(通常是 TCP 445)。 ### 创建本地挂载点 创建一个本地目录作为共享文件夹的挂载点: ```bash mkdir /mnt/shared_folder ``` ### 挂载共享文件夹 使用 `mount.cifs` 将共享文件夹挂载到本地系统: ```bash sudo mount -t cifs //<服务器IP>/<共享文件夹名称> /mnt/shared_folder -o username=<用户名>,password=<密码> ``` 若希望实现开机自动挂载,可将该命令添加至 `/etc/fstab` 文件中,格式如下: ``` //<服务器IP>/<共享文件夹名称> /mnt/shared_folder cifs credentials=/path/to/credentials_file,iocharset=utf8,sec=ntlm 0 0 ``` 其中 `credentials` 参数指向包含用户名和密码的文本文件,以避免直接暴露敏感信息在配置文件中[^3]。 ### 解决权限问题 如果成功挂载但无法读取内容,则可能由于文件权限设置不当导致。尝试调整挂载选项中的 `uid` 和 `gid` 参数来指定拥有者: ```bash sudo mount -t cifs //<服务器IP>/<共享文件夹名称> /mnt/shared_folder -o username=<用户名>,password=<密码>,uid=1000,gid=1000 ``` 这里 `uid=1000` 和 `gid=1000` 一般对应普通用户的 ID,具体数值可通过 `id` 命令查询获得。此外,还可以通过 `file_mode` 和 `dir_mode` 设置文件和目录的访问权限[^2]。 ### 防火墙与 SELinux/AppArmor 检查 Linux 系统的防火墙规则是否放行了 SMB 相关流量。对于使用 `firewalld` 的系统,执行以下命令启用 Samba 服务: ```bash sudo firewall-cmd --permanent --add-service=samba sudo firewall-cmd --reload ``` 同时,若启用了 SELinux 或 AppArmor 安全模块,也需确认其策略不会限制对挂载点的访问。必要时可临时禁用这些安全机制进行测试[^2]。 ### NFS 共享的处理方式 如果是基于 NFS 的共享,则应使用 `nfs-utils` 工具集,并通过 `mount` 命令挂载: ```bash sudo mount -t nfs <服务器IP>:<共享路径> /mnt/shared_folder ``` 同样地,可以在 `/etc/fstab` 中添加条目以便持久化挂载。需要注意的是,NFSv4 默认采用更严格的权限控制模型,建议在服务器端明确配置导出选项(如 `/etc/exports`),并在客户端同步更新配置后重新加载服务[^2]。 ### 调整 Deepin 系统特定权限 对于某些发行版如 Deepin,可能存在特殊的权限管理机制影响共享访问效果。此时应仔细审查挂载参数,并考虑使用 `noexec`, `nosuid`, `nodev` 等选项减少潜在冲突。另外,也可以尝试修改共享目录本身的 ACL 权限,确保所有用户具有适当的读写权限[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值