ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux NFS服务&samba&ftp

2021-11-23 09:30:19  阅读:146  来源: 互联网

标签:ftp samba etc 192.168 vsftpd NFS nfs root dir


NFS介绍

network file system 网络文件系统,将文件共享给其他客户端挂载使用

nfs只能做linux之间的共享

特点

(1)提供透明文件访问以及文件传输

(2)容易扩充新的资源或软件,不需要改变现有的工作环境

(3) 高性能,可灵活配置

安装配置

安装软件: nfs-utils.x86_64 1:1.3.0-0.68.el7.2

配置文件: /etc/exports

启动服务: systemctl restart rpcbind;systemctl start nfs

端口: 2049

[root@nfsserver ~]# mkdir /nfs_dir

[root@nfsserver ~]# echo 123 > /nfs_dir/aa.txt

[root@nfsserver ~]# vim /etc/exports

/nfs_dir *(ro) # * 所有主机; ro read only

/nfs_dir 192.168.206.0/24(ro)     #授权网段

/nfs_dir 192.168.206.10/24(ro)    #授权ip

/nfs_dir 192.168.206.10/24(ro) 172.17.206.0/24(rw)   #授权ip和网段


[root@nfsserver ~]# systemctl restart rpcbind

[root@nfsserver ~]# systemctl restart nfs

客户端:

[root@client ~]# showmount -e 192.168.206.20 查看服务端共目录
Export list for 192.168.206.20:
/nfsdir *

[root@client ~]# yum install nfs-utils

[root@client ~]# mount -t nfs 192.168.206.20:/nfs_dir/ /mnt

[root@client mnt]# cat /mnt/aa.txt

123

客户端可以读写

方法1:

客户端可以读写
方法1:
[root@nfsserver ~]# vim /etc/exports
/nfs_dir *(rw)

[root@client ~]# touch /mnt/bb.txt
touch: 无法创建"/mnt/bb.txt": 权限不够



[root@nfsserver ~]# chmod o+w /nfs_dir/


[root@client ~]# touch /mnt/bb.txt

方法2:

[root@nfsserver ~]# vim /etc/exports

/nfs_dir *(rw,no_root_squash,sync)

#no_root_squash 挂载没有root用户身份切换

#sync 同步写 async 异步写

二.NAS

1) vim /etc/rc.local

[root@client ~]# mount -t nfs 192.168.206.20:/nfs_dir /mnt/



2)[root@client ~]# vim /etc/fstab

192.168.206.20:/nfs_dir /mnt nfs defaults 0 0



3).[root@client ~]# vim /etc/auto.master

/nfsdir /etc/auto.nfsdir

[root@client ~]# vim /etc/auto.nfsdir

test -fstype=nfs 192.168.206.20:/nfs_dir

二.samba

samba既可以linux之间,有linux给windows提供存储

软件安装: samba.x86_64 0:4.10.16-15.el7_9.rpm   #yum install -y samba

samba-client.x86_64 0:4.10.16-15.el7_9.rpm

配置文件: /etc/samba/smb.conf

启动服务: systemctl restart smb

匿名方式共享

[root@smbserver ~]# vim /etc/samba/smb.conf
security = user

security = user
map to guest = bad user  #匿名访问

[smb_dir]   
        comment = test smb  #描述 共享目录作用
        path = /smb_dir #真实共享路径
        writable = yes   #是否可写
        browseable = yes    #是否可见
        public = yes #公共共享
        guest ok = yes   #来宾用户

[root@smbserver ~]# mkdir /smb_dir

[root@smbserver ~]# systemctl restart smb

客户端

[root@smbclient ~]#  yum install -y samba-client

[root@smbclient ~]# smbclient -L //192.168.10.250
Enter SAMBA\root's password:   #匿名登陆没有密码直接回车就行
Anonymous login successful

        Sharename       Type      Comment
        ---------       ----      -------
        print$          Disk      Printer Drivers
        smb_dir         Disk      test smb
        IPC$            IPC       IPC Service (Samba 4.10.16)
Reconnecting with SMB1 for workgroup listing.
Anonymous login successful

        Server               Comment
        ---------            -------

        Workgroup            Master
        ---------            -------

