Làm cách nào tôi có thể tạo người dùng SFTP trong CentOS?


8

Tôi muốn cấp quyền truy cập SFTP tạm thời cho một người hỗ trợ. Làm cách nào để tạo người dùng SFTP? Và làm thế nào tôi có thể xóa nó sau khi công việc được thực hiện?

Ngoài ra, làm thế nào để tôi chỉ định một thư mục nhà cho họ? Tôi có thể ngăn họ truy cập một số thư mục con trong thư mục chính của họ không?

Chúng tôi sử dụng CentOS 6.3 và fzSftp


Nó phụ thuộc vào cấu hình của bạn cung cấp cho chúng tôi tệp cấu hình của bạn có thể giúp đỡ.
Kiwy

Tôi nên đăng những cài đặt cụ thể nào?
OC2PS

một trong số các bạn ftp deamon
Kiwy

Bạn có chắc chắn muốn FTP hoặc SFTP? Lý do tôi hỏi là bạn đã liệt kê fzsftp (filezilla sftp) là ứng dụng khách mà Filezilla sử dụng cho các kết nối SFTP.
slm

Ah! Tôi đã kết nối qua FileZilla với SFTP, do đó liệt kê fzsftp ... nghĩ rằng đây là máy chủ của tôi. SFTP sẽ ổn thôi, nếu bạn có thể giúp tôi điều đó. Cảm ơn!
OC2PS

Câu trả lời:


14

Truy cập không chroot

Nếu bạn không thiết lập máy chủ FTP và bạn tin tưởng người dùng sẽ đăng nhập, không nên chọc vào máy chủ của bạn quá nhiều, tôi sẽ có xu hướng cung cấp cho họ một tài khoản cho SFTP vào hệ thống.

Wiki CentOS duy trì một hướng dẫn đơn giản có tiêu đề: Thiết lập SFTP đơn giản giúp việc này không gây đau đớn.

Tôi nói rằng nó không đau vì bạn thực sự chỉ cần tạo tài khoản và đảm bảo rằng tường lửa cho phép lưu lượng SSH, đảm bảo SSH dịch vụ đang chạy và bạn đã hoàn thành khá nhiều việc.

Nếu sshdchưa chạy:

$ /etc/init.d/sshd start

Để thêm người dùng:

$ sudo useradd userX
$ sudo passwd userX
... set the password ...

Khi bạn hoàn thành với tài khoản:

$ sudo userdel -r userX

Chroot truy cập

Mặt khác, nếu bạn muốn giới hạn người dùng này vào một thư mục được chỉ định, máy chủ SFTP đi kèm với SSH (openssh) cung cấp một cấu hình giúp điều này cũng dễ dàng kích hoạt. Đó là một công việc nhiều hơn một chút nhưng không quá nhiều. Các bước được trình bày ở đây trong hướng dẫn này có tiêu đề: Cách thiết lập Chroot SFTP trong Linux (Chỉ cho phép SFTP, không phải SSH) .

Thực hiện những thay đổi cho /etc/ssh/sshd_configtập tin của bạn .

Subsystem       sftp    internal-sftp

## You want to put only certain users (i.e users who belongs to sftpusers group) in the chroot jail environment. Add the following lines at the end of /etc/ssh/sshd_config

Match Group sftpusers
  ChrootDirectory /sftp/%u
  ForceCommand internal-sftp

Bây giờ bạn sẽ cần tạo cây thư mục chroot nơi người dùng này sẽ bị khóa.

$ sudo mkdir -p /sftp/userX/{incoming,outgoing}
$ sudo chown guestuser:sftpusers /sftp/guestuser/{incoming,outgoing}

Quyền sẽ giống như sau:

$ ls -ld /sftp/guestuser/{incoming,outgoing}
drwxr-xr-x 2 guestuser sftpusers 4096 Dec 28 23:49 /sftp/guestuser/incoming
drwxr-xr-x 2 guestuser sftpusers 4096 Dec 28 23:49 /sftp/guestuser/outgoing

Các thư mục cấp cao nhất như thế này:

$ ls -ld /sftp /sftp/guestuser
drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp
drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp/guestuser

Đừng quên khởi động lại sshdmáy chủ:

$ sudo service sshd restart

Bây giờ tạo tài khoản userX:

$ sudo useradd -g sftpusers -d /incoming -s /sbin/nologin userX
$ sudo passwd userX
... set password ...

Bạn có thể kiểm tra xem tài khoản đã được tạo chính xác chưa:

$ grep userX /etc/passwd
userX:x:500:500::/incoming:/sbin/nologin

Khi bạn hoàn thành với tài khoản, hãy xóa nó theo cùng một cách ở trên:

$ sudo userdel -r userX

... và đừng quên xóa các thay đổi tệp cấu hình mà chúng tôi đã thực hiện ở trên, sau đó khởi động lại sshdđể kích hoạt chúng một lần nữa.


Đẹp! Làm cách nào tôi có thể giới hạn người dùng vào một thư mục cụ thể và ngăn người dùng truy cập vào một vài thư mục con trong thư mục đó?
OC2PS

liên kết người dùng trong thư mục nhà của nó và thêm liên kết tượng trưng bên trong vào các thư mục khác nhau mà bạn muốn cho phép
Kiwy

@ OC2PS - ở trên cho thấy một phương pháp chroot'ing người dùng, bạn cũng có thể chroot họ vào thư mục chính của họ. Tôi thường chia những người dùng này ra một khu vực được chỉ định để rõ ràng khi tôi xem qua /home/...ai thực sự là người dùng trên hệ thống. Mặc dù tôi chạy một máy chủ SFTP thực tế cho công việc nên nhu cầu của tôi hơi khác nhau.
slm

Khi tôi thực hiện sudo useradd -D userX, tôi nhận được Cách sử dụng: useradd [tùy chọn] ĐĂNG NHẬP
OC2PS

@ OC2PS thử useradd userX. Xin lỗi tôi đọc sai trang người đàn ông cho useradd.
slm
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.