Tại sao tôi bị từ chối cấp phép trong Python?

Hãy đọc cái này, nó sẽ giúp bạn thoát khỏi khối bắt đầu trong việc tìm danh sách các tệp. https. //trăn thật. com/working-with-files-in-python/

Không có niềm đam mê nào được tìm thấy khi chơi nhỏ - trong việc ổn định cuộc sống ít hơn cuộc sống mà bạn có thể sống

Máy chủ có lưu trữ phần chia sẻ của Miền AD không?

Người dùng đang cố lấy các tệp trong phần chia sẻ có quyền trên Chia sẻ để truy cập nó không?

Người dùng đang cố lấy các tệp trong phần chia sẻ có quyền NTFS [hệ thống tệp] để truy cập các tệp trong thư mục đó không?

Đây là những câu hỏi bạn phải trả lời để đảm bảo rằng đó không phải là sự cố về quyền truy cập mạng/NTFS

Thêm giải pháp của bạn ở đây

 B   I   U   S  small BIG code var     &  link [^] encode untab case indent outdent

Xem trước 0

thành viên hiện tại

hoặc tham gia với chúng tôi

Tải xuống, Bình chọn, Nhận xét, Xuất bản

Email của bạn

Email này đang được sử dụng. Bạn có cần mật khẩu của bạn?

Mật khẩu tùy chọn

Khi trả lời câu hỏi, vui lòng.

  1. Đọc kỹ câu hỏi.
  2. Hiểu rằng tiếng Anh không phải là ngôn ngữ đầu tiên của mọi người, vì vậy hãy khoan dung với lỗi chính tả và ngữ pháp
  3. Nếu một câu hỏi được diễn đạt kém thì hãy yêu cầu làm rõ, bỏ qua nó hoặc chỉnh sửa câu hỏi và khắc phục sự cố. Xúc phạm không được chào đón
  4. Đừng bảo ai đó đọc hướng dẫn. Rất có thể họ có và không nhận được. Đưa ra câu trả lời hoặc chuyển sang câu hỏi tiếp theo
Let's work to help developers, not make them feel stupid.


Nội dung này, cùng với bất kỳ tệp và mã nguồn liên quan nào, được cấp phép theo Giấy phép Mở Dự án Code [CPOL]

Tôi nhận được lỗi "Quyền bị từ chối [khóa công khai]" hoặc "Xác thực không thành công, quyền bị từ chối" khi truy cập phiên bản Amazon Elastic Compute Cloud [Amazon EC2] của tôi. Làm thế nào để tôi giải quyết điều này?

Mô tả ngắn

Lỗi "Quyền bị từ chối [khóa công khai]" và "Xác thực không thành công, quyền bị từ chối" xảy ra nếu

  • Bạn đang cố kết nối bằng tên người dùng không đúng cho AMI của mình
  • Ví dụ, quyền đối với tệp trong hệ điều hành không chính xác
  • Khóa công khai SSH không chính xác [. pub] nằm trong tệp ủy quyền

Nghị quyết

Xác minh rằng bạn đang sử dụng đúng tên người dùng cho AMI của mình

Xác minh rằng các quyền của tệp trong hệ điều hành là chính xác và khóa công khai SSH chính xác có trong tệp ủy quyền

Có bốn phương pháp để thực hiện các tác vụ này

Phương pháp 1. Sử dụng Bảng điều khiển nối tiếp EC2

Nếu bạn đã kích hoạt Bảng điều khiển nối tiếp EC2 cho Linux, thì bạn có thể sử dụng bảng điều khiển này để khắc phục sự cố các loại phiên bản dựa trên Nitro được hỗ trợ. Bảng điều khiển nối tiếp giúp bạn khắc phục sự cố khởi động, cấu hình mạng và cấu hình SSH. Bảng điều khiển nối tiếp kết nối với phiên bản của bạn mà không cần kết nối mạng đang hoạt động. Bạn có thể truy cập bảng điều khiển nối tiếp bằng bảng điều khiển Amazon EC2 hoặc Giao diện dòng lệnh AWS [AWS CLI]

