linux与windows共享文件
2016-07-07 12:58
441 查看
一、简单SMB服务
用于linux与windows相互共享访问
1.安装软件包三个
samba 服务文件(smdb、nmbd服务)
samba-common 主程序配置文件(如/etc/samba/smb.conf)
samba-Client 提供其他linux作为samba客户端时对samba的访问
查看软件包完整:rpm -qa | grep samba
2.samba服务的配置
vi /etc/samba/smb.conf
[global]全局设置
security = user/share (登陆方式以用户验证/无验证)
usershare allow guest = yes (表示以guest身份登陆)
[suse]自定义目录名
comment = 目录短文本
phat = /suse 路径为根目录下的suse目录
read only = yes 只读(与writable冲突)
writable = yes
3.samba服务的启停
services smb start 命令方式启动
etc/init.d/smb restart 脚本方式重启
4.samba用户
原则:1、必须是系统有的用户useradd suse 创建用户suse
2、使用已有用户创建smb用户smbpasswd -a suse 创建smb用户suse
3.cat /etc/samba/sampasswd 创建是smb用户suse在其中可见
5.目录权限
chmod 777 /suse 让suse用户有访问suse目录的权限
======================================================================================在配置samba服务的时候遇到的问题:
1.samba安装好后,没有smbpasswd文件
原因:samba启用了tdbsam认证方式,必须将其求改为smbpasswd认证方式
解决方法:修改/etc/samba/smb.conf文件
将其中的passdb backend = tdbsam改为passdb backend = smbpasswd
并添加smb passwd file = /etc/samba/smbpasswd
退出并保存samba的配置文件,并且重启samba服务。再使用smbpasswd -a 创建用户的时候就会自动生成smbpasswd文件了
2.samba下实现不同目录+不同用户有不同权限的方案
主要参数:在全局设置里面
map to guest = Bad User
security = user
有了上面的全局参数,就可以实现用NUC路径访问smb服务器的时候按不同的用户来访问不同的目录
下面是具体的目录设置参数
[homes]
comment = Home Directories
browseable = no 不可浏览见
writable = yes
#valid users = %S 登陆用户登陆后home变为登陆用户名(貌似可以不设置就有效果)
这个必须设置,不然map to guest不起作用
[test]
comment = share
path = /test
writable = yes 进入目录后的权限,可写
public = yes 任何人都可以进入目录
[open]
comment = myself
path = /open
writable = yes 进入目录后的权限
valid users = aa,bb smb允许aa、bb用户进入该目录(可以通过linux本身的目录权限控制,而不需要设置。必须用户属于不同的组的时候)
以上可以实现所有的用户可以看到test目录和open目录,所有用户可以访问test目录,并且可以读写。而只有aa、bb用户可以访问open目录,并且可以读写。
补充:以上所说的权限只是针对于smb的权限,虽然smb的权限有了进入和读写权限,但是不一定用户就可以进入这2个目录和读写这个2个目录,这是因为linux系统本身也是有权限的,就是目录自己的权限。chmod
使用chmod命令可以修改目录的权限,使用chgrp可以修改目录的属组,使用usermod -a -G 组(新的组) 用户,可以添加用户到新的组(假如aa用户属于aa组,那么usermod -G users就将aa用户改成了users组用户了,但是usermod -a -G users是将aa用户额外加入到users组,那么现在的aa就属于aa组和users组这两个组的用户了)
======================================================================================
下面看一个案例:
假设现在有2个目录就是上面的test个open
现在有10个用户,分成了2个部门,分别为信息部和销售部,信息部有用户aa、bb、cc、dd、ee用户,销售部有11、22、33、44、55用户,老总要求所有人可以匿名访问test目录,可以读写。而只有信息部可以通过用户名密码的方式访问open目录,并有读写权限。但是信息部中有2个用户是外部借调的,所以老总不想让这2个人dd、ee访问open这个目录。
那么如何解决呢,就要利用目录属组和smb权限来综合解决
目标:所有人匿名访问test,读写
只有aa、bb、cc可以通过密码访问open目录,并可读写
信息组为xinxi
销售组为xiaoshou
首先环境是:aa、bb、cc、dd、ee是属于xinxi组
11、22、33、44、55是属于xiaoshou组
先来配置 global 设置和homes目录设置及test目录设置,来满足匿名访问需求
global设置中:
map to guest = Bad User 与user安全方式用可以实现匿名浏览目录
security = user 安全认证以用户名和密码方式
[homes]
comment = Home Directories 注释,随便写
browseable = no 不可浏览见
writable = yes 读写
#valid users = %S 用户进入后目录名是自己的用户名
[test]
comment = share
path = /test
writable = yes 进入目录后的权限,可写
public = yes 公用的所有可以访问
好了,test的smb权限设置好后,就开始设置linux目录权限,因为是所有人可以访问,所有我们开放所有权限
chmod 777 /test
drwxrwxrwx 2 root root 4096 May 9 04:31 test
这样linux的目录权限也设置好了,现在可以用smb账户进行访问了
创建系统账户:useradd -m aa -g xinxi 创建aa加入xinxi组,并自动创建宿主目录
useradd -m bb -g xinxi 。。。
。。。。。。
useradd -m 55 -g xiaoshou 创建55加入xiaoshou组。。。
创建sub账户:smbpasswd -a aa
smbpasswd -a bb
。。。。。。
smbpasswd -a 55
好了账户创建完毕,现在所有账户都可以访问test这个目录了
下面配置只有aa、bb、cc可以访问的open目录
[open]
comment = myself
path = /open
writable = yes 进入目录后的权限
valid users = aa,bb,cc 用户aa、bb、cc可以进入目录
现在smb的权限已经是只有aa、bb、cc可以访问了,下面来设置linux目录权限
drwxr-xr-x 2 root root 4096 May 9 04:52 open
由于open目录只应该让xinxi组可以访问,那么就要先让xinxi组可以访问open目录,修改目录属组为xinxi
chgrp xinxi /open
drwxr-xr-x 2 root xinxi 4096 May 9 07:11 open
然后让组有可以访问的读写权限,其他用户没有访问权限
chmod 770 /open
drwxrwx--- 2 root xinxi 4096 May 9 09:40 open
现在linux的目录open就可以让xinxi组的用户有读写的访问权限了,再加上前面的smb权限的valid users = aa,bb,cc,控制只有aa、bb、cc可以进入open目录,就实现了xinxi组中只有aa、bb、cc三个用户可以访问open目录的目的,访问方式通过用户密码的方式。
(如果嫌麻烦而且安全性要求不高的话,可以不用修改open目录的属组,直接chmod 777 /open,让所有用户有访问权限,然后通过smb的valid users=用户来控制能访问这个目录的smb用户就可以了)
df -h 以简单方式显示文件系统空间
free 显示内存及swap使用量
du -h /suse 以简单方式查看suse目录及子文件占用的空间
二、在windows上上传或下载linux主机上的文件可以使用sftp服务,软件:FileZilla,进行sftp/ssh登录linux主机,输入用户名和密码后就可以像ftp那样上传和下载linux的文件了。
三、linux上访问windows的共享,一样通过smb,安装samba-client(centOS 使用 yum -y install samba-client安装),安装好后,使用命令:smbclient -L //ip -U "username"
来查看windows主机上的共享。
然后挂载windows主机上的共享目录share到linux下的/mnt/shared目录下,使用mount命令:
mount //ip/share /mnt/shared 或者下面的
mount -t cifs -o username="",password="" //ip/share /mnt/shared
如果需要永久挂载可以编辑/etc/fstab文件,再这个里面挂载你的windows共享目录,每次开机之后他会自动挂载的。具体的挂载方法可以按照fstab目录下面的格式来挂载。
如果需要卸载已挂载的共享目录,命令格式为umount:
umount /mnt/shared 或者 umount //ip/share 可以卸载本地linux的挂载目录也可以卸载挂载的windows的共享目录,效果一样
用于linux与windows相互共享访问
1.安装软件包三个
samba 服务文件(smdb、nmbd服务)
samba-common 主程序配置文件(如/etc/samba/smb.conf)
samba-Client 提供其他linux作为samba客户端时对samba的访问
查看软件包完整:rpm -qa | grep samba
2.samba服务的配置
vi /etc/samba/smb.conf
[global]全局设置
security = user/share (登陆方式以用户验证/无验证)
usershare allow guest = yes (表示以guest身份登陆)
[suse]自定义目录名
comment = 目录短文本
phat = /suse 路径为根目录下的suse目录
read only = yes 只读(与writable冲突)
writable = yes
3.samba服务的启停
services smb start 命令方式启动
etc/init.d/smb restart 脚本方式重启
4.samba用户
原则:1、必须是系统有的用户useradd suse 创建用户suse
2、使用已有用户创建smb用户smbpasswd -a suse 创建smb用户suse
3.cat /etc/samba/sampasswd 创建是smb用户suse在其中可见
5.目录权限
chmod 777 /suse 让suse用户有访问suse目录的权限
======================================================================================在配置samba服务的时候遇到的问题:
1.samba安装好后,没有smbpasswd文件
原因:samba启用了tdbsam认证方式,必须将其求改为smbpasswd认证方式
解决方法:修改/etc/samba/smb.conf文件
将其中的passdb backend = tdbsam改为passdb backend = smbpasswd
并添加smb passwd file = /etc/samba/smbpasswd
退出并保存samba的配置文件,并且重启samba服务。再使用smbpasswd -a 创建用户的时候就会自动生成smbpasswd文件了
2.samba下实现不同目录+不同用户有不同权限的方案
主要参数:在全局设置里面
map to guest = Bad User
security = user
有了上面的全局参数,就可以实现用NUC路径访问smb服务器的时候按不同的用户来访问不同的目录
下面是具体的目录设置参数
[homes]
comment = Home Directories
browseable = no 不可浏览见
writable = yes
#valid users = %S 登陆用户登陆后home变为登陆用户名(貌似可以不设置就有效果)
这个必须设置,不然map to guest不起作用
[test]
comment = share
path = /test
writable = yes 进入目录后的权限,可写
public = yes 任何人都可以进入目录
[open]
comment = myself
path = /open
writable = yes 进入目录后的权限
valid users = aa,bb smb允许aa、bb用户进入该目录(可以通过linux本身的目录权限控制,而不需要设置。必须用户属于不同的组的时候)
以上可以实现所有的用户可以看到test目录和open目录,所有用户可以访问test目录,并且可以读写。而只有aa、bb用户可以访问open目录,并且可以读写。
补充:以上所说的权限只是针对于smb的权限,虽然smb的权限有了进入和读写权限,但是不一定用户就可以进入这2个目录和读写这个2个目录,这是因为linux系统本身也是有权限的,就是目录自己的权限。chmod
使用chmod命令可以修改目录的权限,使用chgrp可以修改目录的属组,使用usermod -a -G 组(新的组) 用户,可以添加用户到新的组(假如aa用户属于aa组,那么usermod -G users就将aa用户改成了users组用户了,但是usermod -a -G users是将aa用户额外加入到users组,那么现在的aa就属于aa组和users组这两个组的用户了)
======================================================================================
下面看一个案例:
假设现在有2个目录就是上面的test个open
现在有10个用户,分成了2个部门,分别为信息部和销售部,信息部有用户aa、bb、cc、dd、ee用户,销售部有11、22、33、44、55用户,老总要求所有人可以匿名访问test目录,可以读写。而只有信息部可以通过用户名密码的方式访问open目录,并有读写权限。但是信息部中有2个用户是外部借调的,所以老总不想让这2个人dd、ee访问open这个目录。
那么如何解决呢,就要利用目录属组和smb权限来综合解决
目标:所有人匿名访问test,读写
只有aa、bb、cc可以通过密码访问open目录,并可读写
信息组为xinxi
销售组为xiaoshou
首先环境是:aa、bb、cc、dd、ee是属于xinxi组
11、22、33、44、55是属于xiaoshou组
先来配置 global 设置和homes目录设置及test目录设置,来满足匿名访问需求
global设置中:
map to guest = Bad User 与user安全方式用可以实现匿名浏览目录
security = user 安全认证以用户名和密码方式
[homes]
comment = Home Directories 注释,随便写
browseable = no 不可浏览见
writable = yes 读写
#valid users = %S 用户进入后目录名是自己的用户名
[test]
comment = share
path = /test
writable = yes 进入目录后的权限,可写
public = yes 公用的所有可以访问
好了,test的smb权限设置好后,就开始设置linux目录权限,因为是所有人可以访问,所有我们开放所有权限
chmod 777 /test
drwxrwxrwx 2 root root 4096 May 9 04:31 test
这样linux的目录权限也设置好了,现在可以用smb账户进行访问了
创建系统账户:useradd -m aa -g xinxi 创建aa加入xinxi组,并自动创建宿主目录
useradd -m bb -g xinxi 。。。
。。。。。。
useradd -m 55 -g xiaoshou 创建55加入xiaoshou组。。。
创建sub账户:smbpasswd -a aa
smbpasswd -a bb
。。。。。。
smbpasswd -a 55
好了账户创建完毕,现在所有账户都可以访问test这个目录了
下面配置只有aa、bb、cc可以访问的open目录
[open]
comment = myself
path = /open
writable = yes 进入目录后的权限
valid users = aa,bb,cc 用户aa、bb、cc可以进入目录
现在smb的权限已经是只有aa、bb、cc可以访问了,下面来设置linux目录权限
drwxr-xr-x 2 root root 4096 May 9 04:52 open
由于open目录只应该让xinxi组可以访问,那么就要先让xinxi组可以访问open目录,修改目录属组为xinxi
chgrp xinxi /open
drwxr-xr-x 2 root xinxi 4096 May 9 07:11 open
然后让组有可以访问的读写权限,其他用户没有访问权限
chmod 770 /open
drwxrwx--- 2 root xinxi 4096 May 9 09:40 open
现在linux的目录open就可以让xinxi组的用户有读写的访问权限了,再加上前面的smb权限的valid users = aa,bb,cc,控制只有aa、bb、cc可以进入open目录,就实现了xinxi组中只有aa、bb、cc三个用户可以访问open目录的目的,访问方式通过用户密码的方式。
(如果嫌麻烦而且安全性要求不高的话,可以不用修改open目录的属组,直接chmod 777 /open,让所有用户有访问权限,然后通过smb的valid users=用户来控制能访问这个目录的smb用户就可以了)
df -h 以简单方式显示文件系统空间
free 显示内存及swap使用量
du -h /suse 以简单方式查看suse目录及子文件占用的空间
二、在windows上上传或下载linux主机上的文件可以使用sftp服务,软件:FileZilla,进行sftp/ssh登录linux主机,输入用户名和密码后就可以像ftp那样上传和下载linux的文件了。
三、linux上访问windows的共享,一样通过smb,安装samba-client(centOS 使用 yum -y install samba-client安装),安装好后,使用命令:smbclient -L //ip -U "username"
来查看windows主机上的共享。
然后挂载windows主机上的共享目录share到linux下的/mnt/shared目录下,使用mount命令:
mount //ip/share /mnt/shared 或者下面的
mount -t cifs -o username="",password="" //ip/share /mnt/shared
如果需要永久挂载可以编辑/etc/fstab文件,再这个里面挂载你的windows共享目录,每次开机之后他会自动挂载的。具体的挂载方法可以按照fstab目录下面的格式来挂载。
如果需要卸载已挂载的共享目录,命令格式为umount:
umount /mnt/shared 或者 umount //ip/share 可以卸载本地linux的挂载目录也可以卸载挂载的windows的共享目录,效果一样
相关文章推荐
- centos配置yum本地源
- linux LVM 管理及创建步骤
- Linux安装FTP
- Linux Make 命令详解
- linux常用命令
- centos7 关闭firewall安装iptables并配置
- Linux 下 Make 命令
- linux 修改密码(二)
- 20160707 在Ubuntu Linux上安装搜狗输入法及对Qt Creator的支持
- Linux中安装使用RXVT命令行终端窗口程序的教程
- Linux系统中查看执行中的进程占用内存量的方法
- 每日一linux命令(26)-------用SecureCRT来上传和下载文件
- root账户不允许远程登陆
- Linux下搭建SVN服务器遇到的问题及解决方法,
- thinkphp 3.2 linux二级目录安装
- linux 下 /dev和/sys/dev的区别
- 【linux gcc】gcc编译器相关(7月6日学习总结)_学习笔记_003
- suse-linux下安装java
- centos卸载openjdk,安装oralce jdk
- Linux安装svn并添加用户权限