Tại sao không có / tmp quyền mặc định cho 777 trong osX?


5

Tôi thường sử dụng, trên các máy chủ unix Tôi đang làm việc với thư mục / tmp dưới dạng thư mục nơi tôi viết nội dung tạm thời cần thiết cho phần mềm của mình (chủ yếu là các ứng dụng web). Nó thường có 777 quyền.

Tôi tìm thấy trong máy cục bộ của mình, nó gắn OsX Maverick, thư mục / tmp KHÔNG có quyền 777, nhưng drwxr-xr-x.

/ tmp thực sự là một liên kết tượng trưng đến / private / tmp, có cùng quyền.

Câu hỏi của tôi là: có bất kỳ lý do bảo mật tại sao / tmp (hoặc / private / tmp) không nên có quyền 777 không? Ví dụ giải thích thực tế sẽ là tuyệt vời!


/tmpvới chế độ 0777 sẽ không đẹp trên hệ thống nhiều người dùng; nó có nghĩa là bất cứ ai cũng có thể xóa các tập tin tạm thời của bất cứ ai khác. Bạn có thể có nghĩa là 1777 , có thể ghi được trên thế giới với tập bit dính, vì vậy bất kỳ người dùng nào cũng có thể viết nhưng chỉ chủ sở hữu của tệp có thể xóa tệp.
CVn

Tôi nghĩ rằng chìa khóa để trả lời câu hỏi của bạn là /privatemột phần. Chính xác thì cái đó được sử dụng cho OS X là gì?
CVn

Trong unix nếu bạn có quyền ghi trên một thư mục, bạn có thể viết hoặc xóa bất kỳ tệp nào trong thư mục đó. / private là một bộ chứa cho các bộ phận của hệ thống phân cấp hệ thống tập tin unix tiêu chuẩn có thể khác nhau giữa các máy tính riêng lẻ (ví dụ / etc là một liên kết đến / private / etc, trong đó các tệp cấu hình thực tế). AIUI điều này ban đầu được thực hiện để hỗ trợ netboote theo NextSTEP. Lấy từ: unix.stackexchange.com/questions/63555/ từ
clami219

"Trong unix nếu bạn có quyền ghi trên một thư mục, bạn có thể viết hoặc xóa bất kỳ tệp nào trong thư mục đó." Trừ khi bit dính được đặt trên thư mục. Xem ví dụ superuser.com/a/153723/53590 cũng như các câu trả lời khác cho câu hỏi đó.
CVn

Ok, điểm tốt.
clami219

Câu trả lời:


9

Thư mục / private / tmp / nên có chế độ cấp phép 1777 (drwxrwxrwt) chứ không phải 0755 (drwxr-xr-x) như bạn đang thấy.

Các chế độ tương tự (1777) cũng nên được đặt trên / var / tmp /

Tôi không thể suy đoán nguyên nhân của các chế độ không chuẩn của bạn.


Tôi đồng ý với bạn. Tuy nhiên, với bản cài đặt mới của Maverick, tôi đã có 0755.
clami219

Trên máy chủ lưu trữ 10.9.2 của tôi, các quyền như sau: user@host:~ # ls -ld@ /tmp lrwxr-xr-x@ 1 root wheel 11 Oct 23 2013 /tmp -> private/tmp com.apple.FinderInfo 32 user@host:~ # ls -ld@ /private/tmp drwxrwxrwt 12 root wheel 408 May 16 08:27 /private/tmp
gurple

Đủ công bằng! ...
clami219

Tại sao tôi không thể thay đổi quyền thông qua sudo chmod?
AlxVallejo

1
@AlxVallejo, tôi sẽ đoán rằng bạn đang cố gắng thay đổi các chế độ cấp phép trên một liên kết tượng trưng. Trừ khi bạn đang sử dụng tùy chọn '-h' với chmod, bạn sẽ thay đổi các chế độ cấp phép trên tệp hoặc thư mục mà liên kết tượng trưng trỏ đến chứ không phải chính liên kết.
bảo vệ

2

bạn cũng có thể sử dụng cái này:

sudo đĩautil RepairPermissions / - sửa chữa quyền của các thư mục hệ thống (như nếu / tmp không chính xác)

nguồn: http://www.macworld.com/article/1052220/repairpermissions.html


1
Chào mừng đến với Siêu người dùng. Mặc dù điều này có thể trả lời câu hỏi, bạn nên đưa ra một mô tả chi tiết hơn về nội dung được liên kết và giải thích nó liên quan đến câu hỏi như thế nào. Điều này sẽ giúp đảm bảo rằng câu trả lời này vẫn hữu ích trong trường hợp trang được liên kết bị xóa hoặc ngoại tuyến. Để biết thêm thông tin, hãy xem bài đăng Meta Stack Exchange này .
bwDraco

Câu trả lời này dường như đã lỗi thời đối với El Capitain vì đĩa của tôi không có hành động sửa chữa.
Velop
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.