Android

Lệnh Umask trong linux

Umask Linux Pro

Umask Linux Pro

Mục lục:

Anonim

Trên hệ điều hành Linux và Unix, tất cả các tệp mới được tạo với một bộ quyền mặc định. Tiện ích umask cho phép bạn xem hoặc đặt mặt nạ tạo chế độ tệp, xác định các bit quyền cho các tệp hoặc thư mục mới được tạo.

Nó được sử dụng bởi mkdir, touch, tee và các lệnh khác tạo các tệp và thư mục mới.

Quyền Linux

Trước khi đi xa hơn, hãy giải thích ngắn gọn về mô hình cấp phép Linux.

Trong Linux, mỗi tệp được liên kết với một chủ sở hữu và một nhóm và được gán quyền truy cập quyền cho ba lớp người dùng khác nhau:

  • chủ sở hữu tập tin. các thành viên nhóm. bất cứ ai khác.

Có ba loại quyền áp dụng cho mỗi lớp:

  • quyền đọc. quyền viết. quyền thực thi.

Khái niệm này cho phép bạn chỉ định người dùng nào được phép đọc tệp, ghi vào tệp hoặc thực thi tệp.

Để xem các quyền của tập tin, sử dụng ls :

ls -l dirname

drwxr-xr-x 12 linuxize users 4.0K Apr 8 20:51 dirname | | | | | | | | | | | | +-----------> Group | | | | +-------------------> Owner | | | +----------------------------> Others Permissions | | +-------------------------------> Group Permissions | +----------------------------------> Owner Permissions +------------------------------------> File Type

Ký tự đầu tiên đại diện cho loại tệp có thể là tệp thông thường ( - ), thư mục ( d ), liên kết tượng trưng ( l ) hoặc bất kỳ loại tệp đặc biệt nào khác.

Chín ký tự tiếp theo đại diện cho các quyền, mỗi bộ ba ký tự. Các bộ đầu tiên hiển thị các quyền của chủ sở hữu, các quyền của nhóm thứ hai và bộ cuối cùng hiển thị các quyền khác.

Ký tự r có giá trị bát phân là 4 là viết tắt của đọc, w với giá trị bát phân là 2 cho ghi, x với giá trị bát phân là 1 cho phép thực thi và ( - ) với giá trị bát phân là 0 khi không có quyền.

Ngoài ra còn có ba loại quyền truy cập tệp đặc biệt khác: setuid , setgid Sticky Bit .

Trong ví dụ trên ( rwxr-xr-x ) có nghĩa là chủ sở hữu đã đọc, viết và thực thi quyền ( rwx ), nhóm và những người khác có quyền đọc và thực thi.

Nếu chúng tôi biểu thị các quyền của tệp bằng cách sử dụng ký hiệu số, chúng tôi sẽ tìm đến số 755 :

  • Chủ sở hữu: rwx = 4+2+1 = 7 Nhóm: rx = 4+0+1 = 5 Khác: rx = 4+0+1 = 5

Khi được biểu thị bằng ký hiệu số, quyền có thể có ba hoặc bốn chữ số bát phân (0-7). Chữ số đầu tiên biểu thị các quyền đặc biệt nếu nó bị bỏ qua, điều đó có nghĩa là không có quyền đặc biệt nào được đặt trên tệp. Trong trường hợp của chúng tôi 755 giống như 0755 . Chữ số đầu tiên có thể là sự kết hợp của 4 cho setuid , 2 cho setgid 1 cho Sticky Bit .

Quyền truy cập tệp có thể được thay đổi bằng chmod và quyền sở hữu bằng lệnh chown .

Hiểu ô

Theo mặc định, trên các hệ thống Linux, quyền tạo mặc định là 666 cho các tệp, cho phép đọc và ghi cho người dùng, nhóm và những người khác và cho 777 đối với các thư mục, có nghĩa là đọc, viết và thực thi quyền đối với người dùng, nhóm và khác. Linux không cho phép tạo tệp với quyền thực thi.

Quyền tạo mặc định có thể được sửa đổi bằng tiện ích umask .

umask chỉ ảnh hưởng đến môi trường vỏ hiện tại. Trên hầu hết các bản phân phối Linux, giá trị umask trên toàn hệ thống mặc định được đặt trong pam_umask.so hoặc /etc/profile .

