Samba和FTP服务器以及NFS网络文件服务和SSH
来源:互联网 发布:vs2015怎么编译c语言 编辑:程序博客网 时间:2024/06/08 14:20
1 Windows与Linux文件共享--Samba
1.1 Samba简介
- smbd监听139TCP端口;
- nmbd监听137和138UDP端口;
- smbd进程的作用是处理SMB请求包,负责用户验证和文件共享;
- nmbd进程的作用是处理浏览共享和计算机名称解析;
1.2 Samba配置
Samba配置文件应存放在:【/etc/samba/smb.conf】
包括四个设置段:
【global】设置全局环境选项
【homes】设置用户宿主目录共享
【printers】设置打印机共享
【sharefiles】设置文件共享
注意:行前有分号【;】或英镑符号【#】表示注释
1.2.1 global段选项设置
security:制定安全模式
①share 无权限验证,任何用户均可访问
②user 缺省模式,由Linux Samba服务器验证
③server 第三方主机验证
④domain 第三方主机验证(第三方必须是windows域控制器)
hosts allow:指定主机访问 或 hosts deny:指定主机进制 一般不同时使用,hosts allow优先
1.2.2 homes段选项设置
comment=Home Directories 描述信息
browseable=no 无权限共享的目录隐藏不可见
writable=yes no只读、yes可写
valid users:指定有效用户 %s匹配每一个用户 MYDOMAIN%s匹配域名和用户
1.3 应用示例
查看系统中某个服务的设置:【getsebool -a | grep samba】
对服务进行设置:【setsebool -P samba_enable_home_dirs on】
1.3.1 示例1
允许用户通过Windows客户端访问自己的宿主目录。
①安装Samba,不需要配置文件做修改,即可实现此功能
如果安装了启用了SELinux,需要先执行:【setsebool -P samba_enable_home_dirs on】
关闭防火墙设置:
Netfilter/IPtables 【iptables -F】
SELinux 【setsebool -P samba_enable_home_dirs on】 或更改 【/etc/selinux/config】 SELINUX=disabled
②用户必须是系统用户,设置用户Samba验证密码
【smbpasswd -a 用户名】
③启动Samba服务
【/etc/rc.d/init.d/smb start】
[root@Jiaozl-PC xiaoming]# smbpasswd -a xiaomingNew SMB password:Retype new SMB password:Added user xiaoming.[root@Jiaozl-PC xiaoming]# service smb restart关闭 SMB 服务: [确定]启动 SMB 服务: [确定][root@Jiaozl-PC xiaoming]# ps -le | grep smb5 S 0 4209 1 0 80 0 - 53337 poll_s ? 00:00:00 smbd1 S 0 4211 4209 0 80 0 - 53468 poll_s ? 00:00:00 smbd[root@Jiaozl-PC xiaoming]# pgrep smb42094211[root@Jiaozl-PC xiaoming]#④Windows客户端访问Samba服务器共享资源
“开始”---“运行”,输入\\Samba服务器地址
⑤Samba服务器端查看访问的客户端信息
【smbstatus】
[root@Jiaozl-PC xiaoming]# smbstatusSamba version 3.6.23-43.el6_9PID Username Group Machine -------------------------------------------------------------------4372 xiaoming xiaoming jiaozl-pc (192.168.246.1)Service pid machine Connected at-------------------------------------------------------xiaoming 4372 jiaozl-pc Sat Jun 3 15:00:21 2017No locked files[root@Jiaozl-PC xiaoming]#
【ls /var/log/samba/】查看日志信息
⑥Windows端取消远程连接
【net use * /delete /y】命令 【net use】显示已经建立的连接
⑦连接上后,可以映射网络驱动器
1.3.2 示例2
设置Samba共享目录/software,允许用户jack与mary可以通过Windows客户端访问,并且具有读写权限。
①创建目录/software,添加用户jack与mary
②如果安装了SELinux,执行命令启动用户可访问系统目录:【chcon -t samba_share_t 共享目录】
③在Samba配置文件/etc/samba/smb.conf末尾添加:
[共享名]path=共享目录valid users=指定访问用户 可以多个,以空格分开writable=权限 yes or no
编写完后,使用【testparm】命令检测语法错误
④给用户samba验证密码
【smbpasswd -a 用户名】
⑤重启服务
⑥同时要设置,用户对/software的w权限
将两个用户都加到一个组;将目录的所属组改为这个组;更改目录所属组权限;
[root@Jiaozl-PC /]# ls -dl softwaredrwxr-xr-x. 2 root root 4096 6月 3 15:18 software[root@Jiaozl-PC /]# groupadd softadmin[root@Jiaozl-PC /]# gpasswd -a testuser1 softadminAdding user testuser1 to group softadmin[root@Jiaozl-PC /]# gpasswd -a testuser2 softadminAdding user testuser2 to group softadmin[root@Jiaozl-PC /]# grep softadmin /etc/groupsoftadmin:x:1010:testuser1,testuser2[root@Jiaozl-PC /]# chgrp softadmin /software[root@Jiaozl-PC /]# ls -dl softwaredrwxr-xr-x. 2 root softadmin 4096 6月 3 15:18 software[root@Jiaozl-PC /]# chmod g+w /software/[root@Jiaozl-PC /]# ls -dl softwaredrwxrwxr-x. 2 root softadmin 4096 6月 3 15:18 software[root@Jiaozl-PC /]#
1.3.3 示例3
建立一个公共的只读目录/public,所有人都可以浏览目录的内容,用于内部共享资料。1.3.4 示例4
建立部门资料共享目录/hr,部门每个人都能读写,但不能删除别人的文件。
1.4 Samba额外篇
1.4.1 查看是否已经安装了samba(http://www.cnblogs.com/whiteyun/archive/2011/05/27/2059670.html)
1.4.2 安装samba
1.4.3 安装完毕,设置密码文件
【useradd youyou】
1.4.4 启动samba服务
1.4.5 samba配置
2 FTP应用---vsftpd
2.1 几种FTP软件
Wu-FTP:古老、配置复杂。
Proftp:功能强大。
vsftp:安全、高速、稳定。 系统默认FTP软件
2.2 vsftpd
如果没安装,需先安装:【yum install vsftpd】
启动:【/etc/rc.d/init.d/vsftpd start】
默认启动后即支持用户宿主目录访问及匿名访问
配置文件:【/etc/vsftpd/vsftpd.conf】
2.3 相关配置
2.3.1匿名访问配置
匿名FTP用户名:ftp anonymous
ftp伪用户目录:/var/ftp 通过【grep ftp /etc/passwd】查看
anonymous_enable=YES 允许匿名登录,默认访问为ftp用户宿主目录
匿名FTP默认支持下载,但不支持上传;也可以在配置文件【/etc/vsftpd/vsftpd.conf】中,关闭匿名FTP或开启上传功能。
2.3.2 用户访问配置
C:\Users\Jiaozl\Desktop>ftp 192.168.246.142连接到 192.168.246.142。220 Welcome to blah FTP service. ---by jiaozl200 Always in UTF8 mode.用户(192.168.246.142:(none)): xiaoming331 Please specify the password.密码:230 Login successful.ftp> ls200 PORT command successful. Consider using PASV.150 Here comes the directory listing.shelltestshelltest_2017-06-02.txt桌面226 Directory send OK.ftp: 收到 125 字节,用时 0.01秒 17.86千字节/秒。ftp> put C:\Users\Jiaozl\Desktop\Desktop.rar200 PORT command successful. Consider using PASV.150 Ok to send data.226 Transfer complete.ftp: 发送 1568322 字节,用时 0.01秒 130693.50千字节/秒。ftp> ls200 PORT command successful. Consider using PASV.150 Here comes the directory listing.Desktop.rarshelltestshelltest_2017-06-02.txt桌面226 Directory send OK.ftp: 收到 138 字节,用时 0.01秒 19.71千字节/秒。ftp>
2.3.3 用户访问控制
[root@Jiaozl-PC xiaoming]# cat /etc/vsftpd.user_listtestuser2testuser3[root@Jiaozl-PC xiaoming]# service vsftpd restart关闭 vsftpd: [确定]为 vsftpd 启动 vsftpd: [确定][root@Jiaozl-PC xiaoming]#使用情况:
C:\Users\Jiaozl\Desktop>ftp 192.168.246.142连接到 192.168.246.142。220 Welcome to blah FTP service. ---by jiaozl200 Always in UTF8 mode.用户(192.168.246.142:(none)): xiaoming530 Permission denied.登录失败。ftp> user testuser2331 Please specify the password.密码:530 Login incorrect.登录失败。ftp> user testuser2331 Please specify the password.密码:230 Login successful.ftp>
2.3.4 登录用户可以查看其他目录的限制
也可以使用列表管理此权限:
2.3.5 其他设置选项
2.4 相关命令
2.4.0 操作命令报错
项目中的ftp连接和传输都是使用的bat批处理脚本完成的,所以我尝试直接用命令行连接ftp并传输,完全没问题。。。
百度,谷姐……有人说,客户端的ftp要设置成主动; 有人说,服务器端ftp配置要修改允许的端口号; 有人说是linux的防火墙~~~ ;有人说是Selinux在捣鬼。。。。
最后试了两个小时,寡人发现是windows这边客户端的防火墙问题。最简单的方法,直接关掉。
2.4.1 示例:自动化下载脚本编写
[root@Jiaozl-PC ftp]# ls auto.ftp eeee.txt test.txt[root@Jiaozl-PC ftp]# cat auto.ftp open 192.168.246.142user ftp Jiaozl-PC.combinpromptlcd /ftp.bakmget *bye[root@Jiaozl-PC ftp]# ftp -n < auto.ftp Interactive mode off.Local directory now /ftp.bak[root@Jiaozl-PC ftp]# ls /ftp.bak/auto.ftp eeee.txt test.txt[root@Jiaozl-PC ftp]#
3 NFS网络文件服务
3.1 安装和启动NFS服务
3.2 检查RPC程序是否启动
3.3 设置NFS共享目录
[root@Jiaozl-PC xiaoming]# cat /etc/exports /home/xiaoming/public/home/xiaoming/website 192.168.1.107(ro)/home/xiaoming/website 192.168.246.0[root@Jiaozl-PC xiaoming]#
3.4 NFS客户端设置
[root@Jiaozl-PC xiaoming]# cat /etc/exports /public/test 192.168.1.107(ro)/website 192.168.246.142[root@Jiaozl-PC xiaoming]# showmount -e 192.168.246.142Export list for 192.168.246.142:/public */website 192.168.246.142/test 192.168.1.107[root@Jiaozl-PC xiaoming]# mount 192.168.246.142:/website /mnt/website/[root@Jiaozl-PC xiaoming]# ls /mnt/website/[root@Jiaozl-PC xiaoming]# ls /mnt/website/test.txtYou have new mail in /var/spool/mail/root[root@Jiaozl-PC xiaoming]# mkdir /mnt/public[root@Jiaozl-PC xiaoming]# mount 192.168.246.142:/public /mnt/public/[root@Jiaozl-PC xiaoming]# ls /mnt/public/public.txt[root@Jiaozl-PC xiaoming]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/vg_nikikiy-lv_root 50G 9.9G 37G 22% /tmpfs 112M 0 112M 0% /dev/shm/dev/sda1 477M 42M 410M 10% /boot/dev/mapper/vg_nikikiy-lv_home 45G 56M 43G 1% /home/dev/sdb1 5.0G 139M 4.6G 3% /web192.168.246.142:/website 50G 9.9G 37G 22% /mnt/website192.168.246.142:/public 50G 9.9G 37G 22% /mnt/public[root@Jiaozl-PC xiaoming]#
3.5 开机自动挂载NFS共享
4 SSH
4.1 ssh远程登录
4.2 远程sftp连接
[root@Jiaozl-PC ~]# sftp xiaoming@92.168.246.142Connecting to 92.168.246.142...^C[root@Jiaozl-PC ~]# sftp xiaoming@192.168.246.142Connecting to 192.168.246.142...xiaoming@192.168.246.142's password: sftp> lspublic shelltest shelltest_2017-06-02.txt website 下载 公共的 图片 文档 桌面 模板 视频 音乐 sftp> exit[root@Jiaozl-PC ~]#
4.3 scp使用
[root@Jiaozl-PC ~]# scp /etc/inittab xiaoming@192.168.246.142:/home/xiaomingxiaoming@192.168.246.142's password: inittab 100% 884 0.9KB/s 00:00 [root@Jiaozl-PC ~]#
4.4 示例:实现自动化远程备份
4.4.1 采用非对称加密使主机之间信任,而不需要输入密码
[root@Jiaozl-PC ~]# ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:46:1f:f5:8b:6f:03:f7:33:a5:f6:9a:d4:8d:78:b0:52 root@Jiaozl-PC.comThe key's randomart image is:+--[ RSA 2048]----+| . || . . || . . . || . . . . . || S . E o .|| . . B =o|| . o Xo+|| . = +o|| o..|+-----------------+[root@Jiaozl-PC ~]# scp /root/.ssh/id_rsa.pub xiaoming@192.168.246.142:/home/xiaomingxiaoming@192.168.246.142's password: id_rsa.pub 100% 400 0.4KB/s 00:00 [root@Jiaozl-PC ~]#
[xiaoming@Jiaozl-PC ~]$ ls -a. .dbus .gvfs .pulse-cookie 视频.. .esd_auth .ICEauthority shelltest 图片.abrt .gconf id_rsa.pub shelltest_2017-06-02.txt 文档.bash_history .gconfd .imsettings.log .ssh 下载.bash_logout .gnome2 .local .viminfo 音乐.bash_profile .gnote .mozilla website 桌面.bashrc .gnupg .nautilus .xsession-errors.cache .gstreamer-0.10 public 公共的.config .gtk-bookmarks .pulse 模板[xiaoming@Jiaozl-PC ~]$ cat id_rsa.pub >> .ssh/authorized_keys[xiaoming@Jiaozl-PC ~]$ ls .sshauthorized_keys[xiaoming@Jiaozl-PC ~]$ ls -l | grep .ssh[xiaoming@Jiaozl-PC ~]$ ls -dl .sshdrwx------. 2 xiaoming xiaoming 4096 6月 3 21:48 .ssh[xiaoming@Jiaozl-PC ~]$ ls -l .ssh/authorized_keys -rw-rw-r-- 1 xiaoming xiaoming 400 6月 3 21:48 .ssh/authorized_keys[xiaoming@Jiaozl-PC ~]$ chmod 600 .ssh/authorized_keys [xiaoming@Jiaozl-PC ~]$ chmod 700 .ssh/[xiaoming@Jiaozl-PC ~]$ chmod 600 .ssh/authorized_keys [xiaoming@Jiaozl-PC ~]$ ls -l .ssh/authorized_keys -rw------- 1 xiaoming xiaoming 400 6月 3 21:48 .ssh/authorized_keys[xiaoming@Jiaozl-PC ~]$ ls -dl .sshdrwx------. 2 xiaoming xiaoming 4096 6月 3 21:48 .ssh[xiaoming@Jiaozl-PC ~]$此时:【ssh xiaoming@192.168.246.142】直接登录,不再需要密码
4.4.2 自动化备份脚本
crontab -e0 2 * * 0 /usr/bin/scp -rp xiaoming@192.168.246.142:/website /backup/website_$(date +%F)crontab -e0 2 * * 1-6 /usr/bin/rsync -arHz --progress --delete -e ssh xiaoming@192.168.246.142:/website /backup
4.5 rsync应用
4.5.1 rsync示例
5 加密解密
5.1 对称秘钥加密
5.2 非对称加密
- Samba和FTP服务器以及NFS网络文件服务和SSH
- 文件共享服务 FTP,NFS 和 Samba服务简介和搭建方法
- 三种常见的文件共享服务--ftp,nfs,samba 区别和配置
- 文件共享服务 NFS SAMBA FTP
- RH254-第二十五节-Samba和NFS以及Iscsi服务
- nfs和samba服务器搭建
- linux服务之NFS和SAMBA服务
- OpenSUSE下启动ssh和samba服务以及防火墙设置
- 网络共享(Ftp,NFS,Samba)-------NFS
- Linux中的nfs和samba安装、服务
- ubuntu安装samba和ssh, ftp
- Linux服务器之Samba和NFS
- 文件共享服务nfs-samba
- Linux中nfs ,ftp 和samba有什么区别
- nfs、pure-ftp、vsftp、samba的区别和安装配置
- nfs ,ftp 和samba都有什么区别
- linux下Samba服务和NFS服务配置
- tftp/nfs /samba / ssh / http 服务设置
- Codeforces 812
- 五大常用算法:分治、动态规划、贪心、回溯、分支限界
- myeclipse2017ci5正确破解的方法
- 欢迎使用CSDN-markdown编辑器
- Http和Socket连接区别
- Samba和FTP服务器以及NFS网络文件服务和SSH
- oracle数学(字)函数
- synchronized与static synchronized 的区别以及synchronized继承问题
- Oil Deposits
- Object.create的用法
- MTK_FAQ_Conectivity
- 计算机网络原理知识点(第一章:概述)
- Ray Tracing 的c++简单实现
- 福州大学第十三届程序设计竞赛题解【8/9】