Quyền bị từ chối nhưng quyền của nhóm có vẻ tốt trên redhat


11

Tôi có một người dùng ftpadmin:

-bash-3.2$ id ftpadmin
uid=10001(ftpadmin) gid=2525(fsg) groups=2525(fsg),10005(git)

Nhóm quan trọng cần lưu ý là "git"

Sau đó, tôi có kho git của tôi:

ls -al
drwxrwxr-x   7 git      git          4096 Apr 20 14:17 fsg

Vì vậy, ftpadmin là thành viên của git và git đã cấp tất cả các quyền cho những người trong nhóm. Tại sao tôi thấy điều này khi tôi đăng nhập dưới dạng ftpadmin:

-bash-3.2$ ls -al /home/git/
ls: /home/git/fsg: Permission denied
...

Có vẻ như tôi nên có sự cho phép ...

Cập nhật các quyền trên / home / git là

drwxrw-rw-   6 git      git          4096 Apr 26 09:20 git

trông vẫn ổn ...

Cập nhật quyền mới trên / home / git là:

drwxrwxrw-   6 git      git          4096 Apr 26 09:20 git

Quyền trên / home / git / fsg là:

drwxrwxr-x   7 git      git          4096 Apr 20 14:17 fsg

Tuy nhiên, tôi vẫn nhận được

ls: /home/git/fsg: Permission denied
ls: /home/git/fsg: Permission denied

1
Các quyền trên là /home/gitgì?
Zoredache

drwxrw-rw- 6 git git 4096 26 tháng 4 09:20 git
Tony

nên là drwxrwxr-xnếu bạn muốn nó chỉ đọc cho những người không phải là thành viên nhóm nhưng có thể thay đổi bởi các thành viên trong nhóm; nên là drwxrwx---nếu bạn chỉ muốn các thành viên nhóm một mình ở trong đó.
Avery Payne

4
Bạn cần bit "x" nhóm được đặt trong thư mục để cho phép tìm kiếm nhóm . Các quyền "rw-" cho phép mở một tệp có tên (r) hoặc tạo tệp (w), nhưng không liệt kê hoặc tìm kiếm các tệp (x).
mpez0

đã không làm việc. xem cập nhật mới nhất của tôi
Tony

Câu trả lời:


9

Muốn cung cấp cho mpez0 +1 một cách cụ thể, vì câu trả lời của anh ấy "Bạn cần bit" x "nhóm được đặt trong thư mục để cho phép tìm kiếm nhóm. Các quyền" rw- "cho phép mở tệp có tên (r) hoặc tạo tệp (w), nhưng không liệt kê hoặc tìm kiếm các tệp (x). "

Thật dễ dàng để quên, và giải pháp của mình bị chôn vùi ở giữa. Đây chắc chắn là một vấn đề đối với người dùng Linux mới liên quan đến quyền truy cập tệp / thư mục cho người dùng và nhóm.

Tất cả những gì Avery nói đều đúng về số tiền, một lần nữa tôi ước mình cũng có thể cho bạn +1.

Hình một ví dụ chi tiết hơn có thể giúp người dùng Linux mới ( không tìm kiếm bất kỳ khoản tín dụng nào, chỉ cung cấp một ví dụ khác cho rõ ràng ). Trên máy tính của riêng tôi, tôi muốn tạo thêm một người dùng cho một dự án phát triển cụ thể. Đã kiểm tra một số sự cố SSH, SFTP giữa máy của tôi và máy chủ cùng vị trí trên web. Có cùng một lỗi "Quyền bị từ chối" sau khi thiết lập mọi thứ ... và vâng, nó có vẻ đúng ngoại trừ vấn đề tìm kiếm dựa trên các quyền đối với cái khác mà mpez0 đã chỉ ra.

Lưu ý: Đối với người dùng Linux mới, quyền là người dùng, nhóm, người khác hoặc rwx, rwx, rwx tương ứng và sẽ trông như thế này

drwxr-xr--   

user has read + write + execute, rwx 
group has only read and execute, r-x
other has only read acces r--

Đối với 'khác', chúng tôi được nhắc nhở KHÔNG đủ để tìm / tìm kiếm thư mục, do đó, thông báo lỗi.

Đây là những gì tôi đã làm, (gặp thông báo lỗi trong bước 6)

1) đã tạo người dùng, hoiuser (để xem thông tin người dùng, bạn có thể sử dụng cmd ngón tay, "hoiuser ngón tay" hoặc đọc tệp 'cat / etc / passwd')

2) đã tạo một nhóm, hoidevs (thêm người dùng "hoiuser" vào nhóm)

root@zareason-breeze:/etc# cat group | grep hoidevs 
hoidevs:x:1010:userz,hoiuser 

Hãy nhớ rằng bạn phải đăng xuất và đăng nhập lại để các quyền của nhóm Nhóm mới được liên kết với ID tài khoản.

3) chgrp hoidevs cho thư mục / home / userz / data / Pages / hoi và tạo một vị trí cho các tập tin

hoiuser@zareason-breeze:/home/userz/data/Sites/hoi$ ls -alF
total 16
drwxr-xr-x  4 userz hoidevs  4096 2012-02-27 13:34 ./
drwxr-xr-x  2 userz userz 4096 2012-02-29 17:00 odt/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

4) Đã mở Cửa sổ đầu cuối, người dùng userz đã hoạt động

5) su - hoiuser (chuyển sang sử dụng hoiuser)

6) Đã cố gắng để cd / home / userz / data / Site

hoiuser@zareason-breeze:/home/userz/data$ cd Sites
-su: cd: Sites: Permission denied    (voila, the problem)


userz@zareason-breeze:~/data/Sites$ ls -alF
total 60
drwxr-xr--  11 userz userz  4096 2012-02-24 16:20 ./
drwxr-xr-x   4 userz hoidevs   4096 2012-02-27 13:34 hoi/

7) Thay đổi quyền cho Trang web

userz@zareason-breeze:~/data/Sites$ chmod 755 .
userz@zareason-breeze:~/data/Sites$ ls -alF
total 60
drwxr-xr-x  11 userz userz  4096 2012-02-24 16:20 ./

Và vấn đề voila đã được sửa .... đây là bằng chứng

hoiuser@zareason-breeze:/home/userz/data$ id
uid=1009(hoiuser) gid=1009(hoiuser) groups=1009(hoiuser),1010(hoidevs)

hoiuser@zareason-breeze:/home/userz/data$ cd Sites        (<- yea no error message)
hoiuser@zareason-breeze:/home/userz/data/Sites$ cd hoi
hoiuser@zareason-breeze:/home/userz/data/Sites/hoi$ ls -alF
total 16
drwxr-xr-x  4 userz hoidevs  4096 2012-02-27 13:34 ./
drwxr-xr-x 11 userz userz 4096 2012-02-24 16:20 ../
drwxr-xr-x  2 userz userz 4096 2012-02-29 17:00 odt/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

Ngay cả chúng tôi, những người dùng Linux / Unix có kinh nghiệm cũng cần một lời nhắc nhở ngay bây giờ.

Như đã chỉ ra, việc cung cấp quyền chính xác cho thư mục chứa các tệp là không đủ, bạn cũng cần đảm bảo tất cả các thư mục dẫn đến thư mục đó đều có quyền chính xác, đặc biệt là khả năng "khác" đối với "Tìm kiếm" và tìm thư mục và các tập tin. Khó trực quan khi x có nghĩa là thực thi, phải.

Cấu trúc thư mục con của tôi là: / home / userz / data / Pages / hoi / html /

Bắt đầu từ nhà

userz@zareason-breeze:~$ pwd
/home

Đây là cấu trúc thư mục của tôi TRƯỚC chmod

