加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

在Windows中使用Linux时Linux与Windows的资源交互

发布时间:2016-01-21 03:28:28 所属栏目:Linux 来源:网络整理
导读:每一年,Linux 新闻记者和爱好者都会公开讨论,下一年是否会成为 Linux 桌面 之年。尽管购买一台已在运行 Linux 的新机器或将现有的 Windows 系统迁移到 Linux

可将 Windows 共享手动挂载在系统上的目录上,方法是以 root 用户身份使用 mount 命令或使用 sudo 应用程序,如 清单 3 中所示。mount 命令的 -t 选项及其 cifs 参数指定您挂载的文件系统类型,而且在此情况下,会导致一般性的 mount 命令调用 /bin/mount.cifs 命令。使用您系统的 package-management 命令安装 cifs-utils 程序包,该程序包是 Samba 套件的一部分。

清单 3. 挂载并列出手动挂载的 Windows 共享的内容

# mkdir /mnt/PUBLIC
# mount -t cifs //winserver2008/Public /mnt/PUBLIC
Password:
# ls -l /mnt/PUBLIC
total 1
drwxr-xr-x. 1 root root   0 Jan 27 16:19 Desktop
-rwxr-xr-x. 1 root root 174 Jan 19  2008 desktop.ini
drwxr-xr-x. 1 root root   0 Jan 19  2008 Documents
drwxr-xr-x. 1 root root   0 Jan 27 23:38 Downloads
drwxr-xr-x. 1 root root   0 Jan 19  2008 Favorites
drwxr-xr-x. 1 root root   0 Jan 19  2008 Music
drwxr-xr-x. 1 root root   0 Jan 19  2008 Pictures
drwxr-xr-x. 1 root root   0 Jan 27 23:37 Software
drwxr-xr-x. 1 root root   0 Jan 19  2008 Videos

清单 3 中的示例 mount 命令使远程共享可通过 /mnt/PUBLIC 目录使用,但具有一些缺点:

简单地将此命令添加到 /etc/fstab 文件中无法自动挂载该共享,因为 您在执行 mount 命令后会被提示输入密码。如果尚未确定要用于验证的特定用户,就必须为用于执行 su 或 sudo 命令的 用户提供远程 Windows 密码。

以 root 用户身份执行 mount 命令,将共享挂载为 root 用户所有的资源。如果仅希望 读取该共享中的文件,尽管可通过此方式挂载共享,但您只能以 root 用户身份向挂载的共享写入数据,这通常很不方便。

要解决这些问题,可在执行 mount 命令时指定特殊的 CIFS 相关选项,以挂载一个 CIFS 共享。这些选项包括:

username=<login> - 指定将用于对远程共享进行验证的用户。可将此选项缩写为 user=。

password=<login> - 指定将对远程共享进行验证的用户(您将该用户指定为将使用的用户)的密码。

uid=<UID> - 指定将拥有所挂载共享中的文件和目录的用户 ID (UID)。如果在 Linux 桌面上使用密码文件身份 验证方式,则可使用 grep 命令在系统的密码文件中搜索您的登录名,以找到您的 UID,如以下示例中所示。

$ grep wvh /etc/passwd

wvh:x:500:500:William von Hagen:/home/wvh:/bin/bash

UID 是密码文件条目中的第三 个字段(在本例中为 efficiently500)。

gid=<GID> - 指定将拥有所挂载共享中的文件和目录的用户的组 ID (GID)。如果在 Linux 桌面上使用密码文件身份验证方式,则可使用 grep 命令在系统的密码文件中搜索您的登录名,以找 到您的 GID。GID 是密码文件条目中的第四个字段,如上面的示例中所示。

下面给出了一个使用这些选项的示例 mount 命令,出于格式化用途将该命令分为两行:

# mount -t cifs -o username=wvh,password=MYPASSWORD,uid=500,gid=500

//win2008server/Public /mnt/PUBLIC

可从 CLI 使用一条类似这样的命令或向 /etc/fstab 文件添加一个类似 条目,以在启动系统时自动挂载该文件系统。以下是与前面的 mount 等效的 /etc/fstab 文件条目:

//win2008server/Public /mnt/PUBLIC cifs

username=wvh,password=MYPASSWORD,uid=500,gid=500 0 0

此命令将在 /etc/fstab 文件中显示为一行,但在本 例中出于格式化用途而分为多行。遗憾的是,此命令具有明显的安全问题,因为您必须在 /etc/fstab 条目中公开密码,而 文件 /etc/fstab 通常可供系统上的每个用户读取。要解决此问题,可使用 credentials 挂载选项将用户名和密码放在指 定的文本文件中。例如:

//win2008server/Public /mnt/PUBLIC cifs

credentials=/etc/cred.wvh,uid=500,gid=500 0 0

一个 credentials 文件的格式如下所示:

username=wvh

password=MYPASSWORD

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读