Ubuntu建立Samba共享文件服务器的操作记录

因为要考虑实际需要, 要把一个window文件服务器转换成Ubuntu Samba服务器, 因为单纯共享文件, 使用免费的linux可以节省资金.
当然安装Ubuntu服务器超简单, 没必要写什么了, 记得安装时只勾选OpenSSH和Samba 2个服务就好, 单纯共享文件足够了.
安装完毕登入输入如下命令把缺少的组件补全.

$ sudo apt-get install samba

检查完毕然后添加本地账户和samba用户.

$ sudo useradd UserName (添加linux用户, 但是只能远程登陆, samba的登录密码可以和本机登录密码不一样)
$ sudo touch /etc/samba/smbpasswd
$ sudo smbpasswd -a UserName (添加密码到要建立的samba共享用户, 日后修改密码也是这个命令)

输入两次密码确定密码.
建立如下的smbusers文件,

$sudo nano /etc/samba/smbusers
加入下面这一行并保存
UserName = “network username”

作用是只指定远程登陆, 多用户可以在里面分别添加对应的命令.
添加完用户后, 就进行下一步添加网络共享目录, 首先要mount上自己要分享的分区.

$ sudo mount /dev/sda1 /media/share

这样子切换到/media/share目录, ls一下看文件夹mount上没.
修改smb的配置文件.

$ sudo nano /etc/samba/smb.conf

修改smb.conf文件, 搜寻这一行文字

; security = user

修改成

security = user
username map = /etc/samba/smbusers

再在文件尾部添加如下代码, 作用是添加共享目录.

[myshare]
    comment = Ubuntu File Server Share
    path = /media/share
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0755

然后保存, 重启samba服务, 这样子应该在网络邻居看到一个名叫myshare的共享文件夹了.

$ sudo restart smbd
$ sudo restart nmbd

因为配置了guest就可以访问, 不用输入密码, 但是任何人都可以添加和删除文件, 不太符合一般公司实际需要, 下一步就要进行共享权限管理和设置.
上面已经配置了一个名叫UserName的samba账户. 所以如果需要分别设置权限, 就把上面的smb.conf文件里面的guest账户关闭.

guest ok = yes

修改成

guest ok = no

然后重启samba服务, 这样子就会提示输入账户和密码.  设置/media/share的权限, 让 UserName可以读写.
修改分享的权限要用到如下3个命令.

chgrp 修改文件夹拥有组, 用法: chgrp gourpname foldername
chown 修改文件和文件夹拥有人, 用法: chown username folder name /or/ chown username file
chmod 修改文件和文件夹的拥有的读写权限, 用法: chmod 775(读写权限) filename /or/ chmod 775 -R foldername(更改文件夹下所有文件的权限)

权限参考表

Frequently used numeric parameters for chmod
755
The general preferred permissions for almost all the files on your disk
700
Extremely private data
500
Extremely private data that you would not like to accidentally modify. So write protect it
775
General files used when working as a Group (Others can only view/execute your files)
770
Important files used when working as a Group (Others cannot do anything with your files)
750
Allowing group to view your files but no write access (Others cannot do anything with your files)
777
Something you should never want to do 😉
Ubuntu文件权限参考资料: https://help.ubuntu.com/community/FilePermissions
可以分别用group组来设置文件夹权限: ubuntu添加账户和组的参考 https://help.ubuntu.com/10.04/serverguide/user-management.html

例如你只想共享一个文件夹(testfolder)只有指定用户(test)可以访问就用如下命令:

$ sudo chown test:tech testfolder(修改testfolder为test拥有, test为用户名, tech为它所属组, testfolder为要指定的文件夹)
$ sudo chmod 770 -R testfolder(修改文件夹为只有所有者能读写)
$ list -l

这样子用查看到的权限入这样子, drwx意义为只有文件拥有者可以读写, 其他任何人都没法访问, 包括浏览.

drwx------  2 test tech  4096 Apr  8  2013 testfolder

添加一个组和添加用户到组的简单命令如下

$ sudo addgroup groupname
$ sudo adduser username groupname

完成以上设置已经差不多了,但是我们要添加自己要共享的分区到自动mount里面去, 这样子开机时就会自动mount上要共享的分区.

$ sudo fdisk -l
查看分区里表如下

Device Boot      Start         End      Blocks   Id  System
/dev/sda1       567107584   976707631   204800024   83  Linux
修改mount表

$ sudo nano /etc/fstab

添加一行如下

/dev/sda1 /media/share ext4 defaults 0 1

保存重启电脑,

cd /media/share

 
查看是否已经开机自动mount上.
到此基本就差不多完成了, 以下列出参考资料:

http://www.codecoffee.com/tipsforlinux/articles/032-2.html
https://help.ubuntu.com/community/FilePermissions
http://www.maketecheasier.com/add-remove-user-to-groups-in-ubuntu/
https://help.ubuntu.com/10.04/serverguide/user-management.html
https://help.ubuntu.com/community/AutomaticallyMountPartitions
http://blog.csdn.net/c395565746c/article/details/5424196
http://wenku.baidu.com/view/7b9adb1e6bd97f192279e99c.html
http://blog.csdn.net/raindrophust/article/details/6249920
http://wiki.ubuntu.org.cn/Samba#smb.E7.94.A8.E6.88.B7.E5.AF.86.E7.A0.81
Leave a Reply

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注