Можно изменить пользователя файла при управлении обоими учетными записями пользователей?

Если файл действительно не существует, и Вы на самом деле выполняете Bash, можно, вероятно, найти, что рабочая копия для получения Вас запустилась (это имеет много примеров для общего использования в комментариях) в /etc/skel/.bashrc. Это .bashrc это добавляется к корневому каталогу каждого нового пользователя по умолчанию. По крайней мере это - то, как это идет для большей части GNU/дистрибутивов Linux.

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

Узнайте оболочку по умолчанию для своей учетной записи пользователя от:

getent passwd $(whoami) | awk -F: '{print $NF}'

Узнайте в настоящее время рабочую оболочку от:

ps -p $$ -o cmd=

Обновления

  • В соответствии с Mac OS X, Вы не найдете /etc/skel, необходимо скорее посмотреть под /System/Library/User\ Template/English.lproj/ как объяснено в этом SU Вопросы и ответы

  • Поиск, запрошенный Вашим другим вопросом, показывает это getent действительно не доступно в соответствии с Mac OS X. Мое плохое для предложения его. Я действительно думаю, что необходимо было поместить это в комментарий к ответу вместо того, чтобы запустить новый вопрос, все же.

3
16.02.2015, 12:57
2 ответа

Вы можете использовать ACL для предоставления разрешения на файлы в вашей домашней директории другому пользователю. А команда для установки ACL - setfacl.

Скажем, что учетными записями, которыми вы управляете, являются john и smith. Теперь, если Вы хотите, чтобы smith имел полный доступ к домашнему каталогу john, то он может запустить команду setfacl как john с этими опциями:

setfacl -R -m u:smith:rwx /home/john

Вышеприведенная команда setfacl предоставит пользователю smith полный доступ к домашнему каталогу john . Эта команда должна быть выполнена владельцем директории, к которой открыт доступ (john в данном случае) или root .

Вы можете изменить права доступа или имя каталога или сказать команде setfacl, должен ли доступ быть предоставлен пользователю или группе. Например:

setfacl -m u:smith:rx /home/john

Вышеприведенная команда даст пользователю smith доступ только на чтение к /home/john.

[sreeraj@server ~]$ setfacl -m u:soum:rwx /home/sreeraj

На том же сервере:

[soum@server ~]$ cd /home/sreeraj
[soum@server sreeraj]$ touch file_by_soum
[soum@server sreeraj]$ ll file_by_soum
-rw-rw-r-- 1 soum soum 0 फ़रवरी 16 16:27 file_by_soum
[soum@server sreeraj]$

Из man-страницы setfacl:

EXAMPLES
       Granting an additional user read access
              setfacl -m u:lisa:r file

       Revoking write access from all groups and all named users (using the effective rights mask)
              setfacl -m m::rx file

       Removing a named group entry from a file's ACL
              setfacl -x g:staff file

       Copying the ACL of one file to another
              getfacl file1 | setfacl --set-file=- file2

       Copying the access ACL into the Default ACL
              getfacl --access dir | setfacl -d -M- dir
0
27.01.2020, 21:41

Лента содержит файлы, но не файловую систему *. Использование слова «file» для обоих немного вводит в заблуждение. Файл на ленте - это не что иное, как поток байтов, закрытых меткой EOF. Вот и все. Как писал вуртель, «файл» на ленте не имеет ни имени, ни атрибутов. Другими словами, нет каталога этих файлов. Каталог = файловая система.

cp касается файлов в файловых системах. Он копирует файл с именем в командной строке из одной файловой системы в другой каталог в той же или другой файловой системе. Вдумайтесь: то, что на ленте нет файловой системы, означает, что нет имен файлов и нет каталогов. cp не имеет никакого отношения к лентам.

Не случайно автор книги рекомендует tar хранить несколько файлов на ленте. TAR означает T ape AR chive. Формат и утилита TAR были созданы, чтобы иметь возможность упаковывать содержимое, имя и атрибуты нескольких файлов вместе с их размещением в дереве каталогов и записывать все это на ленту. Не всегда, но часто именно так нужно хранить файлы на ленте.

* Сноска: Существует ленточная файловая система, которая называется LTFS. Это относительно новая вещь. Лента разделена на два раздела, первый содержит каталог, второй содержит содержимое файла. LTFS ведет себя как любая обычная файловая система, можно копировать с помощью cp или даже перетаскивать файлы. Но если вы просто упоминаете «ленту», я предполагаю, что вы говорите о обычной, базовой конфигурации ленты, без LTFS.

-121--186690-

Попробуйте не использовать/dev/sdX для идентификации устройств, вместо этого используйте его UUID, и вы всегда должны быть в безопасности.

Используйте команду blkid для идентификации UUID устройства и изменения fstab с помощью UUID = YureDevices UUID замены/dev/sdX. Также потребуется изменить файл/etc/grub/grub.cfg, чтобы установить корневое устройство в качестве UUID диска, с которого вы хотите загрузиться.

-121--229956-

Вы должны быть корневым пользователем, чтобы изменить (отдать или принять) владение файлами/каталогами.

0
27.01.2020, 21:41

Теги

Похожие вопросы