搭建公司的linux下的文件服务器

 
 
搭建公司的linux下的文件服务器
1.       查询软件包是否安装(关系到samba 服务功能是否能用)
2.       启动smb 服务
3.       创建用户设置本地密码并添加到smb 服务器上再次设置smb 的密码(本地密码必须设置否则会登录不上去)
4.       在客户机上登录
查询smb 软件包是否安装。若没有安装则将rhel.5.0 光盘挂载到一个目录下然后执行rpm –ivh / 挂在目录/Server/samba-3.0.23c-2.i386.rpm 即可
开启服务。用samba 服务肯定得先将smb 服务开启。默认是必须要用户验证的。所以还要添加本地用户。设置本地密码。并设置smb 的用户名和密码。Smbpasswd –a mafei 是指设置smb 的密码。-a 是指将用户加入到samba 服务器里面默认都是可以登录的并且权限都是最大的。如果不想让用户使用过大的权限的话。修改Linuxsamba 服务器的用户目录的权限。或者设置smb 本地用户的权限即可。
 

[root@server ~]# rpm -qa | grep smb
gnome-vfs2-smb-2.16.2-4.el5
pam_smb-1.1.7-7.2.1
[root@server ~]# /etc/rc.d/init.d/smb restart
关闭 SMB 服务:                                             [ 失败]
关闭 NMB 服务:                                             [ 失败]
启动 SMB 服务:                                             [ 确定]
启动 NMB 服务:                                             [ 确定]
[root@server ~]# adduser mafei
[root@server ~]# passwd mafei
Changing password for user mafei.
New UNIX password:
BAD PASSWORD: it is WAY too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@server ~]# smbpasswd -a mafei
New SMB password:
Retype new SMB password:
Added user mafei.
在客户机上验证(一定要保证samba 服务器和客户机的连通)
 

 

 
修改samba 服务的配置文件
 

[root@server ~]# vi /etc/samba/smb.conf
………………………
 
# ----------------------- Standalone Server Options ------------------------
#
# Security can be set to user, share(deprecated) or server(deprecated)
#
# Backend to store user information in. New installations should
# use either tdbsam or ldapsam. smbpasswd is available for backwards
# compatibility. tdbsam requires no further configuration.
 
        security = user
        passdb backend = tdbsam
…….
;        printable = no
;        write list = +staff
 
修改配置文件。创建公用目录。将安全性改为共享。并开启guest 用户。重启服务使配置 生效。
在客机上登录后就不用输入密码直接登录可以看到公用文件夹了。默认为只读。如果想让公用文件夹添加写入功能的话。在配置文件中的公用文件夹目录内添加一条writable=yes 即可
并设置Linuxsamba 服务器的公用文件夹目录的本地权限为其他写入(chmod 007 /etc/public )即可
 
修改后的文件
[root@server ~]# mkdir /etc/public
[root@server ~]# vi /etc/samba/smb.conf
#
 
# ----------------------- Standalone Server Options ------------------------
#
# Security can be set to user, share(deprecated) or server(deprecated)
#
# Backend to store user information in. New installations should
# use either tdbsam or ldapsam. smbpasswd is available for backwards
# compatibility. tdbsam requires no further configuration.
 
        security = share
        guest ok = yes
        passdb backend = tdbsam
 
 
[public]
        path = /etc/public
        public = yes
[root@server ~]# service smb restart
关闭 SMB 服务:                                             [ 确定]
关闭 NMB 服务:                                             [ 确定]
启动 SMB 服务:                                             [ 确定]
启动 NMB 服务:                                             [ 确定]
 
 
 
 
查询vsftpd 软件包是否安装启动vsftpd 服务即可。
 

[root@server ~]# rpm -qa | grep vsftpd
vsftpd-2.0.5-16.el5
[root@server ~]# service vsftpd restart
关闭 vsftpd                                               [ 确定]
vsftpd 启动 vsftpd                                     [ 确定]
 
搭建的匿名ftp 服务器默认只有只读权限不能做任何设置。
如果想让匿名用户上传的话则直接找到anon_upload_enable=YES 把注释去掉即可

[root@server ~]# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root):
530 Permission denied.
Login failed.
ftp> mkdir /aa
530 Please login with USER and PASS.
ftp> bye
221 Goodbye.
[root@server ~]# ls /var/ftp/pub/
 
在文件中查找指定文字
在查看文件过程中非插入模式下输入    / 要查询的部分匹配文字

anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES
#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
/anon_upload_enable                // 在查看文件中输入/ 要查找的文字即可
 
设置anon_max_rate=1 匿名用户的最大速度为1 字节( 为了看效果) 重启服务使配置生效
 

[root@server ~]# vi /etc/vsftpd/vsftpd.conf
 
anon_upload_enable=YES
anon_max_rate=1
 
[root@server ~]# service vsftpd restart
关闭 vsftpd                                               [ 确定]
vsftpd 启动 vsftpd                                     [ 确定]
 

 
 
搭建公司自己的ftp服务器每个员工有
自己的帐号密码的。
修改ftp 配置文件添加
能让本地用户登录这条配置    local_enable=YES

[root@server ~]# vi /etc/vsftpd/vsftpd.conf
# Uncomment this to allow local users to log in.
local_enable=YES
如果不想让匿名用户登录的话直接修改配置文件中的anonymous_enable=NO 即可意思为禁止匿名用户登录                     
登录时会提示输入用户名和密码。否则禁止登陆
 

 

 

 

 
在客户机上创建目录
在服务器上查看在宿主目录下

[root@server ~]# ls /home/mafei
fei ma
 
说白了也是为了公司服务器的安全考虑。如果同时有多个人同时上传和下载。服务器适应不过来直接冒烟那。。。
修改配置文件添加一条local_max_rate=1 限制最大传输率为1 字节(为了实验需要。,。)
重启服务使配置生效

 
[root@server ~]# vi /etc/vsftpd/vsftpd.conf
local_enable=YES
local_max_rate=1
 
[root@server ~]# service vsftpd restart
关闭 vsftpd                                               [ 确定]
vsftpd 启动 vsft                                          [ 确定]
 

1.       让部分用户不能登录ftp 服务器.
其实就是配置一条userlist_enable=YES 使user_list 文件起作用,( 专业一点生效)( 如果不配置的话那user_list 中配置什么都不起作用. 查错有时候就是在这里)
在配置一条userlist_deny=YES 就是禁止user_list 文件中的用户登录 即可实现禁止部分用户的禁止登录服务器. 不想让哪些用户登录服务器将哪些用户写到user_list 文件中就OK ( 有点诅咒的意思啊,)
2.       服务器只让部分用户登录
其实也一样. 配置一条userlist_enable=YES 先让user_list 文件生效
 
/etc/vsftpd/ 目录下有

[root@server ~]# cd /etc/vsftpd
[root@server vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
 
Ftpusers user_list 文件中均包含一份ftp 用户名的列表两个文件虽然都用于ftp 用户的控制,但是具体作用存在一些差别。
Ø Ftpusers 文件:该文件中抱哈的用户帐号将被禁止登录vsftpd 服务器不管该用户是否在user_list 中出现。
Ø User_list 文件: 该文件中包含的用户帐号可能被禁止登录。也可能被允许登录,具体在主配置文件vsftpd.conf 中决定。当存在userlist_enable=yes 的配置项时。User_list 文件生效,如果配置userlist_deny=yes 则仅禁止列表中的用户帐号登录,如果配置userlist_deny=no 则允许列表中的用户帐号登录
Ftpusers 文件为vsftpd 服务器提供了一份用于禁止登录的ftp 用户列表,而user_list 文件提供了一份可灵活控制的ftp 用户列表,二者相互结合,为ftp 用户控制提供了良好的基础
 
默认情况下ftpusers 文件中的用户都是禁止登录的。而userlist 中的用户都是可以登录的。如果想禁止哪些用户登录的话直接将用户名添加到ftpusers 文件中即可。
本案例中建立用户mafei Ma 要求mafei 能登录ma 不能登录

[root@server vsftpd]# adduser ma
[root@server vsftpd]# passwd ma
Changing password for user ma.
New UNIX password:
BAD PASSWORD: it is WAY too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
ma 用户添加到ftpusers 文件中即可实现用户的非登陆

[root@server vsftpd]# vi ftpusers
# Users that are not allowed to login via ftp
root
bin
nobody
ma
mafei ma 两个用户分别登录验证效果
mafei 登录后可以登录成功。而 ma 登录不成功进入匿名用户模式

[root@server vsftpd]# ftp localhost           // 登录本地服务器
Connected to localhost.localdomain.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): mafei                      // 用用户mafei 登录并输入密码
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd                                     // 查看当前所在目录验证登录成功
257 "/home/mafei"
ftp> bye                                      // 退出ftp 服务器的登录
221 Goodbye.
[root@server vsftpd]# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): ma
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp> pwd
530 Please login with USER and PASS.
查看配置文件
本配置中user_llist_enable=yes 所以在user_list 中的用户都可以登录
Ftpusers 文件
[root@server ~]# vi /etc/vsftpd/vsftpd.confpam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
 
