Ubuntu: chế độ truy cập mặc định (quyền) cho người dùng thư mục nhà (/ home / user)


14

Chế độ truy cập mặc định (ví dụ 0755) cho các thư mục nhà của người dùng trong Ubuntu (ví dụ: đầu ra là gì ls -ld /home/*)? Trong các bản phân phối linux lớn khác (Debian, RedHat, Gentoo, Arch)?

Làm thế nào tôi có thể thay đổi mặc định này?

PS: Xin lỗi, nhưng tôi không thể tìm thấy một Ubuntu nào và tự mình kiểm tra nó.


Tôi không hỏi về umask, nhưng về skelhome-dirs
osgx

Vui lòng không thêm thông tin mới vào các bình luận, nhưng đưa nó vào câu hỏi ban đầu
bbaja42

nó không phải là một thông tin mới, đó là những bình luận về sự hiểu sai về câu hỏi của tôi
osgx

Câu trả lời:


15

Khi tạo người dùng bằng cách sử dụng useradd --create-home username, thư mục skeleton (thường /etc/skel) được sao chép, bao gồm các quyền của nó.

Thư mục chính ( /home/username) phải tuân theo UMASKcài đặt trong /etc/login.defs. Điều này được đặt thành 022theo mặc định, vì vậy các quyền cho /home/usernametrở thành 755.

Đoạn trích liên quan từ trang hướng dẫn Ubuntu củauseradd :

Các biến cấu hình sau trong /etc/login.defs thay đổi hành vi của công cụ này:
[..]
UMASK (số)

Mặt nạ tạo chế độ tập tin được khởi tạo cho giá trị này. Nếu không được chỉ định, mặt nạ sẽ được khởi tạo thành 022.

useradd và newusers sử dụng mặt nạ này để đặt chế độ của thư mục chính mà họ tạo


Điều gì về redhat / debian?
osgx

AFAIK đó là một điều tiêu chuẩn useradd, nếu nó là dành riêng cho Ubuntu, thì nó nên được đề cập trong trang hướng dẫn. Một trang hướng dẫn sử dụng lại: linux.die.net/man/8/useradd
Lekensteyn

10

Sự cho phép mặc định của nhà người dùng có thể được kiểm soát ở những nơi sau.

  • Tùy chọn thư mục bộ xương ( -k, --skel SKEL_DIR) của useradd.
  • SKELgiá trị trong /etc/adduser.confđó xác định thư mục bộ xương mặc định.
  • DIR_MODEgiá trị trong /etc/adduser.confđó xác định quyền mặc định.

Thư mục chính của người dùng mới được tạo bằng cách sử dụng /etc/skellàm mẫu (hành vi mặc định).
Sự cho phép mặc định /etc/skel0755 (drwxr-xr-x).
Sử dụng một thư mục bộ xương tùy chỉnh với quyền chính xác sẽ cho phép các thư mục nhà mới có quyền mong muốn.

Mặc định cho adduserđược xác định trong /etc/adduser.conf.
Giá trị mặc định của DIR_MODEtrong /etc/adduser.conf0755.
Thay đổi DIR_MODEthành quyền chính xác ( DIR_MODE=0750hoặc tương tự) sẽ cho phép các thư mục nhà mới có quyền mong muốn.
Theo tài liệu của Ubuntu, đây dường như là lựa chọn tốt nhất.

Các thư mục nhà người dùng đã có sẽ cần phải được thay đổi bằng tay.

sudo chmod 0750 /home/username

Vì vậy, nên thay đổi /etc/adduser.confngay sau khi cài đặt để tránh người dùng mới nhận được 0755 (drwxr-xr-x)quyền truy cập.
Tuy nhiên, người dùng đầu tiên được tạo trong quá trình cài đặt sẽ được 0755đặt vào thư mục chính của nó, cần được thay đổi bằng tay.

UMASKtrong /etc/login.defslà một cài đặt chung cho các tệp / thư mục / vv được tạo bởi người dùng (không chỉ trong thư mục chính của họ). và có thể bị thay đổi tùy thuộc vào USERGROUPS_ENABtrong /etc/login.defs.

Giải thích chính thức: Quản lý người dùng - Bảo mật hồ sơ người dùng
Kiểm tra các phần khác của Quản lý người dùng.

Liên quan: https://askubfox.com/questions/46501/why-can-other-users-see-the-files-in-my-home-folder


3
Câu trả lời chỉ liên kết là không có do thối liên kết trong tương lai. Vui lòng bao gồm thông tin thích hợp trong câu trả lời của bạn.
Ƭᴇcʜιᴇ007

@ techie007 Tôi biết. Sẽ sử dụng một bình luận nếu tôi có đủ đại diện.
Sithsu

1
@ techie007 Đã thêm nội dung vào câu trả lời
Sithsu

Thiết DIR_MODEtrong /etc/adduser.confchắc chắn là con đường đúng để đi.
user1338062

2

Lưu ý: Không thay đổi giá trị UMASK trong /etc/login.defs nếu bạn chỉ muốn thay đổi quyền của thư mục chính. Nguyên nhân thay đổi UMASK sẽ ảnh hưởng đến mọi thứ.

Tôi đã từng làm theo như vậy và khi tôi cài đặt bất kỳ hệ thống gói rộng nào bằng cách sử dụng pip thì người dùng khác không thể truy cập được và liên tục bị từ chối cấp phép. Vì UMASK mặc định đã ảnh hưởng đến sự cho phép của tất cả các thư mục gói đã được tạo sau khi thay đổi được áp dụng.

Cách chính xác là sửa đổi DIR_MODE trong /etc/adduser.conf . Do /etc/adduser.conf được sử dụng trong hầu hết các bản phân phối linux nên giải pháp này hoạt động được hầu hết.


1

Các quyền mặc định cho / home trong ubfox là rwxr-xr-x hoặc 755. Đối với / home / user, nó cũng là rwxr-xr-x hoặc 755. Ít nhất nó cũng nằm trong cài đặt của tôi.

Để thay đổi quyền truy cập tệp của thư mục chính, hãy mở một thiết bị đầu cuối và chạy một cái gì đó như:

chmod 700 /home/user

Hãy nhớ thay đổi 700 thành giá trị chmod mà bạn thực sự muốn đặt.

Nếu bạn không sở hữu thư mục, bạn cần quyền root để thay đổi quyền. Ubuntu sử dụng sudocho điều đó:

sudo chmod 700 /home/user

Khi bạn chạy lệnh này, nó sẽ hỏi mật khẩu quản trị viên.


2
Phần thứ hai của bạn không chính xác, thư mục chính thuộc sở hữu của bạn, vì vậy bạn sẽ không cần siêu người dùng phù hợp cho điều đó.
Lekensteyn

Giả sử của bạn anh ta chỉ muốn thay đổi các quyền trên dir nhà riêng của mình. Tôi đã nói "Nếu bạn không sở hữu thư mục." Mã của tôi sẽ hoạt động trên thư mục nhà của bất kỳ người dùng nào.
Rincewind42

Tôi đã chỉnh sửa bài đăng của bạn để làm cho nó chính xác hơn (hy vọng bạn thích nó), bài viết gốc của bạn hoàn toàn không bao gồm điều đó: superuser.com/revutions/303995/1
Lekensteyn

0

Kiểm tra trang man umask .

Cài đặt ô mặc định là

0022

Cho phép groupothersđọc và thực hiện truy cập.


Không, Câu hỏi của tôi không phải là về một cái dù, mà là về các quyền mặc định của chính thư mục người dùng (ngay sau khi người dùng ađược tạo, cái gì sẽ là đầu ra của ls -ld /home/a)
osgx
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.