Skip to content

Commit

Permalink
文档更新
Browse files Browse the repository at this point in the history
  • Loading branch information
jaywcjlove committed May 18, 2016
1 parent 53bdaf3 commit 1032eaa
Show file tree
Hide file tree
Showing 2 changed files with 156 additions and 1 deletion.
1 change: 1 addition & 0 deletions chmod.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,5 @@ chmod -R 755 /home/wwwroot/*
```bash
cd /home/wwwroot
chmod -Rv 755 * #注意:“*”表示通配符,指的是所有文件和文件
sudo chmod o+rw /shared #设置文件夹权限以保证其余用户可以访问它。
```
156 changes: 155 additions & 1 deletion samba.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,161 @@

1991年,还是大学生的[Andrew Tridgwell](https://en.wikipedia.org/wiki/Andrew_Tridgell),有三台机器,分别是Microsoft的DOS系统、DEC的Digital Unix系统、以及Sun的Unix系统。当时的技术无法让三者共享文件。为此,他开发了samba并将其开源。

本来改名为smbserver,但是一家商业公司注册了SMBServer商标。他被告知不能使用。于是执行了`grep -i '^s.*m.*b' /usr/share/dict/words`,从中选择了samba这个词。
本来改名为smbserver,但是一家商业公司注册了SMBServer商标。他被告知不能使用。于是执行了`grep -i '^s.*m.*b' /usr/share/dict/words`,从中选择了samba这个词。我觉得这个是一个好想法,以后我也得着么干😄。

# 安装

```bash
yum -y install samba samba-client samba-common
```

# 修改 samba 的配置文件

vim 在文件参数后面接 `+` 可以直接打开到文件末尾,相当于在命令行模式下按 `G`,然后直接按 `o` 可以在下一行插入下面内容。

```bash
sudo vim /etc/samba/smb.conf +
testparm # 测试smb.conf配置是否正确
testparm –v # 命令可以详细的列出smb.conf支持的配置参数
```

## 配置说明

```bash
[myshare]
comment = My share
path = /home/public # 共享路径
browseable = Yes # 可以被浏览,就是在网络邻居中能看到共享名
read only = No # 可读写
guest ok = Yes # 允许匿名访问,这个也需要设置,否则匿名无法访问
valid users = samba liuag guest # 有效的用户和组
invalid users = liuben # 无效用户和组
read list = samba # 只读用户和组(如果read only = No,只读用户需要在此设置)
write list = liuag # 可读写用户和组(如果read only = Yes,可读写用户需要在此设置)
allow hosts = 192.168.100.236 # 允许访问主机列表,支持通配符
deny hosts = 192.168.100.0/24 # 禁止访问主机列表,支持通配符


security = user #这里指定samba的安全等级。关于安全等级有四种:
# share:用户不需要账户及密码即可登录samba服务器
# user:由提供服务的samba服务器负责检查账户及密码(默认)
# server:检查账户及密码的工作由另一台windows或samba服务器负责
# domain:指定windows域控制服务器来验证用户的账户及密码。


```

# 重启服务

```
systemctl restart smb
systemctl reload smb
systemctl status smb
```

# 查看安装状况

```
rpm -qa|grep samba
```

# 设置开机自启动

```
chkconfig --level 35 smb on //在3、5级别上自动运行samba服务
```

# samba用户管理

```
pdbedit –a username:新建Samba账户。
pdbedit –x username:删除Samba账户。
pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。
pdbedit –Lv:列出Samba用户列表的详细信息。
pdbedit –c “[D]” –u username:暂停该Samba用户的账号。
pdbedit –c “[]” –u username:恢复该Samba用户的账号。
smbpasswd -a 增加用户(要增加的用户必须以是系统用户)
smbpasswd -d 冻结用户,就是这个用户不能在登录了
smbpasswd -e 恢复用户,解冻用户,让冻结的用户可以在使用
smbpasswd -n 把用户的密码设置成空.
要在global中写入 null passwords -true
smbpasswd -x 删除用户
```


`netstat -anlp | grep samba`

# 关闭防火墙

```bash
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #开机禁用防火墙
```


如何让Finder不在远程连接时产生`.DS_Store`打开Mac的Terminal,输入

```bash
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
```

然后重启Mac,再试试远程连接。

# 错误解决

## 增加samba用户提示Failed to add entry for user

```
[root@ubuntu ~]# smbpasswd -a wcj
New SMB password:
Retype new SMB password:
Failed to add entry for user wcj.
```

**解决办法:**

这是因为没有加相应的系统账号,所以会提示`Failed to add entry for user`的错误,只需增加相应的系统账号`wcj`就可以了:

`sudo useradd wcj`
`useradd -g test wcj` 注:新建wcj用户并增加到test工作组

而且samba的登录密码可以和本机登录密码不一样。

`sudo touch /etc/samba/smbpasswd`
`sudo smbpasswd -a wcj`


`smbclient -L \\192.168.0.104 -U username`
`smbclient //192.168.60.231/username` #登录Samba服务器


## session setup failed

[samba报错:session setup failed: NT_STATUS_LOGON_FAILURE 解决](http://shineforever.blog.51cto.com/1429204/317305/)

## 错误三

[Failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL解决](http://www.sotechdesign.com.au/samba-log-showing-error-failed-to-retrieve-printer-list/)

```
printing = bsd
printcap name = /dev/null
```


## 错误四

请检查服务器名称或 IP 地址,然后再试一次。如果问题持续发生,请联系系统管理员。

解决办法:重启电脑

# 参考

[samba官网](https://www.samba.org)
[Mac连接远程Linux管理文件(samba)](http://www.jianshu.com/p/fe7fd0286c4e)
[简单的配置 samba 共享](http://www.jianshu.com/p/a6d70f1fbfa1)
[Ubuntu下配置samba服务器](http://my.oschina.net/junn/blog/171388)
[linux6-samba服务器&SSH工具](http://www.jianshu.com/p/a6d70f1fbfa1)

0 comments on commit 1032eaa

Please sign in to comment.