От man locate
:
Для поиска файла с именем точно
ИМЯ
(не*ИМЯ*
),
использоватьlocate -b '\NAME'
locate -b '\java'
-b
— Сопоставить только базовое имя с указанными шаблонами. Если вы хотите разделить контроль над папкой между
a
b
Создайте пользователей
% sudo adduser a
Adding user `a' ...
Adding new group `a' (1002) ...
Adding new user `a' (1001) with group `a' ...
Creating home directory `/home/a' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
....
и
% sudo adduser b
Adding user `b' ...
Сделайте каталог
% mkdir our_shared_directory
Создайте новую группу и добавьте в нее пользователей
% sudo addgroup cool_kids
Adding group `cool_kids' (GID 1001) ...
Done.
% sudo adduser a cool_kids
Adding user `a' to group `cool_kids' ...
Adding user a to group cool_kids
Done.
% sudo adduser b cool_kids
....
Сделайте каталог принадлежащим группе cool_kids
и setgid
bit
sudo chmod g+s our_shared_directory
sudo chown -v ubuntu:cool_kids our_shared_directory
проверьте нашу работу
ls -al
drwxrwsr-x 2 ubuntu cool_kids 40 Feb 29 20:37 our_shared_directory/
^ setgid bit is set and group is now "sticky"
Посмотрите, что произойдет когда файл создан пользователем a
в обычном каталоге
% touch file_made_by_user_a
% ls -al
-rw-rw-r-- 1 a a 0 Feb 29 20:57 file_made_by_a
теперь пользователь a
создает файл в нашем_общем_каталоге
% cd our_shared_directory/
% ls -al
-rw-rw-r-- 1 a cool_kids 0 Feb 29 20:59 another_by_a
^^^^^^ note the group
Теперь переключимся на пользователя b
% su b
Password: ...
b теперь может редактировать файл, созданный a - потому что файл another_by_a
имеет режим по умолчанию -rw-rw-r--
, b
не мог нормально редактировать его.
Но с
b% vim another_by_a
^ note this means we are user "b" now
[make some edit and save]
b
смог изменить файл **поскольку b принадлежал к группе cool_kids
и поскольку cool_kids
был гарантированно применен к новому файлу с помощью setgid
bit
ls -al
-rw-rw-r-- 1 a cool_kids 7 Feb 29 21:03 another_by_a
^ the file is 7bytes - slightly bigger because of changes made by b