Tại sao tôi có thể thấy hai thư mục riêng biệt / tmp?


1

Vấn đề

Tôi đang thấy hai khác nhau /tmp thư mục. Trong một thiết bị đầu cuối Gnome đơn giản ls -lia /tmp đưa ra như sau:

total 136
  5797 drwxrwxrwt 36 root root     780 Oct  5 20:57 .
     2 drwxr-xr-x 21 root root    4096 Oct  5 19:48 ..
 ...snip...
 32824 -rw-------  1 me   users   1872 Oct  5 18:04 krb5cc_1000
 ...snip...

Trong một kịch bản bắt đầu bởi cupsd, ls -lia /tmp >> /test.log cung cấp cho một thư mục khác nhau với một nút khác!

total 4
127684 drwxrwxrwt  2 root root   40 Oct  5 19:57 .
     2 drwxr-xr-x 21 root root 4096 Oct  5 19:48 ..

Đặc biệt, tôi nhận được klist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_1000)

Lý lịch

Tôi đang sử dụng xác thực Kerberos với một máy in samba được chia sẻ. Điều này yêu cầu chạy smbspool với tư cách là người dùng của tôi thay vì lp, vì vậy nó có thể đọc /tmp/krb5cc_1000. Tôi đã sử dụng tập lệnh smb bị hack trong http://www.linuxquestions.org/questions/debian-26/cups-printing-from-ad-integrated-workstation-to-ad-print-shares-USE-kerberos-auth-722602/ để đạt được điều này.

Đây là của tôi /usr/lib/cups/backend/ksmb:

#!/bin/bash
echo 'network smb "Unknown" "Windows Printer via SAMBA"'
ls -lia /tmp &>> /test.log
su $2 -c "klist &>> /test.log"
su -c "/usr/bin/smbspool $1 $2 \"$3\" $4 \"$5\"" $2

Thật không may, từ quan điểm của tập lệnh, / tmp / krb5cc_1000 không tồn tại và xác thực thất bại.

Tôi đang chạy Arch x64, systemd, Gnome 3. Ban đầu tôi đoán có điều gì đó kỳ lạ đang xảy ra với /tmp là một tmpfs. Tuy nhiên, tôi nhận được thất bại tương tự khi tôi nhận xét việc gắn tmpfs trong fstab.

Câu trả lời:


1

Nó trông giống như một tác dụng phụ chroot. Trong trường hợp find / -inum 127684 cho bạn biết nơi này / tmp được đặt.


Chroot gì? Liệu cupsd chạy một chroot theo mặc định vì một số lý do?
terdon

Tôi có thể, đó là một phỏng đoán hoang dã. Bạn đã chạy lệnh tôi đề nghị để tìm ra nó?
jlliagre

1
Cảm ơn vì tiền hỗ trợ. Các find lệnh chỉ vào /tmp/systemd-private-XXXXXX. Nó chỉ ra rằng systemd đã cho cupsd dir riêng của mình. Tôi đã khắc phục sự cố của mình bằng cách vô hiệu hóa PrivateTmp trong /etc/systemd/system/printer.target.wants/cups.service và khởi động lại cốc.
blah
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.