Mẹo: Có một thư mục được chia sẻ giữa nhiều người dùng trong Linux

Thiết bị đầu cuối

Hôm nay tôi quay lại với một mẹo khác mà cá nhân tôi sử dụng rất nhiều: có thể có một thư mục được chia sẻ giữa một số người dùng trên Linux. Tôi đặt họ vào một tình huống, với vợ tôi ở nhà, cả hai chúng tôi đều sử dụng cùng một máy tính Arch Linux nhưng mỗi người dùng riêng. Vì vậy, chúng tôi nhận thấy vấn đề với những thư mục mà chúng tôi chia sẻ như nhạc hoặc ảnh, vì mỗi thư mục có các tệp riêng, sao chép mọi thứ.

Đó là lúc chúng tôi nghĩ tạo một thư mục chia sẻ, nhưng có vấn đề về quyền. Nếu thư mục là của tôi, cô ấy không nhìn thấy nó, nếu tập tin do tôi tạo ra, cô ấy không xóa nó, v.v. Lúc đầu, bản vá là chúng tôi cấp cho 777 quyền đối với các tệp đó mỗi khi chúng tôi chỉnh sửa nội dung nào đó để người kia truy cập cho đến khi chúng tôi tìm ra giải pháp, Quyền nhóm!

Quyền nhóm là gì?

Đó là cái tốt nhất, gán thư mục dùng chung đó và tất cả nội dung của nó vào một nhóm đặc biệt với quyền đọc và ghi, mà tất cả các thành viên của nhóm sẽ có quyền truy cập vào thư mục đã nói. Sau đó, điều này cho phép chỉ cần thêm người dùng của chúng tôi vào nhóm đã nói, chúng tôi đã có thể tương tác trong thư mục đó.

Và làm cách nào để cấu hình nó?

Đây là phần hay nhất và tôi sẽ kể cho bạn nghe cách tôi đã làm với vợ mình. Điều đầu tiên là tạo thư mục đó, ví dụ tôi sẽ gọi là «chia sẻ".

sudo mkdir /home/compartido

Tôi tạo nó bên trong / nhà riêng và bên ngoài tài khoản của chúng tôi, để tránh các thư mục trên bận tâm với các quyền của riêng chúng. Bây giờ chúng ta phải tạo nhóm, mà chúng ta sẽ đặt «chia sẻ»

sudo groupadd compartidos

Và chúng tôi gán nhóm này cho thư mục mà chúng tôi đã tạo trước đó và chúng tôi cũng thay đổi quyền, để mọi thứ chúng tôi tạo bên trong, cho dù chúng là thư mục hay tệp, cũng thuộc nhóm này.

sudo chgrp -R compartidos /home/compartido
sudo chmod g+s dirname

Ngoài ra, chúng tôi phải thêm người dùng của mình vào đó. Sau đó, chúng ta phải lặp lại lệnh này cho mỗi lệnh:

sudo usermod -G compartido sebastian
sudo usermod -G compartido mimujer

Cho đến nay, chúng tôi có thư mục «/ home / shared»Thuộc về nhóm«chia sẻ«, Với những gì mà tất cả người dùng thành viên của cùng có thể truy cập và mọi thứ được tạo trong thư mục, sẽ thuộc về nhóm với những gì bất kỳ ai trong chúng ta có thể nhìn thấy chúng.

Bây giờ chúng ta chỉ cần một bước cuối cùng, có thể là tùy chọn, nhưng đó là thay đổi umask của người dùng, để đảm bảo rằng mỗi tệp mới mà chúng ta tạo đều có thể sửa đổi được bởi các thành viên khác trong nhóm. Điều này ảnh hưởng đến toàn bộ người dùng, không chỉ thư mục, vì vậy họ phải xem liệu nó có phù hợp với họ hay không. Trong trường hợp của tôi, vì chỉ có vợ tôi và tôi sử dụng hệ thống, nó không làm phiền chúng tôi và chúng tôi tự gán cho mình một umask là 002, có nghĩa là mọi tệp được tạo đều bắt đầu với 775 quyền.

Chỉnh sửa umask

Để chỉnh sửa umask, mỗi người dùng phải chỉnh sửa tệp .profile hoặc .bashrc nằm trong nhà của người dùng và sửa đổi giá trị của umask theo số mong muốn. Nếu tùy chọn không có ở đó, chúng ta phải thêm nó.

Bạn cũng có thể chỉnh sửa tệp / etc / profile để thay đổi sẽ ảnh hưởng đến tất cả người dùng

Vì vậy, trong bảng điều khiển, chúng tôi đặt:

sebastian@multivacs ~> vim .profile

Và chúng ta sẽ thấy một cái gì đó như thế này:

vi-profile2

