Xây dựng trên Windows 7


3

Trong công việc của tôi, gần đây chúng tôi đã chuyển từ XP sang Windows 7 và là một nhà phát triển, đó là một cơn ác mộng. Tôi phát triển cho hệ thống nhúng, vì vậy quá trình xây dựng của chúng tôi có thể hơi khác một chút. Quá trình xây dựng của chúng tôi vô cùng phức tạp và tạo ra rất nhiều bản sao của các tệp cần được di chuyển và sao chép xung quanh. Vấn đề là một bản dựng sẽ thường thất bại vì nó không có quyền sao chép một tập tin.

Trên toàn bộ thư mục xây dựng của tôi, tôi sẽ chạy

takeown /F * /R /D Y
icacls . /T /Grant <userid>:F

Từ thư mục xây dựng gốc, nhưng tôi vẫn gặp sự cố sao chép tệp (không thể tạo tệp thông thường 'bla.bla': Quyền bị từ chối). Vì vậy, tôi buộc phải chạm vào tệp theo cách thủ công, đặt chế độ thành + www và xây dựng lại.

Câu hỏi của tôi là nếu có một cách đơn giản để có được một cây thư mục để bất kỳ người dùng / ứng dụng nào cũng có thể tạo / sửa đổi tất cả các tệp trong đó. icacls dường như không cắt nó.

EDIT: Thông tin bổ sung: Windows x64, GNU make, sử dụng tệp bat để đặt biến môi trường trước khi gọi make

Câu trả lời:


2

Xác định vị trí thư mục xây dựng trong Windows Explorer đồ họa, nhấp chuột phải vào nó và chọn Tính chất . Đi đến Bảo vệ và nhấp vào tab Nâng cao và sau đó trong cửa sổ xuất hiện, nhấp vào nút Nâng cao nút. Nếu Bao gồm quyền thừa kế từ cha mẹ của đối tượng này được kiểm tra, bỏ chọn nó. Chọn Tẩy trong hộp thoại cảnh báo xuất hiện. Nếu bất kỳ ACL nào vẫn còn trong Mục nhập quyền hộp, xóa chúng.

Bây giờ, chọn Thêm vào , nhập tên người dùng của bạn, nhấp được . Sau đó, một hộp thoại cho phép bạn chọn quyền cho người dùng đó xuất hiện. Kiểm tra Kiểm soát hoàn toàn hộp dưới Ban cho và bấm vào được . Lặp lại cho các tài khoản người dùng hoặc nhóm khác cần truy cập vào thư mục, nếu có. Ngoài ra, thêm Kiểm soát hoàn toàn cho Quản trị viên nhóm và tích hợp SYSTEM người dùng chỉ trong trường hợp. Nếu thư mục nằm trên máy cục bộ của bạn và chỉ bạn mới có thể đăng nhập vào nó, bạn có thể muốn cung cấp cho Tất cả mọi người thay vào đó, toàn quyền kiểm soát nhóm, để hoàn toàn chắc chắn mọi thứ sẽ hoạt động.

Tiếp theo, chọn Thay thế tất cả các quyền đối tượng con bằng các quyền kế thừa từ đối tượng này . Hộp thoại bây giờ trông giống như thế này:

Windows advanced security dialog

Cuối cùng, bấm vào được , và lựa chọn Vâng để xác minh rằng bạn muốn ghi đè quyền của tất cả các tệp và thư mục con trong thư mục đó. Điều đó sẽ thay thế bất kỳ thứ gì trong bảng chữ cái của các quyền mà bạn có đang diễn ra bằng các quyền khớp chính xác với những gì bạn vừa áp dụng cho chính thư mục xây dựng. Hơn nữa, các thay đổi đối với quyền của thư mục bản dựng sẽ tự động lan truyền đến tất cả các tệp bên dưới chúng, vì vậy bạn chỉ cần thay đổi quyền của thư mục bản dựng trong tương lai, thay vì thực hiện đệ quy trong toàn thư mục.


Khác với một số vấn đề nhỏ với lực lượng (hy vọng các tệp không được kiểm tra là RO), đây là một mẹo nhỏ. -- Cảm ơn bạn!
Gdogg

0

Để bắt đầu, tôi sẽ chạy công cụ bạn đang sử dụng để xây dựng / di chuyển với tư cách quản trị viên, điều đó sẽ khắc phục nhiều vấn đề. Ngoài ra, khi bạn nói rằng ICacls dường như không cắt giảm, nó không cung cấp cho bạn quyền hay nó cung cấp cho bạn quyền, nhưng bạn vẫn gặp vấn đề?


Tôi vẫn có vấn đề, nhưng nó dường như chạy đúng. Có vẻ như các tệp mới không được tạo với bất kỳ quyền nào, khi tôi muốn chúng được tạo bằng các quyền của thư mục mẹ của chúng. Tôi đang thực thi tập lệnh với tư cách là người dùng có quyền quản trị, sử dụng windows powershell (hoặc cmd.exe * 32). Làm cách nào tôi có thể chạy nó với tư cách quản trị viên (từ dòng lệnh?)
Gdogg

Trong cài đặt thư mục, đặt nó sao cho tất cả các tệp được tạo trong thư mục kế thừa các quyền (câu trả lời khác có hình ảnh đẹp).
soandos
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.