Как установить разрешения для папки в Unix / Linux Ubuntu

Это не обязательно прямой вопрос информатики, но тесно связанные с ним.

есть ли способ сделать это.

Я использую Z Shell zsh.

Я хочу, чтобы настроить так, когда я нахожусь в папке

~ / blah

все, что я создаю, создается с помощью разрешений 770 (All access wrx for me and group).
В принципе, все, что я делаю в этой папке, должно иметь эти разрешения.

дополнительно группа для этого файла должна будет сделано таким же образом. Но это тот же процесс, что и для разрешений.

кого?

28
задан Pascal Thivent
28.03.2023 3:19 Количество просмотров материала 2361
Распечатать страницу

5 ответов

нашел хорошую статью на эту тему: что такое "umask"? Как я могу его установить?

на umask определяет разрешения, которые получит новый файл - или лучше: разрешения, которые он не получит.

[...]

если вы хотите определить umask для конкретный каталог (пример: группа разрешения на запись для каталога вы используйте вместе с вашими коллегами), вы станете потеющ при использовании команда umask потому что это всегда действительно для всех каталогов.

решение этой проблемы задание по умолчанию ACL. Следующий команда гарантирует, что все новые файлы /home/shared/ Все права (включая права на запись) установить для группа:

setfacl -d -m mask:007 /home/shared/

вы также должны установить sgid-бит для каталог и выбрать нужный группа с помощью chgrp:

chgrp the_team /home/shared/
chmod g+s /home/shared/

If /home/shared/ уже содержит подкаталоги, у вас есть меняться их разрешения, а также. Совет: все упомянутые команды знают опцию-R.

3
отвечен Pascal Thivent 2023-03-29 11:07

Set

umask 006 

в своем ~/.bash_profile что отличается от дефолта 022. Также установлено

chgrp staff         # or some other group you pick
chmod g+s blah

, чтобы включить липкий бит в каталоге. Теперь все, что вы создаете ниже, должно сохранять режимы, а также группу.

1
отвечен Dirk Eddelbuettel 2023-03-29 13:24

Не забывайте, что файловая система должна быть смонтирована с 'acl ' флаг для использования списков контроля доступа. В противном случае команда setfacl вернет 'операция не поддерживается'.

например, это запись в моем файле fstab (/etc / fstab):-

# <file system>  <mount point>     <type>  <options>   <dump>  <pass>
/dev/sdb1        /media/DataDrive  ext3    acl         0       0
0
отвечен 2023-03-29 15:41

вы можете определить функцию chpwd (), которая будет запускаться при каждом изменении cwd оболочки. Внутри проверьте каталог и установите umask соответствующим образом.

function chpwd {
  [[ $PWD == $HOME/blah ]] && { umask 007; return }
  # or, if more tests here, use case $PWD in ... esac
  umask 022
}
0
отвечен Phil P 2023-03-29 17:58

umask изменит разрешения по умолчанию для каждого файла и каталога, который вы создадите, но если вам нужно, чтобы это поведение было только для данного каталога, вы должны посмотреть списки управления доступом ACL см.:man acl(5) для получения дополнительной информации.

0
отвечен Chen Levy 2023-03-29 20:15

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх