2012-06-04 20 views
6

Tôi đã tạo một bản dựng Jenkins để biên dịch và phân phối một số mô-đun. Kết quả của các lệnh xây dựng (ví dụ: make hoặc ant) được chuyển hướng đến tệp có tên build.log.Jenkins: Quyền bị từ chối đối với tệp 777

Điều buồn cười là chuyển hướng echo vào file rất giống nhau, sử dụng tee, thất bại:

tee: ../../build.log: Permission denied 

Các tập tin tồn tại và có 777 quyền (kiểm tra với ls -ltrh ../..). Bất cứ ý tưởng gì sai với bài viết này?

+2

Bạn có chắc chắn đường dẫn đến thư mục có quyền thích hợp không? Không chỉ là tập tin? – sjakubowski

+0

Bạn có chắc chắn người dùng đang chạy jenkins là người có quyền 777 không? –

Trả lời

13

Quyền đối với tệp là quan trọng, nhưng cũng là quyền trên thư mục siêu của tệp đó.

Nếu bạn không có quyền đọc và thực thi trên các thư mục bạn đang duyệt qua, thì bạn không thể đi theo đường dẫn tương đối đến tệp. Nếu bạn thiếu quyền đọc trên thư mục "build.log", bạn không thể liệt kê các tệp trong thư mục đó. Đọc, Viết, và Execute cho phép làm quan trọng cho các thư mục, và họ gần như bản đồ để:

  • đọc = cho phép Liệt kê các tập tin
  • Write = cho phép Tạo/Xóa/Sửa đổi file
  • Execute = cho phép thay đổi thư mục vào thư mục này