登录

[root@smbclient ~]# smbclient //192.168.206.20/smb_dir
Enter SAMBA\root's password:   #无密码直接回车
Anonymous login successful
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Mon Nov 22 10:35:30 2021
  ..                                  D        0  Mon Nov 22 10:35:30 2021

                17811456 blocks of size 1024. 14982044 blocks available





不能写.添加权限
[root@smbserver ~]# chmod o+w /smb_dir/

客户端挂载:

[root@nfsserver ~]# yum install cifs-utils
[root@nfsserver ~]# mount -t cifs //192.168.10.250/smb_dir /mnt

windows
地址栏:  \\192.168.206.20

用户方式共享:

[user_dir]

comment = test smb user

path = /user_dir

writable = yes

valid users = robin tong @test



[root@smbserver ~]# mkdir /user_dir

[root@smbserver ~]# chmod o+w /user_dir/

[root@smbserver ~]# systemctl restart smb

[root@smbserver ~]# useradd robin

[root@smbserver ~]# useradd zorro

[root@smbserver ~]# smbpasswd -a robin

[root@smbserver ~]# smbpasswd -a zorro 添加samba用户

[root@smbserver ~]# smbpasswd -x zorro 删除samba用户

查询smb用户

[root@smbserver ~]# pdbedit -L

robin:1000:

tong:1003:

测试:

查询

[root@smbclient ~]# smbclient -L //192.168.10.250

[root@smbclient ~]# smbclient -U robin%123 //192.168.10.250/user_dir

[root@smbclient ~]# mount -o username=robin,password=123 //192.168.10.250/user_dir /mnt/

robin可写,tong和test组成员只读

[user_dir]

comment = test smb user

path = /user_dir

write list = robin

valid users = robin tong @test

robin只读,tong和test组成员读写

[user_dir]

comment = test smb user

path = /user_dir

writable = yes

read list = robin

valid users = robin tong @test

自动挂载

一.3种方式挂载smb 匿名 和 user模式

1) vim /etc/rc.local

mount -t cifs -o username=boss,password=123 //192.168.206.20/hr /mnt/

2)[root@client /]# vim /etc/fstab

//192.168.206.20/hr /mnt cifs username=king,password=123 0 0

3)[root@client /]# vim /etc/auto.master

/smb /etc/auto.smb

[root@client /]# vim /etc/auto.smbdir

test -fstype=cifs,username=king,password=123 ://192.168.206.20/hr

三.ftp

ftp: file transfer protocol 文件传输协议

vsftpd: 服务名

lftp: 客户端名

软件安装: vsftpd-3.0.2-29.el7_9.x86_64.rpm

lftp-4.4.8-12.el7_8.1.x86_64.rpm

配置文件: /etc/vsftpd/vsftpd.conf

启动服务: systemctl restart vsftpd

端口: 被动模式 21 随机端口 端口模式: 21 20

服务器数据目录: /var/ftp/ (该目录全必须是755)

匿名模式

[root@nfsserver ~]# vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES 匿名模式开启

write_enable=YES 可以写

anon_upload_enable=YES 允许上传

anon_mkdir_write_enable=YES 允许创建

anon_umask=022 允许上传文件下载

anon_max_rate=20000 限制现在速度20KB

anon_root=/ftp #更改数据目录




mkdir /ftp
mkdir /ftp/pub
chmod o+x /ftp/pub
[root@nfsserver ~]# lftp 192.168.206.20
lftp 192.168.206.20:~> ls
-rw-r--r--    1 0        0            2307 Aug 19 06:16 passwd
drwxr-xr-x    2 0        0               6 Jun 09 16:15 pub
lftp 192.168.206.20:/> get passwd   #下载文件
2307 bytes transferred
lftp 192.168.206.20:/> mirror pub/  #下载目录
Total: 1 directory, 0 files, 0 symlinks
lftp 192.168.206.20:~> lcd /tmp/   #本地系统切换目录
lftp 192.168.206.20:/> cd pub
lftp 192.168.206.20:/pub> put /root/distroy.sh   #上传文件
lftp 192.168.206.20:/pub> mirror -R /boot/ #上传目录
lftp 192.168.206.20:/> exit

