Điểm:0

Shell Script để di chuyển tệp vào thư mục của người dùng khác?

lá cờ ca

Tôi đang chạy máy chủ Ubuntu 16.04. Trên máy chủ của tôi, tôi có một tệp trong thư mục /home/userA/dirA:

userA@myUbuntu:~$ 
userA@myUbuntu:~$ pwd
/home/userA
userA@myUbuntu:~$ 
userA@myUbuntu:~$ ls -l
tổng số 8
drwxrwxr-x 3 userA userA 4096 ngày 17 tháng 2 14:13 dirA
userA@myUbuntu:~$ 
userA@myUbuntu:~$ ls -l dirA/
tổng cộng 7796
-rw-rw-r-- 1 userA userA 1234 ngày 17 tháng 2 14:05 theFile.txt
userA@myUbuntu:~$

Lưu ý quyền sở hữu ở đây; người dùng người dùngA sở hữu tệp và thư mục chứa tệp.

Tôi cần một tập lệnh shell có thể di chuyển theFile.txt đến một vị trí khác, vào một thư mục không thuộc sở hữu của người dùngA. Đây là kịch bản của tôi:

#!/bin/bash
echo "Đang cố di chuyển tập tin..."
{
        sudo mv /home/userA/dirA/theFile.txt /home/userB/dirB/.
} || {
   echo "Không thể di chuyển tập tin!"
}

... và đầu ra:

userA@myUbfox:~$ ./myScript.sh
Đang cố di chuyển tệp...
Không di chuyển được tệp!
userA@myUbuntu:~$ 

Như bạn có thể nói, kịch bản chạy như người dùngA. Tôi không muốn chạy nó như nguồn gốc.

Vì vậy, tôi cho rằng tập lệnh bị lỗi do các quyền; một kịch bản chạy như người dùngA không có quyền di chuyển tệp vào thư mục thuộc sở hữu của người dùngB. Tôi đã thử tất cả các loại biến thể của sudo lệnh và những người khác, nhưng vô ích. Tôi cũng đã thử các cách giải quyết ngớ ngẩn, chẳng hạn như sao chép tệp vào /tmp (hoạt động đó) và sau đó thực hiện một chown để thay đổi quyền sở hữu tệp (không hoạt động). Nhưng phải có một cách để làm điều này gọn gàng. Bất kỳ ý tưởng?

TIẾT LỘ ĐẦY ĐỦ :: Tôi cũng đã đăng câu hỏi này đây.

Điểm:0
lá cờ ca

Giải pháp được cung cấp ở đây.

Cả userA và userB phải được thêm vào một nhóm người dùng chung. Sau đó, quyền của tất cả các thư mục trong đường dẫn cho thư mục đích phải được gán cho nhóm này. Ngoài ra, bạn phải đặt "chmod 777" cho từng thư mục trên đường đi.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.