Đăng nhập - Lệnh Linux - Lệnh Unix

TÊN

đăng nhập - đăng nhập

TÓM TẮC

đăng nhập [ name ]
login -p
login -h tên máy chủ
tên đăng nhập -f

SỰ MIÊU TẢ

đăng nhập được sử dụng khi đăng nhập vào một hệ thống . Nó cũng có thể được sử dụng để chuyển từ người dùng này sang người dùng khác bất kỳ lúc nào (hầu hết các shell hiện đại đều có hỗ trợ cho tính năng này được tích hợp vào chúng).

Nếu một đối số không được đưa ra, hãy đăng nhập lời nhắc cho tên người dùng.

Nếu người dùng không phải là người chủ, và nếu / etc / nologin tồn tại, nội dung của tập tin này được in ra màn hình và đăng nhập bị chấm dứt. Điều này thường được sử dụng để ngăn chặn thông tin đăng nhập khi hệ thống đang được gỡ xuống.

Nếu các hạn chế truy cập đặc biệt được chỉ định cho người dùng trong / etc / usertty , những điều này phải được đáp ứng hoặc việc đăng nhập sẽ bị từ chối và một thông báo nhật ký hệ thống sẽ được tạo ra. Xem phần "Giới hạn truy cập đặc biệt".

Nếu người dùng là người chủ, thì đăng nhập phải xuất hiện trên một tty được liệt kê trong / etc / securetty . Thất bại sẽ được đăng nhập với cơ sở nhật ký hệ thống .

Sau khi các điều kiện này đã được kiểm tra, mật khẩu sẽ được yêu cầu và kiểm tra (nếu mật khẩu được yêu cầu cho tên người dùng này). Mười lần thử được cho phép trước khi đăng nhập chết, nhưng sau ba lần đăng nhập đầu tiên, phản hồi bắt đầu trở nên rất chậm. Lỗi đăng nhập được báo cáo qua cơ sở nhật ký hệ thống . Cơ sở này cũng được sử dụng để báo cáo bất kỳ đăng nhập root thành công nào.

Nếu tệp .hushlogin tồn tại, thì thông tin đăng nhập "yên tĩnh" được thực hiện (thao tác này sẽ vô hiệu hóa việc kiểm tra thư và việc in thời gian đăng nhập cuối cùng và thông báo trong ngày). Nếu không, nếu / var / log / lastlog tồn tại, thời gian đăng nhập cuối cùng được in (và đăng nhập hiện tại được ghi lại).

Những điều hành chính ngẫu nhiên, chẳng hạn như thiết lập UID và GID của tty được thực hiện. Biến môi trường TERM được duy trì nếu nó tồn tại (các biến môi trường khác được giữ nguyên nếu tùy chọn -p được sử dụng). Sau đó, các biến môi trường HOME, PATH, SHELL, TERM, MAIL và LOGNAME được thiết lập. PATH mặc định là / usr / local / bin: / bin: / usr / bin :. cho người dùng thông thường và / sbin: / bin: / usr / sbin: / usr / bin cho thư mục gốc. Cuối cùng, nếu đây không phải là thông tin đăng nhập "yên tĩnh", thông báo của ngày được in và tệp có tên của người dùng trong / var / spool / mail sẽ được chọn và một thư được in nếu nó có độ dài khác 0.

Shell của người dùng sau đó được bắt đầu. Nếu không có shell nào được chỉ định cho người dùng trong / etc / passwd , thì / bin / sh được sử dụng. Nếu không có thư mục nào được chỉ định trong / etc / passwd , thì / được sử dụng (thư mục chính được chọn cho tệp .hushlogin được mô tả ở trên).

TÙY CHỌN

-p

Được sử dụng bởi getty (8) để cho đăng nhập không phá hủy môi trường

-f

Được sử dụng để bỏ qua xác thực đăng nhập thứ hai. Điều này đặc biệt không làm việc cho root, và dường như không hoạt động tốt dưới Linux .

-h

Được sử dụng bởi các máy chủ khác (ví dụ, telnetd (8)) để truyền tên của máy chủ từ xa để đăng nhập để nó có thể được đặt trong utmp và wtmp. Chỉ superuser mới có thể sử dụng tùy chọn này.

