编写安装配置ftp-samba服务脚本

本脚本实例的要求如下:


1、公司有公共共享目录public,所有员工均可读写,但不允许删除其他员工的文件;不能匿名登录


2、每部门均有共享目录,部门经理可读写,部门员工可读;

  非本部门员工不能访问(caiwu、renshi、yewu、kaifa、kefu部,每部门均有多名员工)


3、所有员工均有个人目录,其他人均不能访问


4、为满足不同员工的访问习惯,以上访问要求通过FTP与SAMBA能同样访问


5、要求用脚本实现

   A、安装配置自动完成

   B、添加用户时自动完成访问设置


【目录规划】:

/data/public

caiwu(存放用户宿主目录)

renshi)

yewu

kaifa

kefu


caiwu-pub(部门公共目录)

rensh-pub

yewu-pub

kaifa-pub

kefu-pub

目录权限:750 属主:部门经理;属组:部门组



【用户宿主目录示例】:

/data/caiwu/cw1

cw2

cw3


【添加用户命令示例】:

useradd -g caiwu -d /data/caiwu/cw1 cw1


【ftp用户访问根目录】:

local_root=/data


【ftp关闭匿名访问】:

anonymous_enable=YES(改成NO)


【samba配置文件添加共享示例】:

[public]

path=/data/public

public=yes

writable=yes

[caiwu-pub]

path=/data/caiwu-pub

valid users=@caiwu

write list=cw-jl


【ftp-samba-install脚本如下】:

#!/bin/bash

yum -y install vsftpd samba*

sed -i "s/anonymous_enable=YES/anonymous_enable=NO/" /etc/vsftpd/vsftpd.conf

echo "local_root=/data" >> /etc/vsftpd/vsftpd.conf

mkdir -p /data/public

mkdir -p /data/caiwu

mkdir -p /data/renshi

mkdir -p /data/yewu

mkdir -p /data/kaifa

mkdir -p /data/kefu

mkdir -p /data/caiwu-pub

mkdir -p /data/renshi-pub

mkdir -p /data/yewu-pub

mkdir -p /data/kaifa-pub

mkdir -p /data/kefu-pub

groupadd caiwu

groupadd renshi

groupadd yewu

groupadd kaifa

groupadd kefu

useradd -g caiwu -d /data/caiwu/cw-jl cw-jl

useradd -g renshi -d /data/renshi/rs-jl rs-jl

useradd -g yewu -d /data/yewu/yw-jl yw-jl

useradd -g kaifa -d /data/kaifa/kf-jl kf-jl

useradd -g kefu -d /data/kefu/kefu-jl kefu-jl


chown cw-jl:caiwu /data/caiwu-pub

chmod 750 /data/caiwu-pub

chown rs-jl:renshi /data/renshi-pub

chmod 750 /data/renshi-pub

chown yw-jl:yewu /data/yewu-pub

chmod 750 /data/yewu-pub

chown kf-jl:kaifa /data/kaifa-pub

chmod 750 /data/kaifa-pub

chown kefu-jl:kefu /data/kefu-pub

chmod 750 /data/kefu-pub


chown cw-jl:caiwu /data/caiwu

chmod 750 /data/caiwu

chown rs-jl:renshi /data/renshi

chmod 750 /data/renshi

chown yw-jl:yewu /data/yewu

chmod 750 /data/yewu

chown kf-jl:kaifa /data/kaifa

chmod 750 /data/kaifa

chown kefu-jl:kefu /data/kefu

chmod 750 /data/kefu

chmod 1777 /data/public


echo "cw-jl:123" | chpasswd &> /dev/null

echo "rs-jl:123" | chpasswd &> /dev/null

echo "yw-jl:123" | chpasswd &> /dev/null

echo "kf-jl:123" | chpasswd &> /dev/null

echo "kefu-jl:123" | chpasswd &> /dev/null


echo "

[public]

path=/data/public

public=yes

writable=yes

[caiwu-pub]

path=/data/caiwu-pub

valid users=@caiwu

write list=cw-jl

[renshi-pub]

path=/data/renshi-pub

valid users=@renshi

write list=rs-jl

[yewu-pub]

path=/data/yewu-pub

valid users=@yewu

write list=yw-jl

[kaifa-pub]

path=/data/kaifa-pub

valid users=@kaifa

write list=kf-jl

[kefu-pub]

path=/data/kefu-pub

valid users=@kefu

write list=kefu-jl

" >> /etc/samba/smb.conf

service vsftpd start

service smb start


ftp-samba-useradd脚本如下】:

#!/bin/bash

read -p "please input username:" username

read -p "please input bumen:" bumen

useradd -g $bumen -d /data/$bumen/$username $username

passwd $username

pdbedit -a $username


本文转自甘兵 51CTO博客,原文链接:http://blog.51cto.com/ganbing/1242838,如需转载请自行联系原作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/279617.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用java实现excel转pdf文件

在有些需求当中我们需要抓取字段并且填充到excel表格里面,最后将excel表格转换成pdf格式进行输出,我第一次接触这个需求时,碰到几个比较棘手的问题,现在一一列出并且提供解决方案。 1:excel转pdf出现乱码: …

Jmeter HTTP请求后响应数据显示乱码解决方法

Jmeter请求后结果树里无论是text还是html响应数据显示乱码,这是因为jmeter 编码格式配置文件默认不开启导致的,解决方法如下: 1)进入jmeter-***\bin目录下,找到jmeter.properties文件,以文本文件形式打开 2…

禁用windows10更新_如何在Windows 10中禁用投影

