Tự xây dựng hệ thống NAS đơn giản, phần 4: phân quyền

    MP,  

    Phần 4 sẽ nói về vấn đề phân quyền để tránh mất mát, hỏng hóc dữ liệu ngoài ý muốn khi xây dựng hệ thống NAS.

    Nếu chỉ chia sẻ file trong nhà và có ít người sử dụng các nội dung bạn chứa trên NAS box, việc để “mở” các file và thư mục trên máy sẽ là giải pháp nhanh chóng và thuận tiện nhất. Nhưng nếu trong gia đình bạn có nhiều người cùng lưu trữ và truy cập dữ liệu trên NAS box, hoặc nếu bạn có nhu cầu sử dụng, chia sẻ dữ liệu của từ xa, cần hết sức cẩn thận trong việc phân quyền để tránh mất mát, hỏng hóc dữ liệu ngoài ý muốn khi xây dựng hệ thống NAS. Vì vậy trong bài viết lần này, trước hết chúng ta sẽ cùng tìm hiểu về cách tạo user account và phân quyền sử dụng các thư mục trên NAS box cho từng thành viên trong gia đình. Các bước sẽ được thực hiện chủ yếu trên GUI, bởi người dùng đã quen với shell Linux sẽ không còn xa lạ gì với các kiến thức này. Tuy vậy bạn có thể chọn bỏ qua việc phân quyền nếu như không có 1 trong 2 nhu cầu kể trên.

    Tự xây dựng hệ thống NAS đơn giản, phần 4: phân quyền 1


    User/group

    Vào Access > User & Group. Đầu tiên hãy tạo một vài user group (nhóm người sử dụng) riêng để phù hợp với nhu cầu phân quyền trong gia đình/nhóm bạn của mình, tránh lạm dụng các group có sẵn của HĐH. Ở đây ta sẽ thử tạo 2 group là “18 ” và “Kids”. Các tham số khi tạo group không có gì đáng chú ý, trừ việc nên để group ID mặc định.

    Tự xây dựng hệ thống NAS đơn giản, phần 4: phân quyền 2

    Quay về thẻ User, tạo một vài tài khoản tùy theo nhu cầu của gia đình bạn. Trong ví dụ này ta sử dụng 3 user với tên lần lượt là “Boss” (aka bố mẹ), “Bf” (aka gấu) và “Kid”. Các lưu ý khi tạo user như sau:

    - UserID nên để mặc định do hệ thống chọn.
    - Shell: Trong phần lớn trường hợp, tài khoản của các thành viên khác nên được truy cập shell/terminal,  vì vậy hãy để mặc định nologin. Cùng lắm nếu là người cần truy cập, sử dụng file từ xa, bạn có thể chọn “scponly”.
    - Primary group: chọn một trong các group vừa tạo. Ví dụ cho user “Boss” và “Bf” vào cùng group “18 ”.
    - Secondary group: mỗi user có thể thuộc một nhóm thứ 2 tùy chọn. Nhưng chỉ nên chọn khi muốn cho một tài khoản nào đó quyền đặc biệt. Những ai thường xuyên cần truy cập dữ liệu từ xa nên chọn secondary group là ftp.
    - Home Directory: Thư mục home của từng tài khoản, tạm thời nên đặt /mnt/.
    - User Portal: Cho phép user đó đăng nhập vào giao diện quản trị web (nhưng chỉ có thể đổi password và duyệt file).

    Đừng quên Apply Change mỗi khi thực hiện bất kỳ thay đổi gì


    Phân quyền theo phân vùng/mount point

    Tự xây dựng hệ thống NAS đơn giản, phần 4: phân quyền 3

    Trước tiên hãy thử phân quyền ở mức đơn giản nhất, tức phân theo mount point .Gỉa sử bạn có 3 phân vùng đặt tên là Movie – Music – Document để chứa các loại dữ liệu này. Nếu bạn đã làm đúng theo các hướng dẫn trong bài viết lần trước thì khi truy cập vào mnt ta sẽ thấy 3 thư mục Movie – Music - Document tương ứng với 3 mount point. Bây giờ hãy thử quay về menu quản lý mount point, click vào biểu tượng edit (bên tay phải) của mount point mà bạn muốn phân quyền. Kéo xuống thẻ Access Restriction, ta sẽ thấy các tùy chọn để cấp quyền sử dụng. 

    Các OS được xây dựng dựa trên Linux như NAS4Free có 3 dạng đối tượng để đánh giá quyền sử dụng:

    Owner (người sở hữu) - Group owner (nhóm sở hữu) - Public (những người khác).
    Các file và folder có 3 loại quyền hạn:

     

    File

    Folder

    Read – r – 4 

    Cho phép đọc file

    Cho phép xem danh sách file (không bao gồm các file trong thư mục con)

    Write – w – 2 

    Cho phép thay đổi nội dung file (không bao gồm rename, cut, xóa)

    Cho phép thay đổi nội dung thư mục, hay nói cách khác là tạo/xóa/rename các file trong đó

    Execute – x – 1 

    Cho phép thực thi/chạy file như một chương trình

    Cho phép thực hiện các tác vụ duyệt thư mục (ví dụ truy cập thư mục con, search file .v..v.)


    Gỉa định bạn có nhu cầu như sau: các user “Boss” lưu trữ tài liệu quan trọng trên “Document” nên cần full quyền hạn trên đó, các thành viên đủ tuổi khác trong gia đình (ví dụ account “bf”) chỉ được xem hoặc giúp copy file ra khi cần thiết chứ không được tạo/xóa, còn đám trẻ - thậm chí là học sinh cấp 2/cấp 3 cũng không nên táy máy vào đây. Ta chỉ cần làm như sau:

    - Đặt Owner là Boss, Group là 18
    - Đặt quyền Owner = rwx, Group = r-x và tắt mọi quyền của Public.

    Việc phân quyền theo mount point này là cách nhanh chóng và thuận tiện nhất, do ta có thể nhanh chóng thực hiện được trên Web GUI. Và một lần nữa: đừng quên Apply Change khi thực hiện bất kỳ thay đổi gì

    Phân quyền theo mount point, đã đủ chưa?

    Có rất nhiều lý do khiến cách làm ở trên không hiệu quả, các lý do phổ biến nhất có thể kể đến:

    - Bạn có quá nhiều nhóm dữ liệu cần được phân loại với các quyền khác nhau, số mount point dù nhiều cũng vẫn không đủ.
    -Các nhóm dữ liệu lại bao gồm các nhóm phụ cần được chia quyền riêng, ví dụ trong Movie lại có “Cartoon” và “18 ”.
    - Trong máy có quá ít ổ cứng/phân vùng.

    Điều này làm nảy sinh nhu cầu phân quyền theo thư mục, nhưng đáng tiếc giao diện quản lý file/folder trên web của NAS4Free có rất nhiều hạn chế. Trên hết, nếu có nhu cầu truy cập dữ liệu từ xa, đây là lúc ta cần làm quen với các công cụ như WinSCP (Window) hay Fugu (Mac) .Có một số công cụ cross-platform như Filezilla và Cyberduck, nhưng không có tùy chọn thay đổi owner, chỉ nên dùng khi bạn không cần đến tác vụ này. Những ai không muốn cài đặt thêm phần mềm cũng có thể sử dụng FireFTP, một add-on rất nổi tiếng của Firefox. Dù bạn sử dụng công cụ nào, cơ chế làm việc cũng hoàn toàn tương tự:

    Đầu tiên, hãy vào Service > SSH và tích chọn Enable tại góc phía trên. Kéo xuống Save & Restart là bạn đã xong việc trên giao diện Web. Đừng thay đổi các tùy chọn, cũng đừng cố tìm cách làm việc với Private Key ở đây vì hoàn toàn không cần thiết.

    Tự xây dựng hệ thống NAS đơn giản, phần 4: phân quyền 4

    WinSCP

    Tự xây dựng hệ thống NAS đơn giản, phần 4: phân quyền 5
    Fugu

    Bây giờ bật một trong những công cụ kể trên lên, trong trường host (hoặc server hoặc connect to), điền vào IP của NAS box (Riêng FireFTP trên Firefox phải vào Create New Account mới xuất hiện menu điền thông tin kết nối). Đăng nhập bằng tài khoản root khi phân quyền để bảo đảm có mọi quyền hạn cần thiết. Password mặc định là nas4free nhưng nếu có ý định truy cập từ xa sau này thì nên đổi ngay lập tức. Chọn port là 22 hoặc tìm đến các menu dropdown có tên dạng File Protocol/Connection và chọn SFTP (không sử dụng FTP). Vì là máy chủ tự xây dựng nên khi bấm kết nối ta sẽ thấy xuất hiện câu hỏi về tính xác thực, chọn yes.

    Tự xây dựng hệ thống NAS đơn giản, phần 4: phân quyền 6


    Sau khi kết nối bằng tài khoản root, tìm về thư mục gốc của hệ thống. Tại đây có rất nhiều thư mục, nhưng ta chỉ cần quan tâm đến “mnt”, nơi chứa thấy các thư mục tượng trưng cho các mount point của ta, ví dụ như 3 thư mục tượng trưng cho “Document”, “Movie” và “Music” ở trên. Truy cập vào trong các mount point/phân vùng này và tạo thư mục tùy theo ý thích. Vì ta đang đăng nhập bằng tài khoản root nên các thư mục được tạo ra sẽ có Owner là root. Click chuột phải, tìm đến Properties (hoặc Info) để thay đổi Owner và Permission theo ý thích (Chú ý là WinSCP cần ID chứ không dùng tên user/group, đặt đúng ID vào trong [ ] và tên user sẽ được tự động điền vào). 

    Tự xây dựng hệ thống NAS đơn giản, phần 4: phân quyền 7

    Tự xây dựng hệ thống NAS đơn giản, phần 4: phân quyền 8

    Ngoài ra cũng cần nhớ là chỉ có owner hoặc root mới có quyền thay đổi permission của một file/folder, và trên hết chỉ có root mới có quyền đổi owner. Chẳng hạn tài khoản “Boss” nếu muốn cũng chỉ có thể cấm các tài khoản khác không được truy cập các file có Owner là "Boss" mà thôi.

    Phân quyền cho file, còn lắm chông gai

    Các file mới được tạo trong một thư mục không kế thừa cấu hình phân quyền của thư mục chứa nó mà được đặt theo một giá trị mặc định. Dạng mặc định này lại tùy theo cách ta tạo file đó là gì, thông qua FTP, qua SFTP như ở trên, hay tải về bằng BitTorrent, hay qua giao diện chia sẻ file của Window .v.v. Đôi lúc vì thế mà nảy sinh các tình huống trớ trêu. Chẳng một user chỉ có quyền read-execute trên một thư mục sẽ không thể tạo/xóa file, nhưng nếu vì lý do nào đó mà được cấp quyền write cho một file thì sẽ có thể thay đổi nội dung file đó, thậm chí là xóa trắng nội dung . Để giải quyết việc này, cách duy nhất là hãy nhớ các thay đổi giá trị mặc định - umask khi tạo file. Chỉ sử dụng 3 số, số thứ nhất đại diện cho quyền của Owner, số thứ 2 đại diện quyền của Group và số thứ 3 đại diện quyền của Public, ta sẽ kiểm soát được cách mà file mới được tạo ra. Trong bài viết tiếp theo, khi đi vào cấu hình cụ thể các phương pháp chia sẻ dữ liệu trên NAS box, ta sẽ cần đến bảng sau.

    Gía trị

    Quyền

    0

    None

    1

    Execute only

    2

    Write only

    3

    Write and execute

    4

    Read only

    5

    Read and execute

    6

    Read and write

    7

    Full


    Tự xây dựng hệ thống NAS đơn giản, phần 4: phân quyền 9

    Tin cùng chuyên mục
    Xem theo ngày

    NỔI BẬT TRANG CHỦ