Giới hạn truy cập đặc biệt

Tập tin / etc / securetty liệt kê tên của các tty nơi root được phép đăng nhập. Một tên của thiết bị tty không có tiền tố / dev / phải được chỉ định trên mỗi dòng. Nếu tập tin không tồn tại, root được phép đăng nhập vào bất kỳ tty nào.

Trên hầu hết các hệ thống Linux hiện đại PAM (Pluggable Authentication Modules) được sử dụng. Trên các hệ thống không sử dụng PAM, tệp / etc / usertty chỉ định các hạn chế truy cập bổ sung cho người dùng cụ thể. Nếu tệp này không tồn tại, không có giới hạn truy cập bổ sung nào được áp dụng. Tệp bao gồm một chuỗi các phần. Có ba loại phần có thể có: CLASSES, GROUPS và USERS. Phần CLASSES định nghĩa các lớp tty và các mẫu tên máy chủ, phần GROUPS định nghĩa các tty và host được cho phép trên mỗi nhóm, và phần USERS định nghĩa các tty và host được cho phép trên cơ sở mỗi người dùng.

Mỗi dòng trong tệp này có thể dài hơn 255 ký tự. Nhận xét bắt đầu bằng # ký tự và mở rộng đến cuối dòng.

Phần CLASSES

Một phần CLASSES bắt đầu với từ CLASSES ở đầu của một dòng trong tất cả các chữ hoa. Mỗi dòng sau cho đến khi bắt đầu một phần mới hoặc phần cuối của tệp bao gồm một chuỗi các từ được phân tách bằng các tab hoặc dấu cách. Mỗi dòng xác định một lớp các mẫu tty và các mẫu máy chủ.

Từ ở đầu dòng được định nghĩa là tên tập thể cho các mẫu tty và mẫu lưu trữ được chỉ định ở phần còn lại của dòng. Tên tập thể này có thể được sử dụng trong bất kỳ mục GROUPS hoặc USERS tiếp theo nào. Không có tên lớp như vậy phải xảy ra như là một phần của định nghĩa của một lớp để tránh các vấn đề với các lớp đệ quy.

Một phần CLASSES ví dụ:

CLASSES myclass1 tty1 tty2 myclass2 tty3 @ .foo.com

Điều này định nghĩa các lớp myclass1myclass2 là các cạnh bên phải tương ứng.

Mục GROUPS

Phần GROUPS định nghĩa các tty và host được cho phép trên cơ sở nhóm Unix. Nếu người dùng là thành viên của nhóm Unix theo / etc / passwd/ etc / groupnhóm như vậy được đề cập trong phần NHÓM trong / etc / usertty thì người dùng được cấp quyền truy cập nếu nhóm đó là.

Phần GROUPS bắt đầu bằng từ GROUPS trong tất cả các chữ hoa ở đầu dòng, và mỗi dòng sau là một dãy các từ được phân tách bằng dấu cách hoặc các tab. Từ đầu tiên trên một dòng là tên của nhóm và phần còn lại của các từ trên dòng xác định các tty và host nơi các thành viên của nhóm đó được phép truy cập. Các đặc tả này có thể liên quan đến việc sử dụng các lớp được định nghĩa trong các phần CLASSES trước.

Một phần GROUPS ví dụ.

NHÓM Sys tty1 @ .bar.edu stud myclass1 tty4

Ví dụ này xác định rằng các thành viên của nhóm sys có thể đăng nhập vào tty1 và từ các máy chủ trong miền bar.edu. Người dùng trong nhóm stud có thể đăng nhập từ máy chủ / ttys được chỉ định trong lớp myclass1 hoặc từ tty4.

Mục USERS

Một phần USERS bắt đầu với từ USERS trong tất cả các chữ hoa ở đầu dòng, và mỗi dòng sau là một dãy các từ được phân tách bằng dấu cách hoặc các tab. Từ đầu tiên trên một dòng là tên người dùng và người dùng đó được phép đăng nhập vào các tty và từ các máy chủ được đề cập trên phần còn lại của dòng. Các đặc tả này có thể liên quan đến các lớp được định nghĩa trong các phần CLASSES trước. Nếu không có tiêu đề phần nào được chỉ định ở đầu tệp, phần đầu tiên mặc định là phần NGƯỜI DÙNG.

