Centos6配置samba服务器并批量添加用户和文件夹
一、需求
- 局域网内有若干用户,所有用户访问一个共享目录
- 每个用户在共享目录里有自己的文件夹
- 每个用户都可以读取其他人的文件夹
- 每个用户只能对自己的文件夹有写入权限
- 所有用户都属于filesgroup组
二、环境
服务器:Centos6
主机名:fileserver
IP地址:192.168.1.2
用户端IP网段: 192.168.1.0/24 , 192.168.2.0/24 , 172.16.1.0/24
三、配置步骤
1、安装samba,备份原始配置文件,编辑配置文件
[root@fileserver ~]# yum install samba samba-common samba-client [root@fileserver ~]# cp /etc/samba/smb.conf /root [root@fileserver ~]# vi /etc/samba/smb.conf以下显示的是编辑过的内容 #======================= Global Settings ===================================== [global] # ----------------------- Network Related Options -------------------------workgroup = FILEGROUP netbios name = FILESERVERinterfaces = lo eth0 192.168.1.2/24 # samba服务监听的网卡和IP地址hosts allow = 127. 192.168.1. 192.168.2. 172.16.1. # 允许接入的IP网段: 服务器本机 , 192.168.1.x , 192.168.2.x , 172.16.1.x# --------------------------- Logging Options -----------------------------log file = /var/log/samba/log.%m #默认不变max log size = 50 #默认不变# ----------------------- Standalone Server Options ------------------------security = user # 单机用户认证passdb backend = smbpasswd # 使用/var/lib/samba/private/smbpasswd 文本文件保存用户和密码#============================ Share Definitions ============================== # 这里注释掉了很多默认配置文件的设置,最后添加了自定义设置 #[homes] ; comment = Home Directories ; browseable = no ; writable = yes ; valid users = %S ; valid users = MYDOMAIN\%S#[printers] ; comment = All Printers ; path = /var/spool/samba ; browseable = no ; guest ok = no ; writable = no ; printable = yes# Un-comment the following and create the netlogon directory for Domain Logons ; [netlogon] ; comment = Network Logon Service ; path = /var/lib/samba/netlogon ; guest ok = yes ; writable = no ; share modes = no# Un-comment the following to provide a specific roving profile share # the default is to use the user's home directory ; [Profiles] ; path = /var/lib/samba/profiles ; browseable = no ; guest ok = yes# A publicly accessible directory, but read only, except for people in # the "staff" group ; [public] ; comment = Public Stuff ; path = /home/samba ; public = yes ; writable = yes ; printable = no ; write list = +staff# 自定义文件共享设置[files]comment = filespath = /opt/filespublic = nowritable = yesprintable = nowrite list = @filesgroup
2、添加组,创建共享文件夹,设置SELINUX
[root@fileserver ~]# groupadd filesgroup [root@fileserver ~]# mkdir /opt/files [root@fileserver ~]# chcon -t samba_share_t /opt/files
3、将samba设为开机自启动,启动samba
[root@fileserver ~]# chkconfig smb on [root@fileserver ~]# service smb start
4、批量添加用户
useradd -MN %u -s /sbin/nologin && echo %p | passwd --stdin %u && usermod -aG filesgroup %u && mkdir -p /opt/files/%d && chown -R %u: /opt/files/%d && echo -e "%p\n%p" | smbpasswd -a -s %u
指令解释:
- 此行指令由多条指令组成,指令之间用 && 连接,即上一条指令执行成功后才执行下一条
- %u 代表用户名,%p 代表密码,%d 代表用户文件夹
- 用户数量较少时可以在文本编辑器里编辑批量指令,每粘贴一行,用查找替换功能依次替换%u为用户名、%p为密码、%d为用户目录
- 用户数量很多时建议将用户名、密码、文件夹名写入文件,用脚本读取文件自动执行
逐条解释:
useradd -MN %u -s /sbin/nologin 添加用户,-MN表示不创建用户家目录和用户基本组,-s /sbin/nologin 表示用户不可登录服务器 echo %p | passwd --stdin %u 为用户设置密码(其实可以省略) usermod -aG filesgroup %u 将用户加入到filegroup组 mkdir -p /opt/files/%d 在共享目录创建用户文件夹 chown -R %u: /opt/files/%d 将用户文件夹owner设为用户自己 echo -e "%p\n%p" | smbpasswd -a -s %u 添加samba用户帐号,smbpasswd -a -s %u 是静默方式添加samba帐号,echo -e "%p\n%p" 是两次输出密码 %p,中间输出回车符 \n
5、设置共享目录所属组,为共享目录设置GUID,使所有用户创建的文件都属于filesgroup组,禁止filesgroup组以外的用户读取、执行
[root@fileserver ~]# chown -R :filesgroup /opt/fils
[root@fileserver ~]# chmod -R g+s /opt/files
[root@fileserver ~]# chmod -R o-rx /opt/files/
[root@fileserver ~]#
6、看一下生成的目录
[root@fileserver ~]# ls -ldZ /opt/files
drwxr-s---. root filesgroup unconfined_u:object_r:samba_share_t:s0 /opt/files
[root@fileserver ~]#
[root@fileserver ~]# ls -lZ /opt/files
drwxr-s---. user1 filesgroup unconfined_u:object_r:samba_share_t:s0 dir1
drwxr-s---. user2 filesgroup unconfined_u:object_r:samba_share_t:s0 dir2
drwxr-s---. user3 filesgroup unconfined_u:object_r:samba_share_t:s0 dir3
[root@fileserver ~]#
[root@fileserver ~]# ll /var/lib/samba/private/smbpasswd
-rw-------. 1 root root 1435 2015-04-13 16:59 /var/lib/samba/private/smbpasswd
[root@fileserver ~]#
致谢: http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.html
转载于:https://www.cnblogs.com/panblack/p/samba_batch_adding_users.html
Centos6配置samba服务器并批量添加用户和文件夹相关推荐
- ftp服务器目录创建文件夹,在FTP服务器上批量建立学生的文件夹
各校要建立ftp服务器,同时建立"学生学号+学生姓名"的文件夹.在教师机端建立文件夹.此方法利用半个小时就建立好全校3-6年级500余名学生姓名的文件夹. 1.相信很多信息技术老师 ...
- centos7 samba 离线安装_CentOS 7安装配置Samba服务器(挂载共享文件夹)
CentOS 7安装配置Samba服务器 CentOS 7下Samba服务器安装配置过程笔记. 假设我们有这样一个场景 共享名 路径 权限 SHAREDOC /smb/docs 所有人员包括来宾均可以 ...
- 项目七samba服务器,Centos 7 配置Samba服务器
Centos 7配置Samba服务器 1.Centos 7版本,内核: Linux 3.10.0-514.el7.x86_64 [root@tommy /]# hostnamectl #查看版本号 O ...
- RHEL5配置Samba服务器实现文件共享
为了Windows主机与Linux服务器之间的资源共享,同时实现访问的控制,Linux操作系统提供的Samba服务可以实现这样的控管.Samba服务为两中不同的操作系统架起了一座桥梁,使Linux系统 ...
- red hat Linux 配置Samba服务器(超详细:内含桥接模式)
前几天做实验,我一直配置不好,ip地址和samba服务器,内心接近崩溃.于是今天决定一步一步搞定它 实验环境 windows10.vm.redhat6 实验 vm 桥接 因为实验需要,所以我们选择vm ...
- ubunt配置samba服务器,匿名访问
samba作用: Samba的主要任务就是实现Linux系统和Windows系统之间的资源共享.我们现在是要在Linux下配置Samba,让Windows的用户可以访问linux下内容. 当然,也可用 ...
- Linux配置samba服务器
1 Linux 安装samba yum install -y samba 2 修改配置文件 添加用户 adduser root \\如果是当前linux登录用户,可以省略该步 smbpasswd -a ...
- ubuntu20.04配置samba服务器
ubuntu20.04配置samba服务器 安装samba sudo apt-get install samba samba-common 配置需要共享的目录 sudo chmod -R 777 /h ...
- 在红帽Linux上安装samba服务,如何在linux上安装配置samba服务器
如何在linux上安装配置samba服务器 更新时间:2019-10-29 22:40 最满意答案 1.首先需要登入安装了Linux系统的计算机,安装Samba.Fedora发行版一般使用yum工具安 ...
最新文章
- 使用 Laradock 10 分钟部署 Laravel 或 Notadd 环境
- js实现简单的循环打字效果(思路分享)
- java的内存管理机制
- s3c6410裸机程序(1)
- 1 京东_推荐好友拿好礼 | 每1积分可兑换30元京东电子卡
- [react] react中的setState是同步还是异步的呢?为什么state并不一定会同步更新?
- 漫话:为什么计算机用补码存储数据?
- [Python 网络编程] TCP、简单socket模拟ssh (一)
- ES6学习(var,let,const区别)
- js预览本地word文档_怎么免费下载百度文库付费文档?
- boost1.7 centos7编译
- java中int算法的有趣现象
- .Net获取URL中文参数值乱码问题
- 【Dubbo篇】--Dubbo框架的使用
- [转载]AxureRP学习成长之路
- MapGIS教程-常见问题处理
- Spring+Quartz实现文件中转站
- apache 服务器的 Option Indexes,AllowOverride,Order Allow,Deny 详解
- Android集成LeanCloud用户反馈SDK要注意点
- 海外众筹:kickstarter众筹创建成功项目分享
热门文章
- “Lephone.Data.DbEntry”的类型初始值设定项引发异常。(DbEntry.net3.9)
- CVPR2021 Oral | HOTR:不再需要后处理!Kakao Brain提出端到端Human-Object交互检测模型...
- CVPR 2020丨MAML-Tracker: 用目标检测思路做目标跟踪? 小样本即可得高准确率
- 干点大事!“覆盖25万人的AI资源对接平台”发布,找人、找技术不再难!
- PyImageSearch新出教程:Dlib多目标跟踪(附下载地址)
- mysql磁盘io高是什么造成_FAQ | 是什么导致MySQL数据库服务器磁盘I/O高(本文章来自知数堂)...
- 学习 |《神经网络与深度学习》的讲义
- 【图像处理】U-Net中的重叠-切片(Overlap-tile)
- 无人车制胜关键:Apollo决策系统全面剖析
- 佩斯大学计算机科学世界排名,美国佩斯大学留学推荐 计算机科学专业