Cách xóa người dùng trên Linux (và Xóa mọi dấu vết)

Xóa người dùng trên Linux liên quan đến nhiều thứ hơn bạn nghĩ. Nếu bạn là quản trị viên hệ thống, bạn sẽ muốn xóa tất cả các dấu vết của tài khoản và quyền truy cập của tài khoản khỏi hệ thống của mình. Chúng tôi sẽ chỉ cho bạn các bước cần thực hiện.

Nếu bạn chỉ muốn xóa tài khoản người dùng khỏi hệ thống của mình và không lo lắng về việc kết thúc mọi quy trình đang chạy và các tác vụ dọn dẹp khác, hãy làm theo các bước trong phần “Xóa tài khoản người dùng” bên dưới. Bạn sẽ cần kẻ lừa dối lệnh trên các bản phân phối dựa trên Debian và userdel lệnh trên các bản phân phối Linux khác.

Tài khoản người dùng trên Linux

Kể từ khi các hệ thống chia sẻ thời gian đầu tiên xuất hiện vào đầu những năm 1960 và mang lại cho chúng khả năng cho nhiều người dùng làm việc trên một máy tính, đã có nhu cầu tách biệt và phân chia các tệp và dữ liệu của mỗi người dùng với tất cả những người dùng khác. Và do đó, tài khoản người dùng và mật khẩu - đã được sinh ra.

Tài khoản người dùng có chi phí quản trị. Chúng cần được tạo khi người dùng cần truy cập vào máy tính lần đầu tiên. Chúng cần được xóa khi quyền truy cập đó không còn được yêu cầu. Trên Linux, cần tuân theo một trình tự các bước để xóa người dùng, tệp và tài khoản của họ khỏi máy tính một cách chính xác và có phương pháp.

Nếu bạn là quản trị viên hệ thống thì trách nhiệm thuộc về bạn. Đây là cách thực hiện.

Kịch bản của chúng tôi

Có bất kỳ lý do nào khiến tài khoản có thể cần bị xóa. Một nhân viên có thể chuyển sang một nhóm khác hoặc rời công ty hoàn toàn. Tài khoản có thể đã được thiết lập để cộng tác ngắn hạn với khách truy cập từ một công ty khác. Team-up là điều phổ biến trong học viện, nơi mà các dự án nghiên cứu có thể kéo dài các phòng ban, các trường đại học khác nhau và thậm chí cả các tổ chức thương mại. Khi kết thúc dự án, quản trị viên hệ thống phải thực hiện công việc quản lý nội bộ và loại bỏ các tài khoản không cần thiết.

Tình huống xấu nhất là khi ai đó bỏ đi dưới một đám mây vì một tội nhẹ. Những sự kiện như vậy thường xảy ra đột ngột, ít cảnh báo trước. Điều đó mang lại cho quản trị viên hệ thống rất ít thời gian để lập kế hoạch và cấp bách phải khóa, đóng và xóa tài khoản — với một bản sao tệp của người dùng được sao lưu trong trường hợp cần thiết cho bất kỳ pháp y nào sau khi đóng.

Trong kịch bản của chúng tôi, chúng tôi sẽ giả vờ rằng một người dùng, Eric, đã làm điều gì đó đảm bảo rằng anh ta sẽ bị loại khỏi cơ sở ngay lập tức. Tại thời điểm này, anh ấy không biết về điều này, anh ấy vẫn đang làm việc và đăng nhập. Ngay sau khi bạn gật đầu với an ninh, anh ấy sẽ được hộ tống khỏi tòa nhà.

Mọi thứ đã sẵn sàng. Mọi con mắt đều đổ dồn về phía bạn.

Kiểm tra Đăng nhập

Hãy xem liệu anh ấy có thực sự đăng nhập hay không và nếu có, anh ấy sẽ làm việc với bao nhiêu phiên. Các WHO lệnh sẽ liệt kê các phiên hoạt động.

WHO

Eric đã đăng nhập một lần. Hãy xem những quy trình anh ấy đang chạy.

Xem xét các quy trình của người dùng

Chúng ta có thể sử dụng ps lệnh liệt kê các quy trình mà người dùng này đang chạy. Các -u (người dùng) tùy chọn cho phép chúng tôi nói ps để hạn chế đầu ra của nó đối với các quy trình đang chạy dưới quyền sở hữu của tài khoản người dùng đó.

ps -u eric

Chúng ta có thể thấy các quy trình tương tự với nhiều thông tin hơn bằng cách sử dụng hàng đầu chỉ huy. hàng đầu cũng có một -U (người dùng) tùy chọn để hạn chế đầu ra cho các quy trình do một người dùng sở hữu. Lưu ý rằng lần này nó là chữ hoa "U."

top -U eric

Chúng tôi có thể thấy mức sử dụng bộ nhớ và CPU của từng tác vụ và có thể nhanh chóng tìm kiếm bất kỳ thứ gì có hoạt động đáng ngờ. Chúng tôi sắp hủy bỏ tất cả các quy trình của anh ấy, vì vậy, an toàn nhất là hãy dành một chút thời gian để xem xét nhanh các quy trình, đồng thời kiểm tra và đảm bảo rằng những người dùng khác sẽ không gặp bất tiện khi bạn chấm dứt tài khoản người dùng ericCác quy trình.