Vì vậy, chúng tôi đi đến dòng có nội dung umask, chúng tôi nhấn vào ký tự i để có thể chỉnh sửa và chúng tôi xóa dấu # để xóa nhận xét. Chúng tôi thay đổi số thành 002. Nếu dòng không xuất hiện, họ phải thêm nó.

Sau khi hoàn tất, chúng tôi nhấn phím Esc để thoát khỏi chế độ chỉnh sửa và sau đó chúng tôi viết :+q+w. Điều gì khiến chúng tôi lưu các thay đổi và thoát khỏi Vi.

Nó sẽ giống như hình ảnh này:

hồ sơ vi

Vậy là xong! Nếu họ đóng phiên người dùng của mình và mở lại, các thay đổi sẽ được thực hiện, do đó, thư mục được chia sẻ sẽ hoạt động.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   sống động dijo

    Mẹo hay.

  2.   KZKG ^ Gaara dijo

    Thể loại.

    Vài năm trước, tôi thấy cần phải tự mình làm việc này, điều tôi không biết là umask ... Thay vào đó, tôi đặt một nhiệm vụ trong crontab 🙂

    cảm ơn vì tiền hỗ trợ

    1.    thalskart dijo

      Vâng, crontab cũng tốt. Bạn đã đặt gì để gán 775 quyền cho nội dung?

  3.   nguyên cơ bản dijo

    Mẹo tuyệt vời .. ..được lưu nếu cần thiết;) ..

  4.   Luis dijo

    Ok, bạn tạo thư mục / home / shared và gán nhóm "shared" cho nó nhưng

    Thư mục đó thuộc về người dùng nào? Đó là, ai là chủ sở hữu? Tôi, người khác hoặc người dùng root có tài khoản bị vô hiệu hóa vì tôi sử dụng sudo?

    Mặt khác, tôi thấy mình có vấn đề sau: Các tệp tôi tạo ra không thể bị xóa bởi người khác và các tệp do người khác tạo ra tôi không thể tự xóa.

    Tôi đã làm gì sai?

    1.    thalskart dijo

      Khi tạo thư mục với sudo, bạn nên để quyền root là chủ sở hữu. Bạn cũng có thể sửa đổi điều đó bằng lệnh chown để chỉ định người dùng khác.

      Mặt khác, hãy kiểm tra xem các tệp bạn tạo có làm như vậy với 775 quyền hay không (cấp cho umask 002). Nếu họ không có những quyền đó, có thể có cấu hình sai.

      Tương tự như vậy, cần làm rõ rằng umask ảnh hưởng đến mọi tệp mới được tạo trong thư mục, nhưng nếu chúng di chuyển hoặc sao chép nội dung từ nơi khác, các quyền ban đầu sẽ được duy trì chứ không phải những quyền mà chúng tôi đặt cho thư mục.

      1.    Luis dijo

        Chào! Bạn đúng.

        Tôi đang tìm kiếm và vấn đề là do điều cuối cùng bạn nói: Khi di chuyển tệp từ vị trí khác sang thư mục chia sẻ, các quyền ban đầu vẫn được duy trì.

        Có một giải pháp cho điều này?

        Tôi có thể sử dụng ngọc trai.

      2.    thalskart dijo

        Trong trường hợp đó, điều tốt nhất là đặt một crontab như KZKG ^ Gaara đã nói, trong đó bạn có thể đặt lệnh để gán nhóm và quyền đối với nội dung thư mục mỗi X lần.
        Đó là nói một cái gì đó như thế này trong crontab:
        sudo chgrp -R compartidos /home/compartido/*
        chmod -R 775 /home/compartido/*

        Để mọi thứ mới mẻ, hãy chuyển sang Nhóm được chia sẻ với quyền 775.

      3.    thalskart dijo

        Bỏ qua dấu * ở cuối mỗi dòng, tôi đang nghĩ đến điều khác khi tôi đặt nó 😛

      4.    Luis dijo

        Cảm ơn bạn.

  5.   ernesto dijo

    Bài viết rất hay, nhưng tôi thích có một phân vùng riêng, trong đó tôi có thể đặt mọi thứ tôi muốn chia sẻ. Tôi có một đĩa rộng 500 GB, trong đó tôi sử dụng 100 GB với Linux và một phân vùng 400 GB (ntfs), trong đó có tất cả nhạc, ảnh, v.v. Trên máy tính của tôi, chúng tôi có hai người dùng và mỗi người có thể truy cập phân vùng ntfs và đặt và loại bỏ những gì chúng ta muốn, khi chúng ta muốn. Nếu tôi không muốn chia sẻ bất cứ điều gì, tôi có một số thứ trong tên người dùng của mình. 🙂

    1.    Luis dijo

      Hiện tại, đó là một cách khác để làm điều đó nhưng vấn đề không nằm ở vị trí đặt tệp mà là cấu hình quyền và kiểm soát quyền truy cập của những người dùng khác nhau.

      Bạn có thể có nó trên một phân vùng NTFS, đúng nhưng bạn cũng có phân mảnh, chậm hơn EXT4 và kém bảo mật hơn, mặc dù nếu bạn có nó theo cách đó thì nó cũng hợp lệ như nhau.

  6.   rainerhg dijo

    Được chứ! Mẹo hay, nhưng tôi vẫn sẽ thêm một nhiệm vụ để thay đổi quyền đối với 775 tệp mới ở mỗi lần đăng nhập và nó sẽ giải quyết vấn đề tệp được chuyển từ thư mục khác.
    Ngoài ra, cảm ơn bạn rất nhiều vì đã chia sẻ!

  7.   Joaquin dijo

    Thú vị, cảm ơn!

  8.   vô danh dijo

    Tôi đang nêu ra điều gì đó liên quan đến nhóm chia sẻ chính của một số bản phân phối gnu / linux. Một số bản phân phối tạo người dùng với người dùng nhóm chính và không sử dụng nhóm chính bằng tên của người dùng.
    Sự khác biệt là sử dụng người dùng nhóm chính, theo mặc định, mọi thứ được chia sẻ với người dùng nhóm mà tất cả người dùng được tạo trong bản phân phối đó sẽ thuộc về, nếu thay vào đó họ được tạo cùng nhóm với tên của người dùng, theo mặc định thì không. không có gì sẽ được chia sẻ.

    Ví dụ:
    $ ls -l /home/user/*.txt
    -rw-r - r– 1 carlos carlos 126 ngày 25 tháng 2012 năm XNUMX ghi chú.txt

    $ ls -l /home/user/*.txt
    -rw-r - r– 1 người dùng carlos 126 ngày 25 tháng 2012 năm XNUMX ghi chú.txt

    Tôi không khuyên bạn nên sử dụng người dùng nhóm chính, tốt hơn nên tạo nhóm chính của riêng bạn khi tạo người dùng.

    #groupadd carlos
    # useradd -g carlos -G lp, wheel, uucp, audio, cdrom, cdrw, usb, lpadmin, plugdev -m -s / bin / bash carlos

    Các carlos -g chỉ ra sử dụng các carlos của nhóm mẹ.
    Bạn có thể thay đổi nhóm chính của người dùng bằng # usermod -g nhưng điều đó sẽ không thay đổi nhóm chính của tất cả các tệp và thư mục đã có trong / home / carlos, bạn sẽ phải thay đổi tất cả.

    Ví dụ: thay đổi người dùng nhóm chính từ carlos người dùng thành carlos nhóm chính và sau đó thay đổi
    tất cả các quyền đối với tệp và thư mục của carlos người dùng để chúng vẫn là của carlos carlos.

    #groupadd carlos
    người dùng # usermod -g carlos
    # cd / home
    # chown -R carlos: carlos carlos

    Về chia sẻ, bạn có thể tạo người dùng được gọi là được chia sẻ với nhóm chính được chia sẻ của bạn và để không có vấn đề về quyền khi sao chép, trước tiên bạn thay đổi người dùng
    với "$ su - shared" thì những gì bạn muốn sẽ được sao chép vào / home / shared, với quyền này và quyền của những gì được sao chép sẽ trở thành người dùng được chia sẻ.
    Nếu đã có các tệp sao chép thuộc về những người dùng khác và nhóm chính, bạn phải thay đổi tất cả chúng.

    # cd / home
    # chown -R shared: đã chia sẻ đã chia sẻ

    Chỉ còn điều gì đó lấp lửng, mà tôi không biết phải làm thế nào để sao chép đồ họa với tư cách là người dùng được chia sẻ, tức là mà không cần phải thực hiện $ su - shared

  9.   vô danh dijo

    Thật là một điều ngớ ngẩn khi sao chép đồ họa, hehe, tôi sử dụng pcmanfm ở đây trong openbox, nhưng bạn có thể sử dụng trình quản lý tệp bạn có hoặc muốn, nó chỉ được thực thi với tư cách người dùng chia sẻ chứ không phải người dùng root.

    $ su - đã chia sẻ
    $pcmanfm
    $ cá heo
    $mc
    vv vv

    1.    thalskart dijo

      Tôi chỉ định trả lời điều đó. Nếu không, cái kia là crontab thay đổi chủ sở hữu của các tệp mỗi x lần với
      chown -R compartido:compartido compartido

  10.   Hugo dijo

    Đối với tôi, có vẻ như lệnh "usermod -G thenewgroup theuser" mà nó làm về cơ bản là thay đổi nhóm của người dùng thành "thenewgroup". Để thêm người dùng hiện có vào một nhóm mới, tôi nghĩ điều chính xác sẽ là "usermod -aG elnuevogrupo elusuario"

    Một điều khác là tôi thấy ở đây có một số người khuyên bạn nên thực hiện "chmod -R 775" nhưng điều đó không chỉ ảnh hưởng đến các thư mục mà còn ảnh hưởng đến tất cả các tệp (làm cho chúng có thể thực thi), điều này dẫn đến rủi ro không cần thiết. Tốt hơn nên làm một cái gì đó như «find / home / shared -type d -print0 | xargs -0 chmod 755 "và nếu cần thiết với các tệp, bạn có thể làm điều gì đó tương tự nhưng sử dụng" -type f "và cấp quyền 664.

    Cuối cùng, một cách để làm cho nhiều tài khoản có quyền truy cập vào một tệp hoặc thư mục bất kể chủ sở hữu hoặc nhóm là ai bằng cách sử dụng lệnh "setfacl" có trong gói acl (nếu tôi nhớ không nhầm). Việc sử dụng nó được giải thích rõ ràng trên trang hướng dẫn sử dụng.

  11.   Unai martin dijo

    Tôi có một vấn đề sau đây. Tôi đã tạo 4 người dùng (web1, web2, web3, web4) và tôi muốn tạo một thư mục nhóm truy cập cho người dùng của nhóm web. Khi tôi tạo tệp .htaccess, tôi biết rằng tôi phải đặt yêu cầu người dùng hợp lệ, nhưng, nếu tôi đặt yêu cầu người dùng hợp lệ web1 web2 web3 web4 để họ có thể truy cập thư mục bằng mật khẩu của họ, khi tôi cố gắng truy cập thư mục nó hỏi tôi người dùng và mật khẩu của từng người. Làm cách nào để tôi chỉ được hỏi tên người dùng và mật khẩu của người muốn nhập? bởi vì một người không được phép biết mật khẩu của người kia.

  12.   Gustavo F. Paredes dijo

    Hey.

    Thiết bị đầu cuối thứ 4 phải có số nhiều "chia sẻ":

    sudo usermod -G shared sebastian

    sudo usermod -G đã chia sẻ người phụ nữ của tôi

    Chúc mừng.

    Gustavo

  13.   Ngà dijo

    Chúc mừng:

    Chúng tôi đang di chuyển từ Windows Server sang CentOs 6 và chúng tôi vẫn đang trong quá trình điều chỉnh. Truy vấn của tôi: Có giao diện đồ họa trong CentO để chia sẻ thư mục và cấp quyền truy cập cho người dùng để sửa đổi, chỉnh sửa và / hoặc xóa tệp không ?, hay tôi nên thực hiện tất cả quy trình trên.

    Cảm ơn đã giúp đỡ.

    1.    Rafael dijo

      Tôi cũng đang cài đặt centos 6 và tôi muốn sử dụng nó với samba cho phép tôi chia sẻ tệp từ linux và windows, tôi biết một chút, tôi không sử dụng linux nhiều, nhưng trong công việc tôi đã được hỏi, làm thế nào tôi có thể làm để chia sẻ thư mục nhưng ở chế độ đồ họa ??.

  14.   Ricardo dijo

    Chào. Xin hãy giúp tôi! ... Hóa ra là bằng cách làm điều này với người dùng của tôi trong tâm trí linux, bây giờ tôi đã mất đặc quyền. Tôi không thể chạy bất cứ thứ gì như sudo. Tôi nhận được thông báo sau "Xin lỗi, người dùng" tên người dùng "không được phép thực thi" lệnh_to_run "với tư cách là người chủ trong" tên người dùng ""

    Tôi nghĩ rằng khi tôi thay đổi người dùng của mình thành nhóm được chia sẻ, tôi đã lấy đi các đặc quyền và bây giờ tôi làm cách nào để khôi phục chúng?

  15.   Guillermo dijo

    Này bạn, có cách nào làm tương tự nhưng chia sẻ tệp với người khác trên mạng LAN Internet không

  16.   Fabian dijo

    Đối với điều này, bạn phải sử dụng SAMBA làm Máy chủ Tệp. Chúc mừng

  17.   David dijo

    Chào. Khi tôi nhận được lệnh sudo chmod g + s dirname, nó cho tôi biết rằng tệp hoặc thư mục không tồn tại. Bạn có biết vấn đề là gì không?

  18.   Javier Quiroga Almeida dijo

    Làm cách nào để tạo một nhóm trong một nhóm khác?

  19.   Rodrigo Hernán Ramos dijo

    Dòng:
    sudo usermod -G shared sebastian

    nên là:
    sudo usermod -a -G shared sebastian

    cách đầu tiên xóa các nhóm còn lại của người dùng.
    và nếu bạn đổ mồ hôi, bạn sẽ mất đặc quyền của mình