Sự khác biệt giữa nhóm chính và nhóm thứ cấp trong Ubuntu là gì?
Sự khác biệt giữa nhóm chính và nhóm thứ cấp trong Ubuntu là gì?
Câu trả lời:
Nhóm chính là nhóm được áp dụng cho bạn khi bạn đăng nhập bằng các phương thức thông thường (TTYs, GUI, SSH, v.v.).
Vì các quy trình thường kế thừa nhóm của cha mẹ và quy trình hoặc trình bao ban đầu của bạn sẽ có nhóm chính của bạn là nhóm, nên mọi thứ bạn làm thường có tác dụng của nhóm chính trên đó (ví dụ: tạo tệp).
Các nhóm thứ cấp là các nhóm bạn có thể bắt đầu các quy trình mà không cần sử dụng mật khẩu nhóm, thông qua sg
hoặc để đăng nhập thông qua newgrp
lệnh.
Vì vậy, nếu bạn có một nhóm chính x
và một nhóm thứ cấp y
,
touch foo
thường sẽ tạo một tệp với x
tư cách là chủ sở hữu nhóm (trừ khi thư mục mẹ là SETGID cho nhóm khác). Tuy nhiên, bạn có thể làm:
sg y 'touch bar'
# or
newgrp y
touch baz
Sau đó bar
và baz
sẽ được tạo ra với y
tư cách là nhóm.
Tuy nhiên, nếu bạn không có một nhóm trong các nhóm thứ cấp (giả sử z
), các lệnh sg
và newgroup
sẽ yêu cầu mật khẩu nhóm nếu bạn sử dụng chúng với z
.
Nếu bạn đang nói về các nhóm hệ thống tập tin, chúng được giải thích khá tốt ở đây bài viết trên mạng . Nhóm chính được sử dụng theo mặc định khi tạo một tệp mới. Bạn có thể kiểm tra điều này
touch foo
ls -la foo
Các tập tin sẽ thuộc sở hữu của bạn và nằm trong nhóm chính của bạn. Người dùng cũng trong nhóm chính của bạn sẽ có quyền cấp độ nhóm trên các tệp đó.
Bạn có thể kiểm tra các nhóm thứ cấp của bạn với
groups $(whoami)
Cũng có thể chia sẻ tệp với những người không thuộc nhóm chính của bạn bằng cách đặt ID nhóm trên thư mục. Điều này được giải thích ở đây: thư mục dùng chung với SetGID .