Cố gắng đổi tên một tập tin thông qua Samba; không thành công nếu có '2' trong tên tệp


7

Đây có vẻ là một vấn đề kỳ lạ, hy vọng ai đó có thể làm sáng tỏ. Tôi thiết lập một số thư mục samba trên một vài máy chủ Ubuntu để người dùng thực hiện quản lý tệp. Sau khi chuyển tệp vào chia sẻ, người dùng đang cố đổi tên tệp từ máy tính Windows XP của họ thông qua samba, nhưng nhận được lỗi "Tên tệp bạn chỉ định không hợp lệ hoặc quá dài. Chỉ định tên tệp khác."

Tôi đã kiểm tra các quyền và làm hỏng nó từ Windows 7 và gặp vấn đề tương tự. Cuối cùng, tôi thấy rằng tôi có thể thay đổi tên tệp miễn là tên mới không bao gồm số '2'. Tên mới của tệp phải là '285870_full' và chúng tôi có thể đặt tên là '185870_full' và '385870_full' và bất cứ điều gì khác tôi có thể nghĩ để thử, nhưng '285870_full' đưa ra lỗi về "tên tệp bạn đã chỉ định không hợp lệ hoặc quá dài "

Tôi đã kết nối với máy chủ thông qua SSH và có thể đổi tên tệp theo cách đó mà không gặp bất kỳ lỗi nào. Bây giờ thông qua samba tôi có thể thấy tệp có tên '285870_full' và nếu tôi cố gắng thêm '2' khác, nó sẽ báo lỗi tương tự nhưng nếu không tôi có thể đổi tên bình thường.

Tôi đã thử với một tệp văn bản nhỏ ngẫu nhiên khác và có cùng một vấn đề - nó sẽ không cho phép tôi đổi tên nó thành bất cứ thứ gì có '2' trong tên mới, nhưng '134567890' hoạt động tốt. Có ý kiến ​​gì không?

Cập nhật: Tôi đặt cấp độ nhật ký thành 3 và đây là phần nhật ký có liên quan từ một bài kiểm tra;

reply_mv : pending/31345678901affiliate_pixel33.txt -> pending/31345678901affiliate_p22.txt
[2013/07/22 21:58:39, 3] smbd/reply.c:5981(rename_internals) rename_internals: case_sensitive = 0, case_preserve = 1, short case preserve = 1, directory = pending/31345678901affiliate_pixel33.txt, newname = pending/31345678901affiliate_p22.txt, last_component_dest = 31345678901affiliate_p22.txt
[2013/07/22 21:58:39, 3] smbd/dosmode.c:149(unix_mode) unix_mode(pending/31345678901affiliate_pixel33.txt) returning 0744
[2013/07/22 21:58:39, 2] smbd/open.c:580(open_file) root opened file pending/31345678901affiliate_pixel33.txt read=No write=No (numopen=1)
[2013/07/22 21:58:39, 2] smbd/close.c:612(close_normal_file) root closed file pending/31345678901affiliate_pixel33.txt (numopen=0) NT_STATUS_OK
[2013/07/22 21:58:39, 3] smbd/reply.c:6041(rename_internals) rename_internals: Error NT_STATUS_OBJECT_NAME_INVALID rename pending/31345678901affiliate_pixel33.txt -> pending/31345678901affiliate_p22.txt
[2013/07/22 21:58:39, 3] smbd/error.c:60(error_packet_set) error packet at smbd/reply.c(6273) cmd=7 (SMBmv) NT_STATUS_OBJECT_NAME_INVALID
[2013/07/22 21:58:39, 3] smbd/process.c:1459(process_smb) Transaction 14 of length 162 (0 toread)
[2013/07/22 21:58:39, 3] smbd/process.c:1273(switch_message) switch message SMBtrans2 (pid 11644) conn 0x7fad01371210

Tôi thấy việc đổi tên bằng '2' mang lại cho NT_STATUS_OBJECT_NAME_INVALID?

Đây là một snip log khác trong khi nó được đổi tên thành một cái gì đó mà không có '2'

[2013/07/22 22:05:33, 3] smbd/reply.c:6263(reply_mv) reply_mv : pending/31345678901affiliate_pixel33.txt -> pending/31345678901affiliate_44.txt
[2013/07/22 22:05:33, 3] smbd/reply.c:5981(rename_internals) rename_internals: case_sensitive = 0, case_preserve = 1, short case preserve = 1, directory = pending/31345678901affiliate_pixel33.txt, newname = pending/31345678901affiliate_44.txt, last_component_dest = 31345678901affiliate_44.txt
[2013/07/22 22:05:33, 3] smbd/dosmode.c:149(unix_mode) unix_mode(pending/31345678901affiliate_pixel33.txt) returning 0744
[2013/07/22 22:05:33, 2] smbd/open.c:580(open_file) root opened file pending/31345678901affiliate_pixel33.txt read=No write=No (numopen=1)
[2013/07/22 22:05:33, 3] smbd/reply.c:5816(rename_internals_fsp) rename_internals_fsp: succeeded doing rename on pending/31345678901affiliate_pixel33.txt -> pending/31345678901affiliate_44.txt
[2013/07/22 22:05:33, 2] smbd/close.c:612(close_normal_file) root closed file pending/31345678901affiliate_44.txt (numopen=0) NT_STATUS_OK
[2013/07/22 22:05:33, 3] smbd/reply.c:6041(rename_internals) rename_internals: Error NT_STATUS_OK rename pending/31345678901affiliate_pixel33.txt -> pending/31345678901affiliate_44.txt
[2013/07/22 22:05:33, 3] smbd/process.c:1459(process_smb) Transaction 72 of length 158 (0 toread)

Vì vậy, tôi tự hỏi tại sao '2' lại mang lại cho NT_STATUS_OBJECT_NAME_INVALID?


3
Đầu tiên, hãy đăng nhập vào samba và xem những gì nó nói vào thời điểm đó.
MadHatter

Chà, tôi không biết tại sao điều đó lại xảy ra nhưng tôi quyết định khởi động lại máy chủ và bây giờ vấn đề không còn xảy ra nữa! Cảm ơn bạn đã giúp đỡ.
user16081-JoeT 23/07/13

Câu trả lời:


1

Chà, SSH hoạt động!, Còn một vài trường hợp thử nghiệm nữa:

  • Còn thư mục có 2 trong tên của họ thì sao?
  • Còn "tạo" thay vì "đổi tên" thì sao? (sao chép một tập tin mới với 2 trong tên của nó)
  • những gì về việc sử dụng máy khách SMB của máy chủ của bạn (ví dụ: SMB: //192.168.0.1)

Vấn đề tương tự tồn tại?


cùng một vấn đề với hai cái đầu tiên, nó không hoạt động với số '2'
user16081-JoeT

Khởi động lại máy chủ và bây giờ vấn đề không còn xảy ra nữa! Cảm ơn bạn đã giúp đỡ.
user16081-JoeT 23/07/13
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.