[Series] [Linux programming] Những khái niệm cơ bản [Part 3]
LINUX và 1 vạn câu hỏi vì sao
1. Linux users:
Mỗi user trong hệ thống sẽ có một login name (username) riêng biệt, đi kèm với user ID (UID). Thông tin của mỗi user sẽ được lưu trữ tại /etc/passwd:
minh@minh-Inspiron-7460:~$ cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync ...
Các thông tin trên bao gồm:
+ Group ID: ID của group đầu tiên mà user này là thành viên
+ Home directory: directory mà user sẽ log vào đầu tiên
+ Login shell: trình biên dịch mà user dùng
Thông thường sẽ có thêm phần thông tin về password được mã hóa, tuy nhiên với các Kernel sau này, phần password sẽ được lưu trữ riêng ở shadow passwd - chỉ có thể được đọc bởi privileged users (người dùng có quyền hạn cao).
2. Linux groups:
Để quản lí quyền truy cập hiệu quả giữa các users, Linux định nghĩa khái niệm groups, chia các users vào groups thích hợp và phân quyền. Đối với các phiên bản UNIX ban đầu, mỗi user chỉ có thể thuộc về một group. Tuy nhiên trong bản BSD, các bản UNIX sau này và trong POSIX.1-1990, một user có thể đồng thời là thành viên của nhiều groups khác nhau. Thông tin về các groups có thể tìm thấy trong file /etc/group:
minh@minh-Inspiron-7460:~$ cat /etc/group root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:syslog,minh tty:x:5:syslog disk:x:6: lp:x:7: ...
Các thông tin trên bao gồm:
+ Group name: Tên của group là duy nhất
+ Group ID: ID của group
+ User list: Danh sách người dùng trực thuộc group
3. Superuser:
Là người dùng Linux chắc hẳn bạn đã quá quen thuộc với câu lệnh sudo (Super User DO). Câu lệnh này cho phép bạn triển khai các lệnh ở chế độ admin mà không cần phải quan tâm vấn đề cấp quyền. Nó tương tự như Windows "run as administrator", và thông tin về người dùng được cấp quyền superuser được lưu trữ tại /etc/sudoers:
minh@minh-Inspiron-7460:~$ sudo cat /etc/sudoers [sudo] password for minh: # This file MUST be edited with the 'visudo' command as root. # Please consider adding local content in /etc/sudoers.d/ instead # of directly modifying this file. # See the man page for details on how to write a sudoers file. Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on "#include" directives: #includedir /etc/sudoers.d
Tiếp theo: Cây thư mục trong Linux
Khoa học - Công nghệ
/khoa-hoc-cong-nghe
Bài viết nổi bật khác
- Hot nhất
- Mới nhất