отказано в разрешении на чтение каталога, принадлежащего тому же пользователю

у вас есть опечатка в строке 8 вашего скрипта, она должна быть: читать имя каталога {{1} } По этой причине вы выводите только «5», потому что $ dirname пусто.

Что происходит, когда вы читаете $ dirname , оболочка расширяет '$ dirname' до пустого значения.

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

Исправленный сценарий:

#!/bin/ksh

echo Enter the level of nesting
read lev
echo Enter the directory \( Enter the Absolute Path\)
read path
echo Enter the directory name
read dirname
cd $path
for((i=1;i<=$lev;i++));
 do
  mkdir "$dirname$i"
  cd "$dirname$i"
 done
echo "$dirname$i"
0
23.03.2018, 16:44
1 ответ

Это ответ -на вопрос @Kusalananda в комментарии, связанном с вашим вопросом выше.

Предположим, у вас есть два пользователя, user1и user2. Предположим, что user1имеет домашнюю директорию /home/user1. Теперь предположим, что в домашнем каталоге user1вы создаете каталог, принадлежащий user2, скажем, /home/user1/sources, может ли user2получить доступ к этому каталогу?

Чтобы user2мог получить доступ к /home/user1/sources, user2необходимо иметь разрешениеx(на обход )для каждого каталога от корня до каталога sourcesвключительно :

. ]
$ ls -ld /
dr-xr-xr-x 31 root root 4096 Feb 28 11:37 /
         ^ Check (this will almost always be OK)

$ ls -ld /home
drwxr-xr-x 4 root root 4096 Feb 28  11:38 /home
         ^ Check (this will almost always be OK)

$ ls -ld /home/user1
drwx------ 9 user1 group1 4096 Mar 21 00:36 /home/user1
      ^  ^ In this case, no, user2 cannot traverse here

$ ls -ld /home/user1/sources
drwxr-xr-x 9 user2 group2 4096 Mar 21 00:36 /home/user1/sources
   ^ Check

В этом примере, поскольку user2не может перейти в /home/user1, user2не может получить доступ к /home/user1/sources(, даже если user2владеет этим каталогом ).

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

Вы можете рассмотреть возможность размещения каталога sourcesза пределами домашнего каталога пользователя.

2
28.01.2020, 02:32

Теги

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