Trước khi sử dụng bảng điều khiển nối tiếp, hãy cấp quyền truy cập vào nó ở cấp tài khoản. Sau đó, tạo chính sách AWS Identity and Access Management [IAM] cấp quyền truy cập cho người dùng IAM của bạn. Ngoài ra, mọi phiên bản sử dụng bảng điều khiển nối tiếp phải bao gồm ít nhất một người dùng dựa trên mật khẩu. Nếu không thể truy cập phiên bản của bạn và bạn chưa định cấu hình quyền truy cập vào bảng điều khiển nối tiếp, hãy làm theo hướng dẫn trong Phương pháp 2, 3 hoặc 4. Để biết thông tin về cách định cấu hình Bảng điều khiển nối tiếp EC2 cho Linux, hãy xem Định cấu hình quyền truy cập vào Bảng điều khiển nối tiếp EC2

Ghi chú. Nếu bạn gặp lỗi khi chạy các lệnh AWS CLI, hãy đảm bảo rằng bạn đang sử dụng phiên bản AWS CLI mới nhất

Phương pháp 2. Sử dụng Trình quản lý phiên AWS Systems Manager để đăng nhập vào phiên bản và thực hiện các chỉnh sửa

Phương pháp này cập nhật quyền và đưa khóa công khai SSH của bạn vào tệp ủy quyền

Ghi chú. Cần cài đặt Tác nhân SSM để sử dụng phương pháp này. Để biết thêm thông tin về Trình quản lý phiên và danh sách đầy đủ các điều kiện tiên quyết, hãy xem Thiết lập Trình quản lý phiên

1. Mở bảng điều khiển AWS Systems Manager

2. Bắt đầu một phiên

3. Sử dụng lệnh ls -ld để đảm bảo rằng quyền của các tệp trong thư mục chính là chính xác. Sau đây là danh sách các quyền chính xác

  • Ví dụ, thư mục chính của Linux, /home, phải là [0755/drwxr-xr-x]
  • Thư mục chính của người dùng, ví dụ: /home/ec2-user/, phải là [0700/drwx------]
  • quyền thư mục ssh, /home/ec2-user/. ssh, ví dụ, phải là [0700/drwx------]
  • quyền đối với tệp ủy quyền, /home/ec2-user/. ssh/authorized_keys, ví dụ, phải là [0600/-rw-------]

Sau đây là một ví dụ về lệnh ls -ld và kết quả đầu ra. Trong ví dụ này, ec2-user là tên người dùng. Thay đổi tên người dùng theo AMI cụ thể của bạn

$ ls -ld /home/ec2-user/
drwx------ 3 ec2-user ec2-user 4096 Apr  1 08:31 /home/ec2-user/

4. Trên máy tính cục bộ của bạn, hãy xác minh khóa công khai SSH

5. Nếu chữ ký của khóa công khai SSH không có trong đầu ra, thì hãy cập nhật tệp ủy quyền để cho phép khóa SSH của bạn. Trong ví dụ sau, hãy thay thế khóa ví dụ bằng khóa chung SSH của bạn

$ echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVogCW5eZogRp+vF6Ut360b0bYyTmqgYaCXOyiW77I916AS5jFL3zsCtONbGn4hnG/UGGWXpLfUV85qpVJb38fskPZNuyZtjGjXM2W7qqbCZ1N9HBb6IPBaL97tmqBi+8rD7mSkoHc40sIV+KxkQSvD6AAFjQruCjxzfGIApnOvuj6IMsVEuFHBx4QhkbCzafxo02D9BZT4+dMy7tmyuC+UiNEQpgfFoszl+4VNFTIPlQQyn6CpUiV/rFXIadXsHqc+UOdVnfEXP+30YL75RHabze/1F5MY6t94AEcmcb05Dq4vwN9IjcxKmwgvxLOXzryytepvHQU+PobBEXAMPLE' >> /home/ec2-user/.ssh/authorized_keys

