centos搭建好smb把硬盘挂载到smb用户目录手机电脑连上smb看不到已经存在的文件,只能看到smb用户创建的文件?啥情况? 360N7Pro(黑)
@上善若水,只能看到属于smb用户的文件。使用以下命令修改文件所属用户:
chown -R smb用户名:smb用户名 /home/smb用户名
如果你挂载的文件系统是Windows的,可能不支持chown,你可能需要在挂载时指定所属用户。
比如挂载NTFS:
mount -t ntfs-3g -o uid=smb用户名,gid=smb用户名 /dev/设备名 /home/smb用户名
@老虎会游泳,chown -R后面应该是用户名:用户组吧你弄俩用户名。 我还是只能看到,挂载硬盘之后创建的文件。挂载硬盘之前硬盘已存在的文件看不到。 这是smb连上看到的内容:
这是我使用ls看到的内容:
我的smb用户文件存放目录不是/home/smb用户名。
即使我在ssh里把以前的文件通过mv移动到smb能看到的文件夹 里,es文件浏览器连接上smb还是看不到。
360N7Pro(黑)
@上善若水,总是有一个和用户名相同的组名。 如果真的无法解决,可以使用 chmod -R 0777 /home/用户名
chmod -R 0777 /home/用户名
如果挂载的是Windows文件系统,则需要在mount时指定。Windows文件系统(NTFS/FAT/FAT32/exFAT)不支持chmod,也不支持chown。
mount -t ntfs-3g -o uid=smb用户名,gid=smb用户名,fmask=000,dmask=000 /dev/设备名 /home/smb用户名 fmask和dmask为000,代表实际获得的权限为777 & ~000 = 777
mount -t ntfs-3g -o uid=smb用户名,gid=smb用户名,fmask=000,dmask=000 /dev/设备名 /home/smb用户名
777 & ~000 = 777
@上善若水,还有,smb用户名是指启动smb服务的用户名,不是指你挂载位置指向的用户名。通常,启动smb服务的用户名都是smb或者samba,你可以sudo cat /etc/passwd看看是哪个。 也可以sudo ps aux查看smb进程的运行用户。
smb
samba
sudo cat /etc/passwd
sudo ps aux
附加标准结尾:如果挂载的是Windows文件系统,则需要在mount时指定。Windows文件系统(NTFS/FAT/FAT32/exFAT)不支持chmod,也不支持chown。
修改所属用户或权限完成后,请ls -l /home/用户名来确认目录的实际用户名是否正确。
ls -l /home/用户名
@上善若水,顺便一提,它很可能要求你把所有文件都放在tuanjie这个子目录下。如果你能看到某个目录的内容,则把所有其他内容都移进去,然后修改权限为777,肯定能看到。
@老虎会游泳,没用啊,我ext4文件系统。 360N7Pro(黑)
@上善若水,你的root用户能看到那些文件吗? 你可以修改smb配置文件,使用root用户运行smb。 http://www.mamicode.com/info-detail-2418928.html
@上善若水,还有,你可以通过 ls -l来比较能看到的文件和不能看到的文件的所有者和权限的差别,然后把不能看到的文件的权限和所有者改成和能看到的文件一样的,然后移动到能看到的文件夹里面。
ls -l
如果还是看不到,说明你的SMB客户端有缓存,你应该刷新一下,或者换个SMB客户端。
@老虎会游泳,我在ssh里用cp复制硬盘里的文件到smb用户创建的文件夹里,smb也能看到,但是通过mv就不行。即使文件所有者和权限一模一样也不行。 360N7Pro(黑)
@上善若水,那只能考虑SELinux了。
# 使SELinux进入被动模式(相当于关闭) setenforce 0
Dan Walsh哭泣警告
@老虎会游泳,关闭SELinux就可以看到。 360N7Pro(黑)
@大药瓶子,sudo smbpasswd -a <smb用户名> 360N7Pro(黑)
@5258,你用的啥系统?centos? 360N7Pro(黑)
天猫专享优惠卷:http://fuligou.net.cn!