Có vẻ như anh ấy không làm được gì nhiều, chỉ sử dụngít hơn để xem một tập tin. Chúng tôi có thể tiếp tục an toàn. Nhưng trước khi giết các quy trình của anh ấy, chúng tôi sẽ đóng băng tài khoản bằng cách khóa mật khẩu.

LIÊN QUAN:Cách sử dụng lệnh ps để giám sát các quá trình Linux

Khóa tài khoản

Chúng tôi sẽ khóa tài khoản trước khi hủy quy trình vì khi hủy quy trình, người dùng sẽ đăng xuất. Nếu chúng tôi đã thay đổi mật khẩu của anh ấy, anh ấy sẽ không thể đăng nhập lại.

Mật khẩu người dùng đã mã hóa được lưu trữ trong / etc / shadow tập tin. Thông thường, bạn sẽ không bận tâm đến các bước tiếp theo này, nhưng để bạn có thể thấy những gì xảy ra trong / etc / shadow nộp khi bạn khóa tài khoản, chúng tôi sẽ đi đường vòng một chút. Chúng ta có thể sử dụng lệnh sau để xem hai trường đầu tiên của mục nhập choeric tài khoản người dùng.

sudo awk -F: '/ eric / {print $ 1, $ 2}' / etc / shadow

Lệnh awk phân tích cú pháp các trường từ tệp văn bản và tùy chọn thao tác với chúng. Chúng tôi đang sử dụng -F (dấu phân cách trường) để cho biết awk rằng tệp sử dụng dấu hai chấm ” : ”Để tách các trường. Chúng tôi sẽ tìm kiếm một dòng có mẫu "eric" trong đó. Đối với các dòng phù hợp, chúng tôi sẽ in trường đầu tiên và trường thứ hai. Đây là tên tài khoản và mật khẩu được mã hóa.

Mục nhập cho eric tài khoản người dùng được in cho chúng tôi.

Để khóa tài khoản, chúng tôi sử dụng passwd chỉ huy. Chúng tôi sẽ sử dụng -l (khóa) tùy chọn và nhập tên của tài khoản người dùng để khóa.

sudo passwd -l eric

Nếu chúng tôi kiểm tra / etc / passwd gửi lại, chúng tôi sẽ xem điều gì đã xảy ra.

sudo awk -F: '/ eric / {print $ 1, $ 2}' / etc / shadow

Dấu chấm than đã được thêm vào đầu mật khẩu được mã hóa. Nó không ghi đè lên ký tự đầu tiên, nó chỉ được thêm vào phần đầu của mật khẩu. Đó là tất cả những gì cần thiết để ngăn người dùng có thể đăng nhập vào tài khoản đó.

Bây giờ chúng tôi đã ngăn người dùng đăng nhập lại, chúng tôi có thể hủy các quy trình của anh ta và đăng xuất anh ta.

Giết các quá trình

Có nhiều cách khác nhau để giết các quy trình của người dùng, nhưng lệnh hiển thị ở đây có sẵn rộng rãi và là cách triển khai hiện đại hơn một số lựa chọn thay thế. Các pkill lệnh sẽ tìm và giết các tiến trình. Chúng tôi đang truyền tín hiệu KILL và sử dụng -u (người dùng) tùy chọn.

sudo pkill -KILL -u eric

Bạn được quay trở lại dấu nhắc lệnh theo kiểu chống cao trào. Để chắc chắn rằng điều gì đó đã xảy ra, chúng ta hãy kiểm tra WHO lần nữa:

WHO

Phiên của anh ấy đã biến mất. Anh ấy đã bị đăng xuất và các quy trình của anh ấy đã bị dừng. Điều đó đã giải quyết được phần nào tính cấp bách của tình hình. Bây giờ chúng ta có thể thư giãn một chút và tiếp tục phần còn lại của công việc dọn dẹp khi bảo vệ tiến đến bàn của Eric.

LIÊN QUAN:Làm thế nào để loại bỏ các quy trình từ thiết bị đầu cuối Linux

Lưu trữ Thư mục nhà của người dùng

Không ngoa khi trong trường hợp như thế này, trong tương lai, quyền truy cập vào tệp của người dùng sẽ được yêu cầu. Là một phần của cuộc điều tra hoặc đơn giản là vì người thay thế họ có thể cần phải tham khảo lại công việc của người tiền nhiệm. Chúng tôi sẽ sử dụng nhựa đường lệnh để lưu trữ toàn bộ thư mục chính của họ.

Các tùy chọn chúng tôi đang sử dụng là:

  • c: Tạo tệp lưu trữ.
  • f: Sử dụng tên tệp được chỉ định cho tên của kho lưu trữ.
  • j: Sử dụng nén bzip2.
  • v: Cung cấp đầu ra dài dòng khi tệp lưu trữ được tạo.
