ಲಾಗ್ ಸೇರಿಸಲ್ಪಡುತ್ತದೆ ಆದರೆ ಮತ್ತೆ ರಚಿಸಲಾಗದು: ಡೈರೆಕ್ಟರಿಯ ACL ಪರಿಶೀಲಿಸಿ
ಫೈಲ್ಗೆ ಸೇರಿಸುವುದಕ್ಕೆ ಅದರ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಹೊಸ ಹೆಸರು ಬೇಕಿಲ್ಲ; ರಚಿಸುವುದಕ್ಕೆ ಬೇಕು. ಏನನ್ನೂ ವಿಸ್ತರಿಸುವ ಮೊದಲು ಪ್ರವೇಶ ACL ಅನ್ನು ಆನುವಂಶಿಕ ಡೀಫಾಲ್ಟ್ಗಳೊಂದಿಗೆ ಹೋಲಿಸಿ.
ನಿರಂತರವಾಗಿ ಬೆಳೆಯುತ್ತಿರುವ ಲಾಗ್, ಯಾವುದೋ ಅದನ್ನು ಮತ್ತೆ ರಚಿಸಿದ ಕ್ಷಣ ಬೆಳವಣಿಗೆಯನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ, ಮತ್ತು ದೋಷವು ಅನುಮತಿ ನಿರಾಕರಿಸಲಾಗಿದೆ ಎಂದು ಹೇಳುತ್ತದೆ. ಲಾಗ್ ಫೈಲ್ಗೇ ಹೆಚ್ಚು ಅನುಮತಿಗಳು ಬೇಕು ಎಂಬುದು ಆಮಿಷದ ತೀರ್ಮಾನ, ಆದರೆ ಆ ಫೈಲ್ ಈಗಾಗಲೇ ಅದೇ ಖಾತೆಗೆ ಬರೆಯಬಹುದಾದದ್ದಾಗಿರಬಹುದು. ಇರುವ ಹೆಸರಿಗೆ ಸೇರಿಸುವುದು ಮತ್ತು ಹೊಸ ಹೆಸರು ರಚಿಸುವುದು ಬೇರೆ ಬೇರೆ ಪರಿಶೀಲನೆಗಳು, ಮತ್ತು ಎರಡನೆಯದು ಮಾತ್ರ ಡೈರೆಕ್ಟರಿಯನ್ನು ಸಂಪರ್ಕಿಸುತ್ತದೆ.
ಸೇರಿಸುವುದು ಮತ್ತು ರಚಿಸುವುದು ಬೇರೆ ಪರಿಶೀಲನೆಗಳು
ಇರುವ ಫೈಲ್ ಅನ್ನು ಸೇರಿಸಲು ತೆರೆಯಲು ಆ ಫೈಲ್ನಲ್ಲಿ ಬರವಣಿಗೆ ಪ್ರವೇಶ ಮತ್ತು ಅದರ ಮಾರ್ಗದ ಪ್ರತಿ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಹುಡುಕಾಟ ಪ್ರವೇಶ ಬೇಕು. ಫೈಲ್ ರಚಿಸಲು ಅದನ್ನು ಹೊಂದಿರುವ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಬರವಣಿಗೆ ಮತ್ತು ಹುಡುಕಾಟ ಬೇಕು, ಏಕೆಂದರೆ ಕಾರ್ಯಾಚರಣೆ ಅದಕ್ಕೆ ಹೆಸರನ್ನು ಸೇರಿಸುತ್ತದೆ. ಮರುನಾಮಕರಣದ ಮೂಲಕ ಫೈಲ್ ಬದಲಾಯಿಸುವುದು ಎರಡೂ ಡೈರೆಕ್ಟರಿಗಳು ಮತ್ತು ಅವುಗಳ ಸ್ಟಿಕಿ-ಬಿಟ್ ನಿಯಮಗಳನ್ನು ಸಹ ಸ್ಪರ್ಶಿಸುತ್ತದೆ.
| Operation | What must permit it | Typical failure message |
|---|---|---|
| Append to an existing log | File write access, path traversal | Permission denied on the file |
| Create a missing log | Directory write and search access | Permission denied on the path |
| Rename a replacement into place | Both directories, plus sticky restrictions | Permission denied or operation not permitted |
ಈಗಾಗಲೇ ತೆರೆದ ಡಿಸ್ಕ್ರಿಪ್ಟರ್ ನಾಲ್ಕನೇ ಪ್ರಕರಣವನ್ನು ಸೇರಿಸುತ್ತದೆ. ಪ್ರಕ್ರಿಯೆಯು ಸವಲತ್ತುಗಳನ್ನು ಬಿಡುವ ಮೊದಲು ತೆರೆದ ಬರವಣಿಗೆ ಹ್ಯಾಂಡಲ್ ಅನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಂಡು, ತನ್ನ ನಂತರದ ಗುರುತಿನಲ್ಲಿ ಅದೇ ಮಾರ್ಗವನ್ನು ಮತ್ತೆ ತೆರೆಯಲು ವಿಫಲವಾಗಬಹುದು. ಯಶಸ್ವಿ ಸೇರಿಸುವಿಕೆಗಳು ಮತ್ತು ವಿಫಲ ರಚನೆ ಎರಡೂ ಅದೇ ಪ್ರಕ್ರಿಯೆಗೆ, ಅದೇ ಕ್ಷಣದಲ್ಲಿ ನಿಜವಾಗಿರಬಹುದು.
ಡೀಫಾಲ್ಟ್ ACL ಗಳು ಆನುವಂಶಿಕವಾಗಿ ಬರುತ್ತವೆ, ಅವು ನೀಡುವುದಿಲ್ಲ
ಡೀಫಾಲ್ಟ್ ಪೂರ್ವಪ್ರತ್ಯಯದಿಂದ ಪ್ರಾರಂಭವಾಗುವ ನಮೂದು ಹೊಸ ವಸ್ತುಗಳು ಡೈರೆಕ್ಟರಿಯಿಂದ ಏನನ್ನು ಆನುವಂಶಿಕವಾಗಿ ಪಡೆಯುತ್ತವೆ ಎಂಬುದನ್ನು ವಿವರಿಸುತ್ತದೆ. ಅದು ಡೈರೆಕ್ಟರಿಗೆ ಸ್ವತಃ ಏನನ್ನೂ ನೀಡುವುದಿಲ್ಲ, ಮತ್ತು ಈಗಾಗಲೇ ಇರುವ ಫೈಲ್ನ ACL ಅನ್ನು ಸರಿಪಡಿಸುವುದಿಲ್ಲ.
namei -l /var/log/openvpn/server.log
getfacl -p /var/log/openvpn
getfacl -p /var/log/openvpn/server.log
ಪ್ರವೇಶ ನಮೂದುಗಳನ್ನು ಡೀಫಾಲ್ಟ್ಗಳಿಂದ ಪ್ರತ್ಯೇಕವಾಗಿ ಓದಿ, ಮತ್ತು ಮಾಸ್ಕ್ ಓದಿ. ಪೂರ್ಣ ಹಕ್ಕುಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುವ ಹೆಸರಿನ ನಮೂದು ಸಹ ಮಾಸ್ಕ್ನಿಂದ ಸೀಮಿತವಾಗಬಹುದು, ಆದ್ದರಿಂದ ಪರಿಣಾಮಕಾರಿ ಕಾಮೆಂಟ್ ಮೊದಲ ಸಾಲಿನ ಅಕ್ಷರಗಳಿಗಿಂತ ಹೆಚ್ಚು ಮುಖ್ಯ.
ಕಾನ್ಫಿಗರೇಶನ್ನಲ್ಲಿರುವ ಮಾರ್ಗದ ಬದಲು ಪರಿಹರಿಸಿದ ಮಾರ್ಗವನ್ನು ಬಳಸಿ. ಸಿಂಬಾಲಿಕ್ ಲಿಂಕ್, ಮೌಂಟ್ ಪಾಯಿಂಟ್ ಅಥವಾ ತಿರುಗಿಸಿದ ಡೈರೆಕ್ಟರಿ ನೀವು ನೀಡಿದ ಅನುಮತಿ ಎಂದಿಗೂ ತಲುಪದ ಸ್ಥಳದಲ್ಲಿ ನಿಜವಾದ ಫೈಲ್ ಅನ್ನು ಇರಿಸಬಹುದು. ಮೊದಲು ಹೆಸರಿನ ಉಪಕರಣದಿಂದ ಮಾರ್ಗವನ್ನು ನಡೆಯಿರಿ, ನಂತರ ಪ್ರತಿ ಹಂತವನ್ನು ಸಂಬಂಧಿತ ಖಾತೆಯೊಂದಿಗೆ ಹೋಲಿಸಿ. ಮೇಲ್ಮಟ್ಟದ ಡೈರೆಕ್ಟರಿಯನ್ನು ಊಹಿಸುವುದು ಸರಿಪಡಿಸುವಿಕೆ ಒಂದು ಹಂತ ತುಂಬಾ ಎತ್ತರದಲ್ಲಿ ಇಳಿಯುವ ವಿಧಾನ.
ಆ ಕ್ಷಣದಲ್ಲಿ ಯಾರು ಬರೆಯುತ್ತಾರೆ ಎಂಬುದನ್ನು ಗುರುತಿಸಿ
ಏನನ್ನೂ ಬದಲಾಯಿಸುವ ಮೊದಲು ಸೇವಾ ಘಟಕ, ಅದರ ಡ್ರಾಪ್-ಇನ್ಗಳು ಮತ್ತು ಡೀಮನ್ನ ಸ್ವಂತ ಖಾತೆ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ. ಸೇರಿಸುವ ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಮತ್ತೆ ರಚಿಸುವ ಪ್ರಕ್ರಿಯೆ ಬೇರೆಯಾಗಿರಬಹುದು: ರೊಟೇಶನ್ ಸಹಾಯಕ, ಸ್ಥಿತಿ ಬರಹಗಾರ ಮತ್ತು ವೆಬ್ ಓದುಗರು ಗುರುತನ್ನು ವಿರಳವಾಗಿ ಹಂಚಿಕೊಳ್ಳುತ್ತಾರೆ.
root ಶೆಲ್ನಿಂದ ನಡೆಸಿದ ಪರೀಕ್ಷೆ ನಿರ್ಬಂಧಿತ ಸೇವೆಯನ್ನು ಪುನರುತ್ಪಾದಿಸುವುದಿಲ್ಲ, ಮತ್ತು ಸೇವೆ ವಿಫಲವಾಗುತ್ತಲೇ ಇದ್ದಾಗ ಅದು ಯಶಸ್ವಿಯಾಗುತ್ತದೆ. ವಿಫಲವಾದ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಅದೇ ಘಟಕದ ಅಡಿಯಲ್ಲಿ, ಅದೇ ಖಾತೆ ಮತ್ತು ಅದೇ ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ಸೆಟ್ಟಿಂಗ್ಗಳೊಂದಿಗೆ ಪುನರುತ್ಪಾದಿಸಿ. ನಿಮಗೆ ಸಾಧ್ಯವಾಗದಿದ್ದರೆ, ತಾತ್ಕಾಲಿಕ ಶೆಲ್ನೊಂದಿಗೆ ಘಟಕವನ್ನು ಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ಅದು ವರದಿ ಮಾಡುವ ಗುರುತನ್ನು ಪರಿಶೀಲಿಸಿ. ಬೇರೆ ಯಾವುದೇ ವಿಷಯ ಸೇವೆಯಲ್ಲ, ನಿಮ್ಮ ಟರ್ಮಿನಲ್ ಅನ್ನು ಅಳೆಯುತ್ತದೆ.
ರಚನೆ ನಿಜವಾಗಿಯೂ ಅಗತ್ಯವಿದ್ದರೆ, ಬರಹಗಾರನಿಗೆ ಮೀಸಲಾದ ಲಾಗ್ ಡೈರೆಕ್ಟರಿಗೆ ಪ್ರವೇಶ ನೀಡಿ ಮತ್ತು ಗ್ರಾಹಕರಿಗೆ ಓದುವ ಪ್ರವೇಶವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿ. ಒಂದೇ ಲಾಗಿಂಗ್ ಕರೆಯನ್ನು ಪೂರೈಸಲು ಹಂಚಿದ ಖಾತೆ ಅಥವಾ ಇಡೀ ಅಪ್ಲಿಕೇಶನ್ ಮರವನ್ನು ಬರೆಯಬಹುದಾದಂತೆ ಮಾಡುವುದು ಸಣ್ಣ ಸಮಸ್ಯೆಯನ್ನು ದೊಡ್ಡದಕ್ಕೆ ಬದಲಾಯಿಸುತ್ತದೆ.
ಮತ್ತೆ ಪರಿಚಯಿಸದೆ ತಿರುಗಿಸಿ
ಫೈಲ್ ಅನ್ನು ಮತ್ತೆ ರಚಿಸುವವರು ಮುಂದಿನ ಚಕ್ರಕ್ಕೆ ಅದರ ಮಾಲೀಕ ಮತ್ತು ಮೋಡ್ ಅನ್ನು ನಿರ್ಧರಿಸುತ್ತಾರೆ, ಆದ್ದರಿಂದ ಸರಿಪಡಿಸುವಿಕೆಯನ್ನು ರೊಟೇಶನ್ ಕಾನ್ಫಿಗರೇಶನ್ನೊಂದಿಗೆ ಸಮನ್ವಯಗೊಳಿಸಿ. ಬೇರೆ ಖಾತೆಯ ಅಡಿಯಲ್ಲಿ ಅಥವಾ ಹೊಸ ACLನೊಂದಿಗೆ ರಚಿಸಲಾದ ಬದಲಿ ಯಶಸ್ವಿ ತಿದ್ದುಪಡಿಯ ನಂತರ ವೈಫಲ್ಯವನ್ನು ಮರಳಿ ತರುತ್ತದೆ.
ಮೋಡ್ ಮತ್ತು ಗುಂಪನ್ನು ರಚನೆಯ ಸಮಯದಲ್ಲಿ ಹೊಂದಿಸಿ, ನಂತರವಲ್ಲ, ಮತ್ತು ಮುಂದಿನ ಸೇರಿಸುವಿಕೆಯ ಬದಲು ಮುಂದಿನ ರೊಟೇಶನ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ. ಸೇರಿಸುವಿಕೆ ಈಗಾಗಲೇ ಉತ್ತೀರ್ಣವಾದ ಪರೀಕ್ಷೆಯನ್ನು ಮಾತ್ರ ಪುನರಾವರ್ತಿಸುತ್ತದೆ. ರೊಟೇಶನ್ ಉಪಕರಣವು ರಚನೆ ಮೋಡ್ ಸೆಟ್ಟಿಂಗ್ ನೀಡಿದರೆ, ರಚನೆಯ ನಂತರದ chmod ಬದಲು ಅದನ್ನು ಬಳಸಿ. ರಚನೆ ಮತ್ತು chmod ನಡುವಿನ ಅಂತರವೇ ಮುಂದಿನ ಬರವಣಿಗೆ ವಿಫಲವಾಗಬಹುದಾದ ಕ್ಷಣ.
ಕತ್ತರಿಸುವುದು ಹೇಗಾದರೂ ವಿಫಲವಾದಾಗ, ಅನುಮತಿಗಳನ್ನು ಸೇರಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ
ನೀವು ಬರೆಯಬಹುದಾದ ಫೈಲ್ ಅನ್ನು ಕತ್ತರಿಸುವ ವೈಫಲ್ಯವು ಡೈರೆಕ್ಟರಿ ಅನುಮತಿಗಳಿಂದ ವಿವರಿಸಲ್ಪಡುವುದಿಲ್ಲ, ಮತ್ತು ಅವುಗಳನ್ನು ಹೆಚ್ಚು ಸೇರಿಸುವುದರಿಂದ ಸಹಾಯವಾಗುವುದಿಲ್ಲ. ಬದಲಿಗೆ ಗುಣಲಕ್ಷಣಗಳು ಮತ್ತು ನಿರ್ಬಂಧವನ್ನು ನೋಡಿ: append-only ಗುಣಲಕ್ಷಣವು ಸೇರಿಸುವ ಮೋಡ್ನಲ್ಲಿ ಮಾತ್ರ ಬರವಣಿಗೆಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಮತ್ತು ಓದಲು-ಮಾತ್ರ ಮೌಂಟ್ ಅಥವಾ ಸೇವಾ ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ACL ಅನುಮತಿಸುವ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ನಿರಾಕರಿಸಬಹುದು.
ಘಟಕದ ಫೈಲ್ಸಿಸ್ಟಮ್ ನಿರ್ಬಂಧಗಳು ಮತ್ತು ಮಾರ್ಗದ ಮೌಂಟ್ ಆಯ್ಕೆಗಳನ್ನು ಪರಿಶೀಲಿಸಿ, ನಂತರ ವಿಫಲವಾದ ನಿಖರ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಪುನರುತ್ಪಾದಿಸಿ. ಎಂದಿಗೂ ಸಂಪರ್ಕಿಸದ ಅನುಮತಿಯನ್ನು ವಿಸ್ತರಿಸುವುದು ಯಾವ ನಿರ್ಬಂಧ ನಿಜವಾಗಿತ್ತು ಎಂಬುದನ್ನು ಮಾತ್ರ ಮರೆಮಾಡುತ್ತದೆ. ಬಿಸಾಡುವ ಘಟಕದಲ್ಲಿ ಒಂದೊಂದಾಗಿ ನಿರ್ಬಂಧವನ್ನು ತೆಗೆದುಹಾಕಿ, ಮತ್ತು ಶಾಶ್ವತವಾದದ್ದನ್ನು ಬದಲಾಯಿಸುವ ಮೊದಲು ಅದನ್ನು ಹಿಂತಿರುಗಿಸಿ.