轉自
用Centos7搭建小微企業Samba文件共享服務器 - 今日頭條(www.toutiao.com)
http://www.toutiao.com/i6436937837660078593/
最近研究了一下Linux用戶權限和Samba文件共享,為了便於學習,通過一個實例來實現文件共享功能。
假設一個場景,某小微企業共有6人,其中4人為普通員工(user1-user4),2人為管理員(manager1,manager2)。為了便於工作,建立一個基於Centos7 的文件共享服務器,服務器上進行文件存儲、交換和發布。具體要求為:
1、 每個用戶(user、manager)都有自己獨立的文件夾,只能自己訪問,其他人不能訪問;
2、 建立一個交互文件夾,用於文件交互,每個人都可以上傳、下載、刪除;
3、 建立一個文件發布文件夾,用戶文檔發布,所有人都能訪問、下載,但只有manager用戶只能上傳。
Smba需求設計
具體實現方法為:
1、 安裝samba
# yum -y install samba
2、 在服務器上創建相應的目錄
#mkdir smb 將所有文件放在/home/smb/下
#cd smb/
#mkdir sharedocs publish user1 user2 user3 user4 manager1 manager2
3、 添加用戶組
我們將普通員工放在Group_user組里,管理員放在Group_manager組里
# groupadd Group_manager
# groupadd Group_user
4、 添加用戶
adduser -g Group_user -d /home/smb/user1 -s /sbin/nologin user1
注:-g 添加用戶的所屬組
–G 指定一個或多個擴展用戶組
-d 指定家目錄位置
-s 所用的SHELL,/sbin/nologin是特殊的SHELL,表示該用戶不能用於登陸系統
以上實現添加用戶user1到組Group_user里,並且禁止登陸系統,以此類推添加其他用戶
5、 添加samba用戶,並設置密碼
# smbpasswd -a user1
New SMB password:在這里添加user1的密碼
Retype new SMB password:重復秘密
以此類推添加其他用戶密碼
6、 配置相關目錄的權限和歸屬
#chmod -R 777 /home/smb/sharedocs
#chmod -R 777 /home/smb/publish
查看權限
#ls -ald !$ 注意!$表示上一條命令中最后一個參數
ls -ald /home/smb/sharedocs
drwxrwxrwx. 2 root root 6 6月 27 12:39 /home/smb/sharedocs
7、 配置smb.conf
vim /etc/samba/smb.conf 在smb.conf中添加以下內容
[sharedocs]
comment=Sharedocs
path=/home/smb/sharedocs
readonly=yes
write list = @Group_user,@Group_manager
create mask = 0775
directory mask = 0775
[publish]
comment=Publish
path=/home/smb/publish
readonly=yes
write list =@Group_manager
create mask = 0775
directory mask = 0775
8、 關閉selinux和防火牆
# setenforce 0 臨時關閉selinux
#systemctl stop firewalld.service 停止防火牆
#systemctl disable firewalld.service禁用防火牆
9、 Windows下登陸
登陸
如圖,登陸samba服務器地址,然后輸入用戶名和密碼,即可登陸。
登陸成功
另,測試中一旦用Windows登陸Samba,下次在登陸時仍保持上一次的用戶名,可使用
net use * /del /y 清除Samba登陸信息