6. Để sửa quyền, hãy chạy các lệnh sau trên phiên bản EC2 của bạn

$ sudo chown root:root /home
$ sudo chmod 755 /home
$ sudo chown ec2-user:ec2-user /home/ec2-user -R
$ sudo chmod 700 /home/ec2-user /home/ec2-user/.ssh
$ sudo chmod 600 /home/ec2-user/.ssh/authorized_keys

7. kết thúc phiên

8. Kết nối với cá thể bằng SSH

Phương pháp 3. Chạy quy trình Tự động hóa AWSSupport-TroubleshootSSH

AWSSupport-TroubleshootSSH cài đặt công cụ Amazon EC2Rescue. Sau khi cài đặt, công cụ sẽ kiểm tra và khắc phục một số sự cố gây ra lỗi kết nối từ xa khi kết nối với máy Linux thông qua SSH. Để biết thêm thông tin, hãy xem Làm cách nào tôi có thể sử dụng quy trình Tự động hóa AWSSupport-TroubleshootSSH để khắc phục sự cố kết nối SSH?

Phương pháp 4. Sử dụng tập lệnh dữ liệu người dùng để sửa các quyền SSH và thêm khóa công khai SSH chính xác vào tệp ủy quyền

Quan trọng

  • Nếu phiên bản của bạn là phiên bản lưu trữ phiên bản được hỗ trợ hoặc có khối lượng lưu trữ phiên bản chứa dữ liệu, thì dữ liệu sẽ bị mất khi phiên bản bị dừng. Để biết thêm thông tin, hãy xem Xác định loại thiết bị gốc của phiên bản của bạn
  • Nếu phiên bản của bạn là một phần của nhóm Amazon EC2 Auto Scaling, thì việc dừng phiên bản có thể chấm dứt phiên bản đó. Các phiên bản được khởi chạy với Amazon EMR, AWS CloudFormation hoặc AWS Elastic Beanstalk có thể là một phần của nhóm AWS Auto Scaling. Việc chấm dứt phiên bản trong trường hợp này tùy thuộc vào cài đặt bảo vệ tăng quy mô phiên bản cho nhóm Auto Scaling của bạn. Nếu phiên bản của bạn thuộc nhóm Auto Scaling, hãy tạm thời xóa phiên bản khỏi nhóm Auto Scaling trước khi bắt đầu các bước giải quyết
  • Việc dừng và bắt đầu phiên bản sẽ thay đổi địa chỉ IP công cộng của phiên bản của bạn. Cách tốt nhất là sử dụng địa chỉ IP đàn hồi thay vì địa chỉ IP công cộng khi định tuyến lưu lượng truy cập bên ngoài đến phiên bản của bạn

1. Mở bảng điều khiển Amazon EC2

2. Chọn Phiên bản từ ngăn điều hướng rồi chọn phiên bản bạn đang cố khởi chạy

3. Dừng phiên bản

4. Chọn Hành động, Cài đặt phiên bản, Chỉnh sửa dữ liệu người dùng

5. Sao chép tập lệnh dữ liệu người dùng sau vào hộp thoại Chỉnh sửa Dữ liệu Người dùng rồi chọn Lưu

Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0

--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"

#cloud-config
cloud_final_modules:
- [scripts-user, always]

--//
Content-Type:
    text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"

#!/bin/bash
OS_USER=@@@@@@
chown root:root /home 
chmod 755 /home
chown $OS_USER:$OS_USER /home/$OS_USER -R
chmod 700 /home/$OS_USER
chmod 700 /home/$OS_USER/.ssh
chmod 600 /home/$OS_USER/.ssh/authorized_keys
--//

