【linux】Debian访问Debian上的共享目录

要在Debian系统上访问共享目录,通常意味着要访问通过网络共享的文件夹,比如通过SMB/CIFS(Server Message Block/Common Internet File System)协议共享的Windows共享文件夹。以下是访问共享目录的步骤:

1. 安装必要的软件包:

需要安装`smbclient`(一个可以在命令行中使用的SMB/CIFS客户端程序),如果想要把远程共享挂载到本地文件系统,还需要安装`cifs-utils`包。

bash 复制代码
   sudo apt update
   sudo apt install smbclient cifs-utils

2. 列出可用的共享:

使用`smbclient`可以列出给定服务器上的共享资源。

bash 复制代码
   smbclient -L //servername -U username

替换`servername`为共享主机的名称或IP地址,替换`username`为访问共享目录所需的用户名。

3. 创建一个挂载点:

如果打算把远程共享挂载到本地文件系统,需要一个本地目录来作为挂载点。

bash 复制代码
   mkdir ~/sharename

将`sharename`替换为想要的本地目录名。

4. 挂载共享目录:

使用下面的命令,可以挂载共享到上一步创建的本地目录。

bash 复制代码
   sudo mount -t cifs //servername/sharename ~/sharename -o user=username

替换`servername`为共享主机的名称或IP地址,`sharename`为远程共享的名称,以及`username`为用户名。系统会提示你输入密码。

为了永久挂载,编辑`/etc/fstab`文件并添加一条类似的记录。使用`nano`或你喜欢的编辑器:

bash 复制代码
   sudo nano /etc/fstab

并添加一行:

bash 复制代码
   //servername/sharename  /mnt/sharename  cifs  username=username,password=yourpassword,iocharset=utf8,sec=ntlm  0  0

注意:为了安全起见,不建议在`fstab`文件中直接存储密码。相反,可以使用凭据文件来存储这些信息。

5. 访问挂载的共享:

一旦挂载,可以像访问普通文件夹一样访问挂载的共享目录:

bash 复制代码
   cd ~/sharename
   ls

请记得,不同的网络共享设置可能会要求额外的挂载选项,例如工作组名称、不同的文件和目录权限等。可以通过查阅`mount.cifs`的手册获取这些信息:

bash 复制代码
man mount.cifs

确保网络共享和Debian系统在相同的网络中,并且有足够的权限来访问这个共享。

文心一言

要在Debian系统上访问另一个Debian系统上的共享目录,你可以使用NFS(网络文件系统)或Samba(SMB/CIFS协议的实现)来实现。下面我将分别介绍这两种方法的基本步骤。

使用NFS访问共享目录:

在提供共享目录的Debian系统上安装NFS服务器软件包:

bash 复制代码
sudo apt update  
sudo apt install nfs-kernel-server

创建一个要共享的目录,并设置适当的权限:

bash 复制代码
sudo mkdir /path/to/shared_directory  
sudo chmod 777 /path/to/shared_directory

注意:为了简化说明,这里将共享目录的权限设置为777,但在实际环境中,你应该根据需要设置更严格的权限。

  1. 编辑NFS服务器的配置文件/etc/exports,添加共享目录的访问权限和选项:
bash 复制代码
sudo nano /etc/exports

在文件的末尾添加以下内容(你可以根据需要进行修改):

bash 复制代码
/path/to/shared_directory *(rw,sync,no_subtree_check)

这里,*表示允许所有客户端访问共享目录,rw表示读写权限,sync表示同步写入,no_subtree_check表示禁用子树检查。

  1. 保存并关闭文件后,重新加载NFS配置:
bash 复制代码
sudo exportfs -ra

在客户端Debian系统上安装NFS客户端软件包(如果尚未安装):

bash 复制代码
sudo apt update  
sudo apt install nfs-common

在客户端上挂载共享目录到本地文件系统:

