Невозможно получить доступ к сценарию из корневого каталога в Linux

1

У меня есть скрипт в одном из моих корневых каталогов: /root/scripts/script1.sh

Я не хочу называть этот скрипт другим пользователем (james1).

Я сделал следующее (как пользователь root):

root@pc83$ CD scripts
root@pc83$ chown -R james1:user scripts
root@pc83$ CD scripts
root@pc83$ chmods 755 script1.sh

Это сделало Джеймса 1 владельцем сценария, затем я пошел в каталог сценариев и изменил разрешение script1.sh на 755, что позволяет другим выполнять.

Еще когда я подключаюсь как james1s и пытаюсь запустить script1. Я не могу

james1@pc83$ /root/scripts/script.sh

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

Я использую Oracle Enterprise Linux, но попытался повторить ту же проблему в Ubuntu 10.10 и имел ту же проблему.

Der Hochstapler
источник
«Корневой каталог» обычно означает /и нет /root.
tripleee

Ответы:

1

Есть ли james1разрешение на выполнение rootпапки? Это необходимо для прямого доступа к файлам в /root/.


источник
Привет, Грэм, ты имеешь ввиду чоун корневую папку?
нет, вам просто необходимо chmod. Какое бы поле ни относилось к james1(возможно, группе или другому), нужно +xнемного.
Нет, он имеет в виду, позволяет ли текущее разрешение «другим» «исполнять»? В любом случае, поместите сценарий как /usr/local/binугодно, чтобы вам не пришлось возиться с разрешениями /root- есть причина, по которой они несколько ограничены.
tripleee
@tripleee Не уверен, что Грэм имел в виду + ​​x, но это дало мне идею, которую я попробовал и работал. «$ chmod + x root», а затем «$ chmod 755 dummies -R», теперь я могу запускать сценарии. Похоже, что все между каталогами (в моем случае root и script) также должны иметь o + x.
«+ X» обычно называется битом выполнения, но в каталоге он имеет специальное значение «разрешать пользователям доступ к определенным элементам внутри этого каталога». Это отличается от бита «чтение», что означает «разрешить пользователям просматривать содержимое этого каталога», и это необходимо сделать ls.