服务器只能让mafei 登录其他用户都不能登录。 ( 一定注意设置之前一定要保证所有用户能够正常登录服务器系统才行啊)
配置服务器只让指定用户登录的话就直接配置使userlist 中的用户才能登录即可
具体配置如下:
mafei 用户添加到user_list 中先设置userlist_enable=YES 使user_list 文件生效. 在设置userlist_deny=NO, 使仅允许列表中的用户账户登录
 

 
[root@server vsftpd]# vi user_list
operator
games
nobody
mafei
 
[root@server vsftpd]# vi vsftpd.conf
pam_service_name=vsftpd
userlist_enable=YES                   // 配置使user_list 文件生效
userlist_deny=NO                        // 配置仅允许列表中的用户账户登录
tcp_wrappers=YES
 
[root@server vsftpd]# service vsftpd restart
关闭 vsftpd                                               [ 失败]
vsftpd 启动 vsftpd                                     [ 确定]
 
 
验证效果. 只有mafei 用户能够登录上ftp 系统中.ma 用户不能登录ftp 系统

[root@server vsftpd]# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): mafei                                 // 用户 mafei 可以成功登录
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/home/mafei"
ftp> bye
221 Goodbye.
[root@server vsftpd]# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): ma                   // ma 登录直接被拒绝了
530 Permission denied.
Login failed.
ftp> pwd
530 Please login with USER and PASS.
ftp> bye
221 Goodbye.
 
 
 
 
 

作用范围
配置项及示范
含义说明
匿名用户
Anonymous_enable=YES
是否允许匿名访问
Anon_umask=022
设置匿名用户所上传文件的默认权限掩码值
Anon_upoload_enable=YES
是否允许匿名用户上传文件
Anon_mkdir_write_enable=YES
是否允许匿名用户有创建目录的写入权限
Anon_other_write_enable=YES
是否允许匿名用户有其他写入权限,。如对文件改名。覆盖。以及删除文件等权限
Anon_max_rate=0
显示匿名用户的最大传输速率(0 为无限制)单位为字节
Anon_root=/var/ftp
设置匿名用户的ftp 根目录(默认为/var/ftp 目录下)
本地用户
Local_enable=YES
是否允许本地系统用户访问
Local_umask=022
设置本地用户所上传文件的默认权限掩码值
Local_root=/var/ftp
设置本地用户的ftp 根目录(默认为本地用户的宿主目录)
Local_max_rate=0
限制本地用户的最大传输速率(0 为无限制) ,单位为字节
Chroot_local_user=YES
是否将ftp 本地用户禁锢在宿主目录内(即只能在自己的目录下)
全局配置
Listen=YES
是否以独立运行的方式监听服务
Listen_port=21
设置监听ftp 服务的端口号
Write_enable=YES
启用任何形式的写入权限(如上传。删除文件等)都需要启用此功能
Download_enable=YES
是否允许下载文件(建立仅限于浏览上传的ftp 服务器时的内容)
Dirmessage_enable=YES
用户切换进入目录时显示的.message 文件(如果存在)的内容
Xferlog_enable=YES
启用xferlog 日志。默认记录到/var/log/xferlog 文件
Xferlog_std_format=YES
启用标准的xferlog 日志格式,若禁用此项将使用vsftpd 自己的日志格式
Connetc_from_port_20=YES
允许服务器主动模式(从20 端口建立数据连接)
Pasv_enable=YES
允许被动模式连接
Pasv_max_port=24600
设置用于被动模式的服务器最大端口号
Pasv_min_port=24500
设置用于被动模式的服务器最小端口号
Pam_service_name=vsftpd
设置用于用户认证的pam 文件位置(/etc/pam.d/ 目录中对应的文件名)
Userlist_enable=YES
是否启用user_list 用户列表文件
Userlist_deny=YES
是否禁止user_list 列表文件中的用户帐号
Max_clients=0
最多允许多少个客户端同时连接(0 为无限制)
Max_clients=0
对来自相同ip 地址的客户端。最多允许多少个并发连接(0 为无限制)
 
Tcp_wrappers=YES
是否启用TCP_wrappers 主机访问控制