在 smbfs 的旧时代,我使用代码页和 iocharset 选项,但 cifs 不支持代码页。我可以做什么?
嗨,我已使用以下 fstab 条目将我的 QNAP 安装到我的 ubuntu 机器上的驱动器上
//<ip-address>/Documents/Aly /home/aly/Documents cifs credentials=/root/.credentials,uid=1000,gid=1000,rw,hard,dir_mode=0777,file_mode=0777 0 0
Run Code Online (Sandbox Code Playgroud)
这提供了以下权限:
drwxrwxrwx 1 aly aly 0 2011-12-03 12:18 .
drwxr-xr-x 13 aly aly 4096 2011-12-03 12:14 ..
-rwxrwxrwx 1 aly aly 5 2011-12-03 11:55 test.tst
drwxrwxrwx 1 aly aly 0 2011-11-26 17:54 VirtualBox VMs
Run Code Online (Sandbox Code Playgroud)
我有删除文件和添加文件的权限,但是在尝试写入文件时,即 test.tst 我在 vi 中收到以下错误:
"test.tst" E212: Can't open file for writing
Run Code Online (Sandbox Code Playgroud)
以前有没有人见过这个,如果我通过 nfs 挂载驱动器,这不是问题,但是 nfs 缺乏我想要的安全性。
编辑
我得到的解决方案是:
<ip-address>:Documents/Aly/ /home/aly/Documents cifs hard,noperm,nouid,credentials=/root/.credentials,iocharset=utf8,file_mode=0777,dir_mode=0777,nodfs 0 0
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 CIFS 共享上使用 incron 或 inotifywait ,但 inotify 似乎不适用于此类安装(参见http://lists.samba.org/archive/linux-cifs-client/2009-April/004319 .html )。是否有其他方法可以通知 CIFS 共享的更改?
尝试将远程 Git 存储库克隆到 Linux 上的 CIFS 挂载目录。
错误是:
$ git clone ssh://git@github.com/ghuser/ghuser.git dir
Cloning into 'dir'...
fatal: Unable to create temporary file '/home/user/dir/.git/objects/pack/tmp_pack_XXXXXX': Permission denied
fatal: index-pack failed
Run Code Online (Sandbox Code Playgroud)
一些可能相关的信息:
$ uname -a
Linux myfarms-dev 3.12.0-1-ARCH #1 SMP PREEMPT Wed Nov 6 09:06:27 CET 2013 x86_64 GNU/Linux
$ cat /etc/fstab
...
//192.168.56.1/Code /home/user/dir cifs users,exec,noauto,credentials=/home/user/.smbcredentials,uid=user,gid=http,file_mode=0775,dir_mode=0775 0 0
$ umask
0002
Run Code Online (Sandbox Code Playgroud)
这个完全相同的过程适用于我们的大多数开发人员(即在 Linux 中安装 Windows 共享并将存储库克隆到其中),但不适用于这个开发人员。有任何想法吗?
编辑:到目前为止我采取的步骤:更新包,重新安装文件共享,检查 Windows 端目录的权限(对用户的完全访问权限)。该错误最初发生在现有存储库中的 git fetch 期间。尽管有 umask,Git(或其他东西)似乎在没有 u+w 权限的情况下创建 tmp_pack 文件。我删除了整个本地存储库并重新开始,导致在克隆时出现上述错误。
我正在尝试在我的 Unix 客户端上挂载 CIFS 共享。我的 Unix 客户端安装了 Samba。
# smbstatus
Samba version 3.6.9-151.el6
sudo mount -t cifs -o domain=domain_name,user=user_name,password=password,vers=2.1 //*ip_address*/share mount_directory
Run Code Online (Sandbox Code Playgroud)
我查看了 Wireshark 中的数据包跟踪,并在请求协商期间使用了 SMB1 协议。
从 Samba wiki 页面,我看到 Samba 3.6 支持 SMB2。如何改用 SMB2 协议?
我有这个场景:
域 A:
在一台运行 Windows 2012 的机器上,我创建了一个从驱动器 C: 到文件服务器上的文件夹的符号链接。然后我将此文件夹设为共享。我还确保允许所有链接类型:
C:\>fsutil behavior query SymlinkEvaluation
Local to local symbolic links are enabled.
Local to remote symbolic links are enabled.
Remote to local symbolic links are enabled.
Remote to remote symbolic links are enabled.
Run Code Online (Sandbox Code Playgroud)
当我尝试从运行 Windows 2012 或 Windows 2003 的同一域中的任何其他计算机访问此共享时,出现错误
… 不可访问。您可能无权使用此网络资源。请联系此服务器的管理员以了解您是否具有访问权限。
无法跟踪符号链接,因为其类型已禁用。
我需要以这种方式工作,因为最终我需要从运行在不同域上的机器访问共享,该机器可以访问我创建符号链接的机器;我无法从该域外部访问“真实”文件服务器。
我想在 Linux 服务器上为 2 个用户帐户安装一个 cifs 驱动器。
我为我或为 安装 cifs 驱动器没有问题sudo,但我需要安装它以便两个用户可以访问它:
sudo mount -t cifs -o username=BLAH,password=BLAH,uid=1000,gid=1000 //192.168.168.200/home /mnt/officenas
Run Code Online (Sandbox Code Playgroud)
这适用于我的访问,并且:
sudo mount -t cifs -o username=BLAH,password=BLAH //192.168.168.200/home /mnt/officenas
Run Code Online (Sandbox Code Playgroud)
工作正常sudo。
我如何允许 2 个没有sudo访问权限的独立用户对同一个安装的驱动器进行读/写访问?
坦率地说,手册页中有很多设置我不明白,因此我们将不胜感激。
我的 PC 上有一个 CIFS 挂载,ls命令显示某个文件在那里:
[bf@localhost dirX]$ ls -la
total 4096
drwxr-xr-x. 2 bf bf 0 20 okt 09:12 .
drwxr-xr-x. 2 bf bf 0 5 sep 11:05 ..
-rwxr-xr-x. 1 bf bf 880 19 okt 17:44 WeirdFile
-rwxr-xr-x. 1 bf bf 880 19 okt 17:44 GoodFile
Run Code Online (Sandbox Code Playgroud)
但是,当尝试从中读取(或保存到其中)时,它说该文件不存在:
[bf@localhost dirX]$ cat WeirdFile
cat: WeirdFile: No such file or directory
Run Code Online (Sandbox Code Playgroud)
试图cat GoodFile做的工作。
自从迁移到 Fedora 26 并且不得不在 fstab 中强制使用 2.1 版后,我无论如何都遇到了 CIFS 问题。主要问题是性能不佳(慢!),但这只是很奇怪。
重新安装共享时更新,文件消失了。
我有一些 smb v1 股票。(我知道 smbv1 很旧而且容易受到攻击,但我无法更改它)
由于旧的 smb 协议,我无法使用 nautilus 打开。相反,我使用 fstab 条目来挂载它们。中的条目/etc/fstab如下所示:
//smbserver/folder /media/user/smbserver/folder cifs credentials=/home/user/.smbcredentials,vers=1.0,noauto,user 0 0
Run Code Online (Sandbox Code Playgroud)
在 Mint 19 机器上,这很有用,但在新的 Fedora 30 安装上,我只收到以下错误:
$ mount /media/user/smbserver/folder
This program is not installed setuid root - "user" CIFS mounts not supported.
Run Code Online (Sandbox Code Playgroud)
我已经尝试为 设置 suid 位/usr/bin/mount,但这并没有改变任何东西。
如何在 Fedora 30 上挂载 smb 共享?