Một ví dụ USERS phần:

USERS zacho tty1 @ 130.225.16.0 / 255.255.255.0 màu xanh tty3 myclass2

Điều này cho phép người dùng đăng nhập zacho chỉ trên tty1 và từ máy chủ có địa chỉ IP trong phạm vi 130.225.16.0 - 130.225.16.255 và người dùng màu xanh được phép đăng nhập từ tty3 và bất kỳ điều gì được chỉ định trong lớp myclass2.

Có thể có một dòng trong phần USERS bắt đầu bằng tên người dùng *. Đây là quy tắc mặc định và sẽ được áp dụng cho bất kỳ người dùng nào không khớp với bất kỳ dòng nào khác.

Nếu cả hai dòng USERS và GROUPS khớp với một người dùng thì người dùng được phép truy cập từ liên minh của tất cả các ttys / hosts được đề cập trong các đặc tả này.

Nguồn gốc

Các đặc tả mẫu tty và host được sử dụng trong đặc tả của lớp, nhóm và quyền truy cập của người dùng được gọi là nguồn gốc. Chuỗi gốc có thể có một trong các định dạng sau:

o

Tên của thiết bị tty không có tiền tố / dev /, ví dụ tty1 hoặc ttyS0.

o

Chuỗi @localhost, có nghĩa là người dùng được phép telnet / rlogin từ máy chủ lưu trữ cục bộ đến cùng một máy chủ lưu trữ. Điều này cũng cho phép người dùng ví dụ chạy lệnh: xterm -e / bin / login.

o

Hậu tố tên miền như @ .some.dom, có nghĩa là người dùng có thể rlogin / telnet từ bất kỳ máy chủ nào có tên miền có hậu tố .some.dom.

o

Một dải địa chỉ IPv4, được viết @ xxxx / yyyy trong đó xxxx là địa chỉ IP trong ký hiệu thập phân tứ phân bình thường, và yyyy là một bitmask trong cùng một ký hiệu xác định bit nào trong địa chỉ để so sánh với địa chỉ IP của máy chủ từ xa . Ví dụ: @ 130.225.16.0 / 255.255.254.0 có nghĩa là người dùng có thể rlogin / telnet từ bất kỳ máy chủ nào có địa chỉ IP nằm trong khoảng 130.225.16.0 - 130.225.17.255.

Bất kỳ nguồn gốc nào ở trên có thể được bắt đầu bằng một đặc tả thời gian theo cú pháp:

timespec :: = '[' [':' ] * ']' ngày :: = 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun' giờ :: = '0' | '1' | ... | '23' hourspec :: = | '-' ngày hoặc giờ :: = |

Ví dụ: nguồn gốc [mon: tue: wed: thu: fri: 8-17] tty3 có nghĩa là đăng nhập được cho phép vào các ngày thứ Hai đến thứ Sáu từ 8:00 đến 17:59 (5:59 chiều) trên tty3. Điều này cũng cho thấy rằng một phạm vi giờ ab bao gồm tất cả các khoảnh khắc giữa a: 00 và b: 59. Một đặc điểm kỹ thuật một giờ (chẳng hạn như 10) có nghĩa là khoảng thời gian từ 10 đến 10:59.

Không chỉ định bất kỳ tiền tố thời gian nào cho một tty hoặc máy chủ có nghĩa là đăng nhập từ nguồn gốc đó được cho phép bất kỳ lúc nào. Nếu bạn cung cấp tiền tố thời gian, hãy đảm bảo chỉ định cả tập hợp ngày và một hoặc nhiều giờ hoặc phạm vi giờ. Thông số thời gian có thể không bao gồm bất kỳ khoảng trắng nào.

Nếu không có quy tắc mặc định nào được đưa ra thì người dùng không khớp với bất kỳ dòng / etc / usertty nào được phép đăng nhập từ bất kỳ đâu là hành vi chuẩn.

XEM THÊM

init (8), tắt máy (8)

Quan trọng: Sử dụng lệnh man ( % man ) để xem cách một lệnh được sử dụng trên máy tính cụ thể của bạn.