Các cài đặt để sửa lỗi vsftpd hè 500 OOPS là gì: không thể thay đổi thư mục Lỗi lỗi?


13

Câu hỏi của tôi là tôi cần thay đổi cài đặt nào và / hoặc các lệnh để chạy để cho phép tôi đăng nhập vào hệ thống vsftpd của mình?

Tôi gặp lỗi này, khi tôi đăng nhập bằng ftp thay vì sftp:

Name (localhost:dbadmin): dbadmin
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/dbadmin
Login failed.
ftp> 

Điều này hoạt động khi đăng nhập bằng cách sử dụng sftp@, nhưng máy chủ của tôi đứng sau tường lửa và tôi cần có thể đăng nhập bằng ftp cũng như sftp.

Tôi đã xem xét khá nhiều bài viết về lỗi "OOPS" nhưng cho đến nay vẫn không có may mắn đăng nhập.

Dưới đây là một số thông tin về hệ thống và cài đặt của tôi:

Tôi đang chạy CentOS 6.4.

iptables và ip6tables bị dừng và vô hiệu hóa.

Thư mục nhà của tôi được bảo vệ 700, và tôi đã thử 750, chỉ để xem điều đó có làm nên sự khác biệt không. Nó đã không làm.

Dưới đây là các dòng hoạt động trong /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

Tên đăng nhập của tôi không có trong user_list.


Ngay cả tôi cũng gặp phải vấn đề tương tự ..> Hãy thử thay đổi quyền truy cập thành 775, nó đã làm việc với tôi.

Trong trường hợp sự cố vẫn xảy ra ngay cả khi bạn đã tắt selinux, vui lòng kiểm tra lại quyền của thư mục của bạn. Người dùng ftp của bạn có thực sự có quyền trong thư mục đó không? hoặc Có bất kỳ bit setgid nào được đặt ở cha của thư mục đó không? Một bit của thư mục mẹ có thể gây ra sự cố, nếu bạn cố gắng tạo thư mục mới bên dưới.
Chatchai Mao

Câu trả lời:


10

Chạy lệnh này, không cần khởi động lại bất kỳ dịch vụ & máy chủ nào:

# setenforce 0

Để kiểm tra trạng thái SELinux:

# getenforce

hoặc là

chỉnh sửa tập tin /etc/sysconfig/selinuxđể bao gồm

SELINUX=disabled

Làm như vậy sẽ yêu cầu khởi động lại.


3
Thật thú vị khi tôi nhận được một phiếu bầu giảm giá cho câu trả lời tương tự cách đây một năm rưỡi.
bạch tuộc

7

Mặc dù vô hiệu hóa Selinux bằng cách SELINUX=disabledgiải quyết vấn đề nhưng điều này sẽ không được khuyến khích. Bạn có thể cho phép người dùng ftp truy cập vào thư mục chính của mình bằng cách định cấu hình giá trị boolean của Selinux ftp_home_dirbằng cách chạy lệnh sau:

setsebool -P ftp_home_dir=1

Là các dấu kiểm phía sau cần thiết, hoặc kết quả của định dạng nội tuyến và khối của mã / lệnh?
Anthon

Không, backticks là không cần thiết.
suprjami

đây phải là câu trả lời tốt nhất để giải quyết vấn đề, để tránh làm giảm mức độ bảo mật của toàn hệ thống mà không có SELinux.
Tomofumi

Boolean ftp_home_dir không được xác định ??
Exlord

3

bạn luôn có thể cho phép FTP daemon truy cập đầy đủ vào tất cả các tệp bằng cách chạy

setsebool -P allow_ftpd_full_access 1

2

Tôi đã vô hiệu hóa selinux bằng cách làm theo các hướng dẫn ở đây . Tôi đã có thể đăng nhập không sử dụng sftp.

Để vô hiệu hóa vĩnh viễn, tôi chỉnh sửa /etc/selinux/configvà thiết lập

SELINUX=disabled

Sau khi khởi động lại, tôi đã có thể đăng nhập bình thường.


2
Vô hiệu hóa SELinux là một bước khắc phục sự cố để xác định xem liệu Selinux có phải là nguyên nhân của sự cố không, không phải là giải pháp cuối cùng. Khi bạn đã xác định SELinux là nguyên nhân, bạn nên xem xét từ chối AVC của mình và xác định loại boolean nào bạn cần thay đổi hoặc thực hiện chính sách tùy chỉnh với các công cụ SELinux. Vô hiệu hóa Selinux vĩnh viễn không phải là một ý tưởng tốt.
suprjami

0

Có lẽ người dùng không có đặc quyền thực thi trên thư mục nhà của họ. Biểu diễn:

chmod +x /home/user

hoặc là,

chmod 700 /home/user

0

Hy vọng điều này có thể giúp đỡ.

local_root=/var/www/ftp/$USER
user_sub_token=$USER

1
Chào mừng đến với trang web và cảm ơn bạn đã đóng góp. Bạn có phiền thêm giải thích thêm về cách (tức là bằng cơ chế nào) câu trả lời của bạn giải quyết vấn đề ban đầu không? Điều này có thể khiến những người khác phải đối mặt với một vấn đề tương tự sâu sắc hơn về lý do tại sao họ có vấn đề này ngay từ đầu.
AdminBee

-1

Chạy setenforce 0như một câu trả lời khác đề nghị không làm việc cho tôi.

Lệnh sau đã giải quyết vấn đề:

chmod -R 755 /home/dbadmin

(Trước đây, thư mục / home / dbadmin có 700 quyền.)

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.