禁用windows10更新The drop shadows on applications in the Windows 10 preview are really big and suspiciously similar to the ones in OS X, and if they aren’t your speed, you can easily remove them. We actually think they look good, but since somebody out th…

如何访问 Service?- 每天5分钟玩转 Docker 容器技术(99)

前面我们已经学习了如何部署 service,也验证了 swarm 的 failover 特性。不过截止到现在,有一个重要问题还没有涉及:如何访问 service?这就是本节要讨论的问题。 为了便于分析,我们重新部署 web_server。 ① docker se…

sqlyog下载

sqlyog下载(附注册码):http://www.onlinedown.net/soft/24926.htm转载于:https://www.cnblogs.com/shujuxiong/p/9474496.html

Linux配置手册(二)配置DHCP服务器

1.检查是否安装DHCP服务器软件 2.挂在RHEL5系统光盘 3.安装DHCP服务软件 4.将模板配置文件复制并覆盖现在的配置文件 5.配置修改dhcpd.conf文件 配置信息 默认租约时间 default-lease-time 最大租约时间 max-lease-time 局域网内所有主机的域名 option domain-name 客户机所使用…

什么是Google Play保护以及如何确保Android安全?

Android is open, flexible, and all about choice. Unfortunately, that flexibility comes more potential security issues. The good news is that Google has a system in place named Play Protect that helps keep Android secure. Android开放,灵活且具有多…

如何使计算机为您读取文档

Since the beginning of the computer age, people have always enjoyed making computers talk to them. These days, that functionality is built right into Windows and you can easily use it to have your PC read documents to you. 自计算机时代开始以来,人…

面试中常问的List去重问题,你都答对了吗?

2019独角兽企业重金招聘Python工程师标准>>> 面试中经常被问到的list如何去重,用来考察你对list数据结构,以及相关方法的掌握,体现你的java基础学的是否牢固。 我们大家都知道,set集合的特点就是没有重复的元素。如果集…

Coolite Toolkit学习笔记五:常用控件Menu和MenuPanel

Coolite Toolkit里的Menu控件和其他的.NET Web控件不一样,如果只是设计好了Menu或是通过程序初始化菜单项,菜单是不会呈现在界面上的,因为Coolite Toolkit规定Menu控件需要一个容器来做依托,而这个让Menu依托的控件就是MenuPanel&…

刚接触git,提交文件时,遇到no changes added to commit

第一次用git 在提交(git commit -m add 文件名)的时候,遇到了一个no changes added to commit,大体意思是没有将改变的东西提交成功,查了很多博客,才解决这个问题,然后自己也做一下笔记&#…

CSS中!important的使用

本篇文章使用最新的IE10以及firefox与chrome测试(截止2013年5月27日22:23:22)http://www.cnblogs.com/yudy/archive/2013/05/27/3102825.html CSS的原理: 我们知道,CSS写在不同的地方有不同的优先级, .css文件中的定义…

windows命令提示符_如何个性化Windows命令提示符

windows命令提示符Command line interfaces can be downright boring and always seem to miss out on the fresh coats of paint liberally applied to the rest of Windows. Here’s how to add a splash of color to Command Prompt and make it unique. 命令行界面可能非常…

android-api28转换到api19-不能编译

安装出现错误- rootponkan:/ # pm install /mnt/usb/sda1/app-debug.apkpkg: /mnt/usb/sda1/app-debug.apk Failure [INSTALL_FAILED_OLDER_SDK]查看系统和api版本 rootponkan:/ # getprop ro.build.version.release 5.1.1 rootponkan:/ # getprop ro.build.version.sdk 22将ap…

Java多线程编程 — 锁优化

2019独角兽企业重金招聘Python工程师标准>>> 阅读目录 一、尽量不要锁住方法 二、缩小同步代码块,只锁数据 三、锁中尽量不要再包含锁 四、将锁私有化,在内部管理锁 五、进行适当的锁分解 正文 并发环境下进行编程时,需要使用锁机…

Android Ap 开发 设计模式第六篇:原型模式

Prototype Pattern 名称由来 不是利用类来产生实例对象,而是从一个对象实例产生出另一个新的对象实例 ,根据被视为原型的对象实例 ,建立起的另一个新的对象实例就称为原型模式(Ptototype Pattern)。 需求场景 种类过多…

netty实现客户端服务端心跳重连

前言: 公司的加密机调度系统一直使用的是http请求调度的方式去调度,但是会出现网络故障导致某个客户端或者服务端断线的情况,导致很多请求信息以及回执信息丢失的情况,接着我们抛弃了http的方式,改为Tcp的方式去建立客…

为什么您仍然不应该购买《星球大战:前线II》

If you’ve been following video game news at all for the last couple of weeks, you’ve probably heard that EA’s Star Wars: Battlefront II is having some teething troubles. EA has backpedaled to avoid more controversy, but we’re here to say: don’t fall f…

web 后台返回json格式数据的方式(status 406)

1.在类上使用注解 RestController public class HttpComentInterface {} 2.在方法是使用注解 ResponseBody RequestMapping(path "/interface/queryRemote", method RequestMethod.POST) //可以指定请求方式ResponseBody public RemoteCommentResultData queryCo…

OpenStack Juno系列之计算节点搭建

OpenStack Juno系列之计算节点搭建 nova-compute安装配置 -------------------- apt-get install nova-compute sysfsutils 编辑配置文件 vi /etc/nova/nova.conf [DEFAULT] verbose True rpc_backend rabbit rabbit_host controller rabbit_password RABBIT_PASS auth_str…