ngăn chặn truy cập chown / chmod bị từ chối với cifs mount


2

Tôi có một thư mục người dùng được gắn vào Ubuntu 12.04 với cifs. / etc / fstab chứa một dòng;

//cb/share /home/cb cifs user=ubuntu,password=abc123,uid=cb,gid=users 0 0

Chia sẻ gắn kết và hoạt động tốt, ngoại trừ các lệnh chown / chmod, không thành công với;

$ sudo touch /home/cb/foo
$ sudo chown cb /home/cb/foo
chown: changing ownership of `/home/cb/foo': Permission denied

Quên rằng cifs đang đè bẹp uid và gid đến các giá trị chính xác (cb: users). Có một số tập lệnh và tiện ích có sẵn mà tôi cần sử dụng không thành công do trạng thái thoát khác không được trả về bởi chown / chmod.

Tôi ngây thơ thử gắn kết ở nơi khác (/ mnt / cb), và sau đó sử dụng bindfs để gắn lại, nhưng điều này cũng không hoạt động.

sudo bindfs -o perms=0750,mirror=cb,group=users /mnt/cb /home/cb

Lưu ý, giải pháp duy nhất tôi đang tìm kiếm ở đây là một số cách để định cấu hình máy chủ / mount để chmod / chown sẽ không hoạt động một cách lặng lẽ - tức là trả về trạng thái thoát không.

Câu trả lời:


0

Chà, câu trả lời tầm thường là đánh bại người thật chmodchownvới những chương trình khác không thất bại. Đây có thể là kịch bản. Trong /home/cab/bin(hoặc bất kỳ thư mục thuận tiện nào khác mà bạn có quyền truy cập đầy đủ), hãy tạo các tập lệnh được gọi chmodchownchỉ nói

#!/bin/sh

Bạn có thể thêm exit 0nếu bạn muốn, nhưng 0sẽ là trạng thái thoát mặc định nếu tập lệnh không làm gì cả. Và sau đó, tất nhiên, thêm /home/cab/binvào đầu PATHbiến môi trường của bạn .

Nếu bạn muốn có thể chmodchownkhi nào bạn có thể, hãy làm cho các tập lệnh nói
[Chỉnh sửa]

#!/bin/sh
/bin/"$(basename "$0")" "$@"
exit 0

thay thế /binbằng thư mục thực chmodchownđang ở. Điều này thực thi lệnh thực với các đối số cho tập lệnh, và sau đó thoát với trạng thái 0 bất kể trạng thái thoát của chương trình.

Và vì hai tập lệnh giống hệt nhau (miễn là thực chmodchowncác lệnh nằm trong cùng một thư mục trên hệ thống của bạn), bạn có thể viết một tập lệnh và tạo cho tập lệnh kia một liên kết đến nó.


Hấp dẫn. Có cách nào để phát hiện xem một tập tin / dir được gắn kết không? Sau đó, tôi có thể bảo vệ cuộc gọi đến chown / chmod thực sự.
CAB

Tôi không chắc chính xác ý bạn là gì, nhưng hãy thử nhìn vào $(df "$filename").
Scott
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.