Để xem giá trị mặt nạ hiện tại, chỉ cần nhập umask mà không có bất kỳ đối số nào:

umask

Đầu ra sẽ bao gồm

022

Giá trị umask chứa các bit quyền sẽ KHÔNG được đặt trên các tệp và thư mục mới được tạo.

Như chúng tôi đã đề cập, quyền tạo mặc định cho các tệp là 666 và cho các thư mục 777 . Để tính toán các bit cho phép của các tệp mới trừ giá trị umask khỏi giá trị mặc định.

Ví dụ: để tính toán cách uname 022 sẽ ảnh hưởng đến các tệp và thư mục mới được tạo, hãy sử dụng:

  • Tệp: 666 - 022 = 644 . Chủ sở hữu có thể đọc và sửa đổi các tập tin. Nhóm và những người khác chỉ có thể đọc các tệp. Hướng dẫn: 777 - 022 = 755 Chủ sở hữu có thể cd vào thư mục và liệt kê đọc, sửa đổi, tạo hoặc xóa các tệp trong thư mục. Nhóm và những người khác có thể cd vào thư mục và liệt kê và đọc các tập tin.

Bạn cũng có thể hiển thị giá trị mặt nạ theo ký hiệu tượng trưng bằng tùy chọn -S :

umask -S

u=rwx, g=rx, o=rx

Không giống như ký hiệu số, giá trị ký hiệu tượng trưng chứa các bit cho phép sẽ được đặt trên các tệp và thư mục mới được tạo.

Đặt giá trị mặt nạ

Mặt nạ tạo tập tin có thể được đặt bằng cách sử dụng ký hiệu bát phân hoặc ký hiệu. Để thay đổi vĩnh viễn, đặt giá trị umask mới trong tệp cấu hình toàn cầu như /etc/profile tệp /etc/profile sẽ ảnh hưởng đến tất cả người dùng hoặc trong các tệp cấu hình vỏ của người dùng như ~/.profile , ~/.bashrc hoặc ~/.zshrc sẽ chỉ ảnh hưởng đến người dùng. Các tập tin người dùng được ưu tiên hơn các tập tin toàn cầu.

Trước khi thực hiện thay đổi giá trị umask đảm bảo giá trị mới không gây rủi ro bảo mật tiềm ẩn. Các giá trị ít hạn chế hơn 022 nên được sử dụng hết sức thận trọng. Ví dụ: umask 000 có nghĩa là bất kỳ ai cũng sẽ đọc, viết và thực thi quyền đối với tất cả các tệp mới được tạo.

Giả sử chúng tôi muốn đặt nhiều quyền hạn chế hơn cho các tệp và thư mục mới được tạo để những người khác sẽ không thể cd vào thư mục và đọc tệp. Các quyền chúng tôi muốn là 750 cho các thư mục và 640 cho các tệp.

Để tính giá trị umask chỉ cần trừ các quyền mong muốn từ giá trị mặc định:

Giá trị Umask: 777-750 = 027

Giá trị umask mong muốn được biểu thị trong ký hiệu số là 027 .

Để đặt vĩnh viễn giá trị mới, hãy mở tệp /etc/profile bằng trình soạn thảo văn bản của bạn:

sudo nano /etc/profile

và thay đổi hoặc thêm dòng sau vào đầu tệp:

/ etc / hồ sơ

umask 027

Để thay đổi có hiệu lực, hãy chạy lệnh source hoặc đăng xuất sau đây và đăng nhập:

source /etc/profile

Để xác minh cài đặt mới, chúng tôi sẽ tạo một tệp và thư mục mới bằng mkdir touch :

mkdir newdir touch newfile

drwxr-x--- 2 linuxize users 4096 Jul 4 18:14 newdir -rw-r----- 1 linuxize users 0 Jul 4 18:14 newfile

Một cách khác để đặt mặt nạ tạo tệp là sử dụng ký hiệu tượng trưng. Ví dụ: umask u=rwx, g=rx, o= giống như umask 027 .

Phần kết luận

Trong hướng dẫn này, chúng tôi đã giải thích các quyền của Linux và cách sử dụng lệnh umask để đặt các bit quyền cho các tệp hoặc thư mục mới được tạo.

Để biết thêm thông tin loại man umask trong thiết bị đầu cuối của bạn.

thiết bị đầu cuối umask