Windows 机器192.168.1.103共享了 /share/yasi 目录,并且赋予了写的权限,在Windows机器下可以用 yasi/pass 登录。在一台CentOS 6.3机器上尝试将该共享目录 mount 到 /mnt/yasi 上
- mount -t cifs //192.168.1.103/share/yasi /mnt/yasi -o username="yasi",password="pass"
结果失败,错误提示如下:
- mount: block device //192.168.1.103/share/yasi is write-protected, mounting read-only
- mount: cannot mount block device //192.168.1.103/share/yasi read-only
【原因】
需要安装cifs-utils
【解决】
安装cifs-utils
- yum install cifs-utils.x86_64
然后重新执行
- mount -t cifs //192.168.1.103/share/yasi /mnt/win -o username="fxl",password="123"
就mount上了,并且具有写的权限。
username和password是windows系统的用户名和密码,并且密码不能为空。
mount命令(linux操作系统)挂载卸载文件系统(cifs,光驱,nfs等)方法介绍
用mount命令和umount命令能做什么?
mount是Linux下的一个命令,不同的操作系统使用不同的文件系统格式。MS-DOS支持FAT16文件系统,Windows98支持FAT16、FAT32文件系 统,WindowsNT支持FAT16、NTFS文件系统,Windows2000则支持FAT16、FAT32、NTFS三种文件系统格式,而 Linux差不多支持所有的文件系统格式,但一般使用ext2或ext3文件系统。 很多用户使用的是windows操作系统,如果想在运行的Linux下访问其它文件系统中的资源的话,就要用mount命令来实现。
mount和umount命令举例:
linux下mount命令挂载文件系统,以cifs(windows网络共享文件,cifs是smbfs的升级版,默认的windows系统都支持的)举例:
1
|
mount
-t cifs
//remotehostname/shared
/mnt/myshared
-o username=XXX,password=XXX
|
linux下用umount命令卸载文件系统,以cifs举例:
1
|
umount
/mnt/myshared
|
linux下mount命令挂载光驱:
1
|
mount
/dev/cdrom
/mnt
|
linux下umount命令卸载光驱:
1
|
umount
/mnt/cdrom/
|
linux下mount命令挂载光驱镜像文件:
1
|
mount
-o loop -t iso9660
/169it_iso/mydisk
.iso
/mnt/vcdrom
|
linux下umount命令卸载光驱镜像文件:
1
|
umount
/mnt/vcdrom
|
linux下mount命令挂载nfs:
在挂载nfs文件系统时需要先启动nfs,启动或停止NFS服务命令如下:
1
2
|
[root@169it.com ~]
# sevice nfs start|stop|restart
[root@169it.com ~]
# chkconfig --level 35 nfs on //设置NFS自动启动方式;
|
启动nfs完成以后开始挂载nfs:
1
|
mount
-t nfs 192.168.0.33:
/nfs/mynfs
/mnt/169it_nfs
|
linux下umount命令卸载nfs
1
|
umount
/mnt/169it_nfs
|
mount和umount命令详细参数格式:
命令格式:
1
|
mount
[-t vfstype] [-o options] device
dir
|
其中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs
2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集
3.device 要挂接(mount)的设备。
4.dir设备在系统上的挂接点(mount point)。
|
mount的基本用法介绍
格式:mount [-参数] [设备名称] [挂载点]
其中常用的参数有:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
-a 安装在/etc/fstab文件中类出的所有文件系统。
-f 伪装mount,作出检查设备和目录的样子,但并不真正挂载文件系统。
-n 不把安装记录在/etc/mtab 文件中。
-r 讲文件系统安装为只读。
-v 详细显示安装信息。
-w 将文件系统安装为可写,为命令默认情况。
-t <文件系统类型> 指定设备的文件系统类型,常见的有:
ext2 linux目前常用的文件系统
msdos MS-DOS的fat,就是fat16
vfat windows98常用的fat32
nfs 网络文件系统
iso9660 CD-ROM光盘标准文件系统
ntfs windows NT/2000/XP的文件系统
auto 自动检测文件系统
-o <选项> 指定挂载文件系统时的选项,有些也可写到在/etc/fstab中。常用的有:
defaults 使用所有选项的默认值(auto、nouser、rw、suid)
auto/noauto 允许/不允许以-a选项进行安装
dev/nodev 对/不对文件系统上的特殊设备进行解释
exec/noexec 允许/不允许执行二进制代码
suid/nosuid 确认/不确认suid和sgid位
user /nouser 允许/不允许一般用户挂载
codepage=XXX 代码页
iocharset=XXX 字符集
ro 以只读方式挂载
rw 以读写方式挂载
remount 重新安装已经安装了的文件系统
loop 挂载回旋设备
username/password用来设置有访问权限的用户名和密码.
|
需要注意的是,挂载点必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,umount以后会恢复正常。
使用多个-o参数的时候,-o 只用一次,参数之间用半角逗号隔开:
# mount –o remount,rw XXX XXX
另外在linux编程库glibc中提供了mount和umount函数,函数头文件及详细用法介绍如下:
1
2
3
4
|
#include<sys/mount.h>
int
mount(
const
char
*source,
const
char
*target,
const
char
*filesystemtype, unsigned
long
mountflags,
const
void
*data);
int
umount(
const
char
*target);
int
umount2(
const
char
* target,
int
flags);
|
参数:
source:将要挂上的文件系统,通常是一个设备名。
target:文件系统所要挂在的目标目录。
filesystemtype:文件系统的类型,可以是"ext2","msdos","proc","ntfs","iso9660"等等。
mountflags:指定文件系统的读写访问标志,具体值请参考Glibc库。