Ghi chú. Thay thế giá trị cho OS_USER bằng tên người dùng được liên kết với AMI mà bạn đã khởi chạy phiên bản của mình từ đó. Để biết thêm thông tin, hãy xem Lấy tên người dùng mặc định cho AMI mà bạn đã sử dụng để khởi chạy phiên bản của mình trong Nguyên nhân phổ biến của sự cố kết nối

6. Trên máy tính cục bộ của bạn, hãy xác minh khóa công khai SSH

7. Nếu chữ ký của khóa công khai SSH không có trong đầu ra, thì hãy thêm khóa chính xác vào tập lệnh dữ liệu người dùng mà bạn đã tạo ở bước 5. Nếu chữ ký trùng khớp thì bạn có thể bỏ qua bước này. Nối khóa công khai SSH vào tập lệnh dữ liệu người dùng như trong ví dụ sau. Thay thế khóa mẫu bằng khóa chung SSH của bạn

Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0

--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"

#cloud-config
cloud_final_modules:
- [scripts-user, always]

--//
Content-Type:
    text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"

#!/bin/bash
OS_USER=@@@@@@
chown root:root /home 
chmod 755 /home
chmod 700 /home/$OS_USER
chmod 700 /home/$OS_USER/.ssh
chmod 600 /home/$OS_USER/.ssh/authorized_keys
echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVogCW5eZogRp+vF6Ut360b0bYyTmqgYaCXOyiW77I916AS5jFL3zsCtONbGn4hnG/UGGWXpLfUV85qpVJb38fskPZNuyZtjGjXM2W7qqbCZ1N9HBb6IPBaL97tmqBi+8rD7mSkoHc40sIV+KxkQSvD6AAFjQruCjxzfGIApnOvuj6IMsVEuFHBx4QhkbCzafxo02D9BZT4+dMy7tmyuC+UiNEQpgfFoszl+4VNFTIPlQQyn6CpUiV/rFXIadXsHqc+UOdVnfEXP+30YL75RHabze/1F5MY6t94AEcmcb05Dq4vwN9IjcxKmwgvxLOXzryytepvHQU+PobBEXAMPLE' >> /home/$OS_USER/.ssh/authorized_keys
chown $OS_USER:$OS_USER/ home/$OS_USER -R
--//

Ghi chú. Thay thế giá trị cho OS_USER bằng tên người dùng được liên kết với AMI mà bạn đã khởi chạy phiên bản của mình từ đó. Để biết thêm thông tin, hãy xem Lấy tên người dùng mặc định cho AMI mà bạn đã sử dụng để khởi chạy phiên bản của mình trong Nguyên nhân phổ biến của sự cố kết nối

8. Bắt đầu phiên bản của bạn

Ghi chú. Tập lệnh dữ liệu người dùng trước đó được đặt để chạy trên mỗi lần khởi động lại phiên bản. Sau khi lấy lại quyền truy cập vào phiên bản của bạn, hãy xóa tập lệnh dữ liệu người dùng

Quyền bị từ chối có nghĩa là gì trong Python?

Quyền bị từ chối đơn giản có nghĩa là hệ thống không có quyền ghi tệp vào thư mục đó . Cấp quyền cho thư mục bằng cách sử dụng "Sudo chmod 777" từ thiết bị đầu cuối và thử chạy nó.

Tại sao nó hiển thị quyền bị từ chối?

Lỗi này xảy ra khi người dùng không có đặc quyền chỉnh sửa tệp . Root có quyền truy cập vào tất cả các tệp và thư mục và có thể thực hiện bất kỳ chỉnh sửa nào. Tuy nhiên, những người dùng khác có thể không được phép thực hiện các chỉnh sửa đó. Hãy nhớ rằng chỉ root hoặc người dùng có đặc quyền Sudo mới có thể thay đổi quyền đối với tệp và thư mục.

Chủ Đề