bash 复制代码
sudo mount -t nfs 服务器IP:/path/to/shared_directory /本地挂载点

将服务器IP替换为提供共享目录的Debian系统的IP地址,/本地挂载点替换为客户端上的目录路径。

现在,你就可以在客户端上通过本地挂载点访问共享目录了。

使用Samba访问共享目录:

在提供共享目录的Debian系统上安装Samba服务器软件包:

bash 复制代码
sudo apt update  
sudo apt install samba

创建一个要共享的目录,并设置适当的权限(如果尚未创建):

bash 复制代码
sudo mkdir /path/to/shared_directory  
sudo chmod 777 /path/to/shared_directory

同样地,为了简化说明,这里将共享目录的权限设置为777,但在实际环境中应设置更严格的权限。

  1. 编辑Samba配置文件/etc/samba/smb.conf,添加共享设置:
bash 复制代码
sudo nano /etc/samba/smb.conf

在文件的末尾添加类似以下内容(你可以根据需要进行修改):

bash 复制代码
[共享名称]  
comment = 共享目录说明  
path = /path/to/shared_directory  
browseable = yes  
writable = yes  
valid users = 用户名

将共享名称替换为你想要的共享名称,/path/to/shared_directory替换为实际的共享目录路径,用户名替换为允许访问共享目录的Samba用户名。你可以根据需要设置其他选项。

  1. 保存并关闭文件后,重启Samba服务:
bash 复制代码
sudo systemctl restart smbd.service nmbd.service

在客户端Debian系统上安装Samba客户端软件包(如果尚未安装):

对于大多数Debian系统,Samba客户端软件包已经默认安装。如果没有安装,你可以使用以下命令进行安装:

bash 复制代码
sudo apt update  
sudo apt install smbclient

但是,为了挂载Samba共享,你实际上需要的是cifs-utils软件包:

bash 复制代码
sudo apt install cifs-utils

在客户端上创建一个用于挂载Samba共享的目录:

bash 复制代码
sudo mkdir /本地挂载点

将/本地挂载点替换为客户端上的目录路径。

  1. 在客户端上挂载Samba共享到本地文件系统:

对于临时挂载,你可以使用以下命令:

bash 复制代码
sudo mount -t cifs //服务器IP/共享名称 /本地挂载点 -o username=用户名,password=密码

将服务器IP替换为提供Samba共享的Debian系统的IP地址,共享名称替换为在Samba配置文件中定义的共享名称,用户名和密码替换为有效的Samba凭据。如果你想要永久挂载,可以将此命令添加到/etc/fstab文件中。但请注意,将密码直接存储在/etc/fstab中并不安全。作为替代方案,你可以使用credentials文件来安全地存储凭据。为此,请创建一个包含用户名和密码的文件(例如`/etc/samba/credentials

相关推荐
2301_819287121 小时前
ce第六次作业
linux·运维·服务器·网络
CIb0la1 小时前
GitLab 停止为中国区用户提供 GitLab.com 账号服务
运维·网络·程序人生
武汉联从信息2 小时前
如何使用linux日志管理工具来管理oracle osb服务器日志文件?
linux·运维·服务器
天天进步20152 小时前
STUN服务器实现NAT穿透
运维·服务器
PieroPc2 小时前
Python 自动化 打开网站 填表登陆 例子
运维·python·自动化
冷曦_sole3 小时前
linux-19 根文件系统(一)
linux·运维·服务器
AI大模型学徒3 小时前
Linux(二)_清理空间
linux·运维·服务器
tntlbb3 小时前
Ubuntu20.4 VPN+Docker代理配置
运维·ubuntu·docker·容器
Linux运维技术栈5 小时前
Ansible(自动化运维)环境搭建及ansible-vault加密配置
运维·自动化·ansible
Bessssss6 小时前
centos权限大集合,覆盖多种权限类型,解惑权限后有“. + t s”问题!
linux·运维·centos