Hóa ra nó khá đơn giản với GDM. Tôi giả sử bạn đang sử dụng GDM vì bạn cũng đang sử dụng Gnome. Đầu tiên, tạo guest
tài khoản người dùng với mật khẩu trống:
sudo useradd -d /tmp/guest -p $(openssl passwd "") guest
Các openssl passwd ""
sẽ trở lại giá trị băm của chuỗi rỗng, do đó thiết lập mật khẩu để trống.
Bây giờ, tất cả những gì bạn cần là hai tập lệnh này:
/etc/gdm/PostLogin/Default
Điều này được thực hiện sau khi bạn đăng nhập và sẽ tạo thư mục /tmp/$guestuser
( /tmp/guest
theo mặc định) và sao chép các tệp mặc định từ /etc/skel
đó. Để thay đổi tên người dùng mặc định cho người dùng khách, hãy đặt thành tên guestuser
khác ở đầu.
#!/bin/sh
guestuser="guest"
## Set up guest user session
if [[ "$USER" = "$guestuser" ]]; then
mkdir /tmp/"$guestuser"
cp /etc/skel/.* /tmp/"$guestuser"
chown -R "$guestuser":"$guestuser" /tmp/"$guestuser"
fi
exit 0
/etc/gdm/PostSession/Default
Điều này được thực hiện sau khi bạn đăng xuất và sẽ xóa /etc/$guestuser
thư mục và tất cả nội dung của nó. Đảm bảo đặt guestuser
cùng một giá trị trong cả hai tập lệnh.
#!/bin/sh
guestuser="guest"
## Clear up the guest user session
if [[ "$USER" = "$guestuser" ]]; then
rm -rf /tmp/"$guestuser"
fi
exit 0
Cuối cùng, làm cho hai tập lệnh thực thi:
sudo chmod 755 /etc/gdm/PostLogin/Default /etc/gdm/PostSession/Default
Bây giờ, chỉ cần đăng xuất và bạn sẽ thấy guest
người dùng mới của mình . Bạn có thể đăng nhập bằng cách chọn nó và nhấn Enterkhi được nhắc nhập mật khẩu. Người guest
dùng sẽ không thể sử dụng sudo
vì đó là mặc định cho tất cả người dùng. Chỉ người dùng được đề cập rõ ràng trong /etc/sudoers
hoặc những người là thành viên của các nhóm được đề cập rõ ràng trong sudoers
(như , wheel
hoặc sudo
tùy thuộc vào phân phối của bạn) mới có thể sử dụng sudo
.
Nếu bạn đang sử dụng phiên bản gần đây của GDM, nó có thể vô hiệu hóa nút đăng nhập trong khi hộp mật khẩu trống. Để giải quyết vấn đề này, bạn có thể yêu cầu GDM không nhắc mật khẩu cho các nhóm cụ thể. Thông báo trước là điều này cũng sẽ bỏ qua menu chọn phiên cho các thành viên của nhóm đó. Nếu bạn muốn làm điều này bạn nên thêm dòng này vào đầu của /etc/pam.d/gdm-password
:
auth sufficient pam_succeed_if.so user ingroup guest