Xảy ra lỗi khi tôi cố gắng tạo kết nối SSH:
$ ssh -p 22 www-data@x.x.x.x
This account is currently not available
Xảy ra lỗi khi tôi cố gắng tạo kết nối SSH:
$ ssh -p 22 www-data@x.x.x.x
This account is currently not available
Câu trả lời:
Bạn đang gặp This account is currently not available.lỗi vì trình bao cho người dùng www-datađược đặt thành /usr/sbin/nologinvà nó được đặt vì một lý do rất chính đáng. Bạn không nên đăng nhập với tư cách www-datalà một người dùng / nhóm đặc biệt được sử dụng bởi máy chủ web, không dành cho sử dụng shell thông thường.
EDIT : Đó là một ý tưởng đặc biệt tồi tệ để trao sudoquyền cho www-data. Nếu Apache được dự định chạy với quyền root, thì nó sẽ không có nhóm riêng. Bằng cách này, bạn đang tạo ra lỗ hổng bảo mật rất lớn. Bạn đã được cảnh báo.
roothoặc thêm vỏ đăng nhập www-data, nhưng điều đó giống như mở một chai rượu bằng cách phá vỡ chai vì bạn quá lười biếng và bất cẩn khi sử dụng nút chai.
Mặc dù tôi đồng ý với những người khác rằng cho phép đăng nhập thông qua SSH thông qua người dùng dữ liệu www nói chung là một ý tưởng tồi, một khi bạn đã đăng nhập với người dùng bình thường, có thể hữu ích khi chạy nhiều lệnh đồng thời với bộ quyền của www- người sử dụng dữ liệu. Trong trường hợp đó, người ta có thể chạy
sudo su -l www-data -s /bin/bash
và bạn sẽ có thể truy cập các tệp của mình với tư cách là người dùng dữ liệu www.
-s /bin/bash
Câu hỏi đầu tiên tôi sẽ phải hỏi là, bạn đang cố gắng đạt được điều gì khi làm điều này?
kraxor là chính xác 100%, bạn sẽ không bao giờ có thể ssh vào máy chủ của mình bằng người dùng Apache / Nginx. Làm như vậy mời mọi hacker có một nửa tế bào não vào máy chủ của bạn.
Nếu bạn cần chạy một tập lệnh hoặc một số chương trình như người dùng đó bạn có thể thử sudo -u www-data yourscripthoặc bạn có thể tạm thời chowntrên tệp cho người dùng có quyền đăng nhập. Đó chỉ là một ý tưởng tồi khác nhau để cho phép tài khoản này truy cập.
su -không hoạt động đối với các tài khoản vô hiệu hóa đăng nhập.