drwxr-xr-x  13 root root     4096 2012-02-29 14:51 home/
drwxr-xr-x 88 userz userz 4096 2012-02-29 17:07 userz/
drwxr-xr-x 476 userz userz    20480 2012-02-26 16:08 data/
drwxr-xr--  11 userz userz     4096 2012-02-24 16:20 Sites/    (<-- Do you see it, other is r--)
drwxr-xr-x   4 userz hoidevs   4096 2012-02-27 13:34 hoi/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

Đây là cấu trúc thư mục của tôi SAU chmod

drwxr-xr-x  13 root root     4096 2012-02-29 14:51 home/
drwxr-xr-x 88 userz userz 4096 2012-02-29 17:07 userz/
drwxr-xr-x 476 userz userz    20480 2012-02-26 16:08 data/
drwxr-xr-x  11 userz userz     4096 2012-02-24 16:20 Sites/      (<-- Fixed by the chmod > 755 ., now r-x)
drwxr-xr-x   4 userz hoidevs   4096 2012-02-27 13:34 hoi/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

Lưu ý thay đổi duy nhất là quyền rx cho 'other' cho thư mục 'Trang web'. Hy vọng điều này sẽ giúp những người khác, nó là một bồi dưỡng tốt cho tôi.


3
Tôi đã gặp một vấn đề tương tự trên FreeBSD và OpenBSD. Chìa khóa cho tôi là phần này: Hãy nhớ rằng bạn phải đăng xuất và đăng nhập lại để các quyền của nhóm Nhóm mới được liên kết với ID tài khoản. Chắc chắn, tài liệu FreeBSD nêu rõ: `-G grouplist ... thay đổi thành viên nhóm không có hiệu lực đối với các phiên đăng nhập người dùng hiện tại, yêu cầu người dùng kết nối lại để bị ảnh hưởng bởi các thay đổi.
iboisver

6

Bạn phải có quyền trên thư mục chứa tệp để đến tệp. Các quyền trên / home / git là gì? (vâng, Zoredache, tôi đã cho bạn +1 để chỉ ra điều đó)


Theo dõi: Bạn cần tập bit thực thi (x) cho nhóm để nhóm đó vào thư mục. Hãy nghĩ về nó như một sự tương tự thô với cài đặt "Traverse Directory" của windows. Không có nó, truy cập sẽ bị từ chối cho nhóm. Nếu bạn tuyệt vọng, bạn có thể làm:

chmod g+x /home/git
chmod g+x /home/git/fsg

Hãy thử làm như sau và gửi tin nhắn từ mỗi:

cd /home
cd /home/git
cd /home/git/fsg

Mỗi một trong số đó nên được truy cập bởi ftpadmin. Nếu bất kỳ ai trong số họ không , thì nó sẽ ngăn bạn vào /home/git/fsg.


drwxrw-rw- 6 git git 4096 26 tháng 4 09:20 git
Tony

có ý nghĩa, tôi vẫn nhận được sự cho phép từ chối trên / home / git / fsg, đó là drwxrwxr-x 7 git git 4096 ngày 20 tháng 4 14:17 fsg
Tony

và trên "quyền bị từ chối" cuối cùng đó, bit có được thực thi theo nhóm không? Sẽ không có vấn đề gì nếu bạn có quyền cho con nếu cha mẹ cũng không có quyền.
Avery Payne

Kiểm tra cập nhật mới nhất của tôi. Tôi đặt các quyền ở đó và bit thực thi nhóm được đặt
Tony

Tôi thấy bạn có kết quả /home/git/home/git/fsgnhưng kết quả là /homegì?
Avery Payne

4

Sau khi thay đổi nhóm người dùng X thông qua quyền truy cập root, bạn phải đăng xuất và đăng nhập lại với người dùng X đó, nếu không các nhóm mới sẽ không được tính đến


3

Hãy thử đăng nhập lại hoặc chạy su - ftpadminđể đăng nhập vào trình bao hiện tại. Vì các nhóm được đặt khi bạn đăng nhập, có thể bạn đã thêm một thứ tương tự vào một nhóm nhưng cài đặt nhóm cũ vẫn đang được sử dụng.

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.