用户模式

[root@nfsserver ~]# useradd luci

[root@nfsserver ~]# useradd tong

[root@nfsserver ~]# passwd luci

[root@nfsserver ~]# passwd tong



[root@nfsserver ~]# lftp -u luci,123 192.168.206.20

[root@nfsserver ~]# lftp -u tong,123 192.168.206.20



[root@client ftp]# vim /etc/vsftpd/vsftpd.conf

local_enable=YES

write_enable=YES

local_umask=022

local_max_rate=40000

local_root = #修改本地用户登录位置

不允许本地用户随意切换目录

[root@client ftp]# vim /etc/vsftpd/vsftpd.conf

allow_writeable_chroot=YES #允许可以写的情况下 开启chroot

chroot_local_user=YES #限制所有用户都不能切换到其他目录



chroot_list_enable=YES #白名单

chroot_list_file=/etc/vsftpd/chroot_list 写入该列表的用户可以切换目录



[root@client ftp]# vim /etc/vsftpd/vsftpd.conf

allow_writeable_chroot=YES #允许可以写的情况下 开启chroot

chroot_local_user=NO #不限制用户都不能切换到其他目录



chroot_list_enable=YES #黑名单

chroot_list_file=/etc/vsftpd/chroot_list 写入该列表的用户不可以切换目录

控制用户登录

写入该文件的用户不能登录ftp

[root@client ~]# vim /etc/vsftpd/ftpusers



登录的黑白名单

黑名单

userlist_enable=YES

userlist_deny=YES



/etc/vsftpd/user_list 写入该文件用户不能登录



白名单

userlist_enable=YES

userlist_deny=NO



/etc/vsftpd/user_list 写入该文件用户可以登录,否则不能登录

vsftpd的工作模式

端口模式:21: 控制端口 控制客户端与服务器建立连接    20:数据端口  建立连接后传输数据

 

默认: 服务器两种模式都是开放的,由客户端选择链接模式

客户端配置文件:/etc/lftp.conf

set ftp:passive-mode off 主动模式

set ftp:passive-mode on 被动模式 默认注释 默认被动

虚拟帐号:

1.建立用户数据库文件

vim /etc/vsftpd/vipuser.txt

user111

pass111

user222

pass222

2.安装数据库转换工具

yum install libdb-utils

db_load -T -t hash -f /etc/vsftpd/vipuser.txt /etc/vsftpd/vsftpd_vipuser.db

如果需要添加先账号 需要重新转换用户文件

3.建立验证模式文件

# mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

# vim /etc/pam.d/vsftpd

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_vipuser

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_vipuser

4.建立一个所有虚拟用户使用的系统用户

# useradd -d /home/vsftp virtual

# chmod 755 /home/vsftp

5.修改配置文件启用虚拟用户

[root@client ~]# vim /etc/vsftpd/vsftpd.conf

guest_enable=YES # 开启虚拟用户功能

guest_username=virtual # 指定虚拟用户使用的系统用户

pam_service_name=vsftpd # 以/etc/pam.d/验证模式文件名相同

[root@client ~]# systemctl restart vsftpd

客户端测试登陆

lftp -u user111,pass111 192.168。206.20

lftp -u user222,pass222 192.168.206.20

为虚拟用户设置不同权限

方法一.

虚拟用户使用与本地用户相同权限

virtual_use_local_privs=YES

虚拟用户使用与匿名用户相同权限

virtual_use_local_privs=NO

方法二.

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/vsftp_user_conf

mkdir /etc/vsftpd/vsftp_user_conf

[root@client nfs]# cat /etc/vsftpd/vsftp_user_conf/user111

write_enable=NO

local_max_rate=20000

local_root=/nfs

[root@client nfs]# cat /etc/vsftpd/vsftp_user_conf/user222

local_max_rate=100000

local_root=/nfs

 

标签:ftp,samba,etc,192.168,vsftpd,NFS,nfs,root,dir
来源: https://blog.csdn.net/zhangt123321/article/details/121465938

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有