cp - không thể tạo tập tin thông thường: quyền bị từ chối


23

Tôi muốn sao chép /lib/udevnhưng báo lỗi

cp -f /tmp/ok_pcscd_hotplug.sh /lib/udev

cp:cannot create regular file /lib/udev/ok_pcscd_hotplug : Permission denied

Tôi là root, nhưng tôi không thể hiểu. tôi có thể làm gì ?


Trong trường hợp của tôi, khi tôi cần sao chép một cái gì đó lên exFAT, nó đã thất bại ở mỗi tệp có "|" trong tên tệp của nó.
neverMind9

Câu trả lời:


24

Kiểm tra xem bạn có thực sự là siêu người dùng với:

whoami

nếu đầu ra là root, thì bạn là siêu người dùng và bạn có thể tạo bản sao của tệp bằng:

cp -f /tmp/ok_pcscd_hotplug.sh /lib/udev/.

nếu không bạn phải sử dụng sudo:

sudo cp -f /tmp/ok_pcscd_hotplug.sh /lib/udev/.

Nếu bạn vẫn không thể ghi vào thư mục, thì có thể là:

  1. thư mục có cờ bất biến được kích hoạt. kiểm tra với lsattr.
  2. thư mục được gắn với quyền chỉ đọc: gõ vào terminal:

    cat /proc/mounts(hoặc mounthoặc cat /etc/mtab)

    và kiểm tra đầu ra, nếu thư mục được gắn chỉ đọc.

Nếu bạn ở trong trường hợp đầu tiên, hãy thay đổi các thuộc tính thư mục bằng chattr;

  • xóa cờ bất biến trên tập tin hoặc thư mục chattr -i <file/dir>
  • thêm cờ bất biến vào tập tin hoặc thư mục một lần nữa chattr +i <file/dir>

Nếu bạn ở trường hợp sau, hãy chỉnh sửa tệp /etc/fstab.


Whoami - root root tôi đã thử cp -f và sudo cp -f, nhưng lại gặp lỗi
user278122

Tôi đã thực hiện một thay đổi nhỏ cho câu trả lời của mình: Tôi đã sao chép lệnh từ câu hỏi của bạn, nhưng có một lỗi: lệnh như bạn đã viết, nó sẽ ghi đè lên udev, bạn phải thêm /.vào cuối lệnh để sao chép các tệp trong thư mục
girardengo

tôi đã thử: cp -f /tmp/ok_pcscd_hotplug.sh / lib / udev /. cp -f /tmp/ok_pcscd_hotplug.sh / lib / udev / cp /tmp/ok_pcscd_hotplug.sh / lib / udev tôi không hiểu, tôi là người chủ, nhưng không sao chép mà là vấn đề
user278122

Tôi đã chỉnh sửa câu trả lời của mình, đăng trong câu hỏi của bạn cũng xuất ra mountlsattr /lib/
girardengo

mount / lib / - mount: không thể tìm thấy / lib / in / etc / fstab hoặc / etc / mtab lsattr / lib / - Inapppropitable ioctl cho thiết bị trong khi đọc cờ trên đầu ra lib / tên tệp cho mọi tệp tin
user278122

3

Không cần thiết mỗi khi bạn cần root cho mục đích này Vì vậy, nếu bạn muốn làm điều đó với người dùng root thì tốt, nhưng nếu bạn muốn làm điều đó mà không cần root, thì bạn có 2 tùy chọn:

  1. Kiểm tra quyền của tập tin. Bạn phải có quyền đọc đến đó
  2. Kiểm tra xem tập tin hoặc liên kết có cùng tên không có trong thư mục đích. Bởi vì nếu liên kết có cùng tên có trong thư mục đích, nó sẽ không cho phép bạn làm điều đó và cũng sẽ không cảnh báo rằng liên kết có cùng tên có mặt

1

Hãy thử cp /tmp/ok_pcscd_hotplug.sh /lib/udev/trong người dùng root.


dont thay đổi, cho lỗi một lần nữa - root @ atrust-00351A: / lib # ls-l drwxrwxrwx 4 root root 324 2009/05/22 11:40 udev
user278122

Vui lòng gửi đầu ra whoamils -al /tmp/ok_pcscd_hotplug.sh
Sambit

whoami - root root ls -al /tmp/ok_pcscd_hotplug.sh - output -rwxr-xr-x 1 root root 229
user278122

Sau đó, đảm bảo rằng ok_pcscd_hotplug.shnó không bị hỏng và /lib/udev/tồn tại trong hệ thống của bạn.
Sambit

hoặc ok_pcscd_hot_plug.sh hoặc / lib / udev có sẵn trên hệ thống
user278122

1

Bạn nên tạo thư mục trước nếu /lib/udevkhông tồn tại

mkdir -p /lib/udev

0

Đầu tiên làm "ls -l" và kiểm tra các quyền cho thư mục này. Nếu bạn thấy một cái gì đó như -rw-r - r--, điều đó có nghĩa là Chủ sở hữu có thể đọc-ghi, Usergroup chỉ có thể đọc, Thế giới chỉ có thể đọc. Gõ vào lệnh sau nếu đây là trường hợp: "chmod 766". Điều này sẽ cho phép bạn thực hiện các thao tác đọc-ghi trên tệp đó. Bây giờ hãy thử sao chép tập tin đó theo cùng một cách. Nó nên hoạt động


* chmod 766 <file / dir>
passerBy

1
Bạn vẫn có thể chỉnh sửa câu trả lời và thêm nó. Và tôi không tin vào việc cấp tất cả các quyền cho người dùng. Thay vào đó, nếu thư mục / tệp sẽ được đăng nhập với tư cách là người dùng có đặc quyền. Cảm ơn. :-)
Kulfy
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.