sudo tar cfjv eric-20200820.tar.bz / home / eric

Nhiều đầu ra màn hình sẽ cuộn trong cửa sổ đầu cuối. Để kiểm tra kho lưu trữ đã được tạo, hãy sử dụng ls chỉ huy. Chúng tôi đang sử dụng -l (định dạng dài) và -h các tùy chọn (con người có thể đọc được).

ls -lh eric-20200802.tar.bz

Một tệp có dung lượng 722 MB đã được tạo. Điều này có thể được sao chép ở một nơi an toàn để xem xét sau này.

Xóa công việc cron

Tốt hơn chúng tôi nên kiểm tra trong trường hợp có bất kỳ cron công việc được lên lịch cho tài khoản người dùng eric. A cron công việc là một lệnh được kích hoạt tại các thời điểm hoặc khoảng thời gian xác định. Chúng tôi có thể kiểm tra nếu có bất kỳ cron công việc được lên lịch cho tài khoản người dùng này bằng cách sử dụng ls:

sudo ls -lh / var / spool / cron / crontabs / eric

Nếu bất cứ thứ gì tồn tại ở vị trí này, điều đó có nghĩa là có cron công việc được xếp hàng đợi cho tài khoản người dùng đó. Chúng tôi có thể xóa chúng bằng cái này crontab chỉ huy. Các -r (loại bỏ) tùy chọn sẽ xóa các công việc và -u (người dùng) tùy chọn cho biết crontab công việc cần loại bỏ của ai.

sudo crontab -r -u eric

Các công việc bị xóa một cách âm thầm. Đối với tất cả những gì chúng ta biết, nếu Eric nghi ngờ anh ta sắp bị đuổi ra khỏi nhà, anh ta có thể đã lên lịch cho một công việc độc hại. Bước này là thực hành tốt nhất.

Xóa công việc in

Có lẽ người dùng có lệnh in đang chờ xử lý? Để chắc chắn, chúng tôi có thể xóa hàng đợi in của bất kỳ công việc nào thuộc tài khoản người dùng eric. Các lprm lệnh xóa công việc khỏi hàng đợi in. Các -U (tên người dùng) tùy chọn cho phép bạn xóa các công việc thuộc sở hữu của tài khoản người dùng có tên:

lprm -U eric

Các công việc bị xóa và bạn được quay trở lại dòng lệnh.

Xóa tài khoản người dùng

Chúng tôi đã sao lưu các tệp từ / home / eric / thư mục, vì vậy chúng tôi có thể tiếp tục và xóa tài khoản người dùng và xóa / home / eric / cùng một lúc.

Lệnh sử dụng tùy thuộc vào bản phân phối Linux bạn đang sử dụng. Đối với các bản phân phối Linux dựa trên Debian, lệnh là kẻ lừa dốivà đối với phần còn lại của thế giới Linux, nó là userdel.

Trên thực tế, trên Ubuntu cả hai lệnh đều có sẵn. Tôi nửa mong đợi một trong hai là bí danh của người kia, nhưng chúng là số nhị phân riêng biệt.

gõ deluser
gõ userdel

Mặc dù cả hai đều có sẵn, nhưng khuyến nghị là sử dụng kẻ lừa dối trên các bản phân phối bắt nguồn từ Debian:

userdel là một tiện ích cấp thấp để xóa người dùng. Trên Debian, quản trị viên thường sử dụng kẻ lừa dối(8) thay vào đó. ”

Điều đó đủ rõ ràng, vì vậy lệnh sử dụng trên máy tính Ubuntu này là kẻ lừa dối. Bởi vì chúng tôi cũng muốn thư mục chính của họ bị xóa nên chúng tôi đang sử dụng --remove-home cờ:

sudo deluser --remove-home eric

Lệnh sử dụng cho các bản phân phối không phải Debian là userdel, với --tẩy cờ:

sudo userdel --remove eric

Tất cả dấu vết của tài khoản người dùng eric đã bị xóa. Chúng tôi có thể kiểm tra rằng / home / eric /thư mục đã bị xóa:

ls / nhà

Các eric nhóm cũng đã bị xóa vì tài khoản người dùng eric là mục duy nhất trong đó. Chúng tôi có thể kiểm tra điều này khá dễ dàng bằng cách chuyển nội dung của / etc / group xuyên qua grep:

sudo less / etc / group | grep eric

Nó là một bọc

Eric, vì tội lỗi của mình, đã biến mất. An ninh vẫn đang đưa anh ta ra khỏi tòa nhà và bạn đã bảo mật và lưu trữ các tệp của anh ta, xóa tài khoản của anh ta và xóa hệ thống của bất kỳ tàn tích nào.

Độ chính xác luôn vượt trội tốc độ. Hãy chắc chắn rằng bạn cân nhắc từng bước trước khi thực hiện. Bạn không muốn ai đó bước đến bàn của mình và nói "Không, Eric kia."


$config[zx-auto] not found$config[zx-overlay] not found