因为要考虑实际需要, 要把一个window文件服务器转换成Ubuntu Samba服务器, 因为单纯共享文件, 使用免费的linux可以节省资金.
当然安装Ubuntu服务器超简单, 没必要写什么了, 记得安装时只勾选OpenSSH和Samba 2个服务就好, 单纯共享文件足够了.
安装完毕登入输入如下命令把缺少的组件补全.
1 |
$ sudo apt-get install samba |
检查完毕然后添加本地账户和samba用户.
1 2 3 |
$ sudo useradd UserName (添加linux用户, 但是只能远程登陆, samba的登录密码可以和本机登录密码不一样) $ sudo touch /etc/samba/smbpasswd $ sudo smbpasswd -a UserName (添加密码到要建立的samba共享用户, 日后修改密码也是这个命令) |
输入两次密码确定密码.
建立如下的smbusers文件,
1 2 |
$sudo nano /etc/samba/smbusers 加入下面这一行并保存 |
1 |
UserName = “network username” |
作用是只指定远程登陆, 多用户可以在里面分别添加对应的命令.
添加完用户后, 就进行下一步添加网络共享目录, 首先要mount上自己要分享的分区.
1 |
$ sudo mount /dev/sda1 /media/share |
这样子切换到/media/share目录, ls一下看文件夹mount上没.
修改smb的配置文件.
1 |
$ sudo nano /etc/samba/smb.conf |
修改smb.conf文件, 搜寻这一行文字
1 |
; security = user |
修改成
1 2 |
security = user username map = /etc/samba/smbusers |
再在文件尾部添加如下代码, 作用是添加共享目录.
1 2 3 4 5 6 7 |
[myshare] comment = Ubuntu File Server Share path = /media/share browsable = yes guest ok = yes read only = no create mask = 0755 |
然后保存, 重启samba服务, 这样子应该在网络邻居看到一个名叫myshare的共享文件夹了.
1 2 |
$ sudo restart smbd $ sudo restart nmbd |
因为配置了guest就可以访问, 不用输入密码, 但是任何人都可以添加和删除文件, 不太符合一般公司实际需要, 下一步就要进行共享权限管理和设置.
上面已经配置了一个名叫UserName的samba账户. 所以如果需要分别设置权限, 就把上面的smb.conf文件里面的guest账户关闭.
1 |
guest ok = yes |
修改成
1 |
guest ok = no |
然后重启samba服务, 这样子就会提示输入账户和密码. 设置/media/share的权限, 让 UserName可以读写.
修改分享的权限要用到如下3个命令.
1 2 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 😉 |
例如你只想共享一个文件夹(testfolder)只有指定用户(test)可以访问就用如下命令:
1 2 3 |
$ sudo chown test:tech testfolder(修改testfolder为test拥有, test为用户名, tech为它所属组, testfolder为要指定的文件夹) $ sudo chmod 770 -R testfolder(修改文件夹为只有所有者能读写) $ list -l |
这样子用查看到的权限入这样子, drwx意义为只有文件拥有者可以读写, 其他任何人都没法访问, 包括浏览.
1 |
drwx------ 2 test tech 4096 Apr 8 2013 testfolder |
添加一个组和添加用户到组的简单命令如下
1 2 |
$ sudo addgroup groupname $ sudo adduser username groupname |
完成以上设置已经差不多了,但是我们要添加自己要共享的分区到自动mount里面去, 这样子开机时就会自动mount上要共享的分区.
1 2 |
$ sudo fdisk -l 查看分区里表如下 |
Device Boot Start End Blocks Id System
/dev/sda1 567107584 976707631 204800024 83 Linux
修改mount表
1 |
$ sudo nano /etc/fstab |
添加一行如下
1 |
/dev/sda1 /media/share ext4 defaults 0 1 |
保存重启电脑,
1 |
cd /media/share |
查看是否已经开机自动mount上.
到此基本就差不多完成了, 以下列出参考资料: