2

На моем компьютере с Linux есть программа на Java, и я хотел создать небольшой однострочный сценарий оболочки в /bin чтобы избежать необходимости переходить в папку программы и устанавливать все аргументы командной строки каждый раз.

Сначала я смог запустить скрипт в /bin но Java не запустился правильно. Однако при выполнении полной команды /xxx/yyy/zzz/javaprog -args это началось. Через некоторое время я понял, что sudo /bin/shortcut решает проблему.

Затем я проверил в разрешениях:

java program  :  -rwxrwxr-x 1 fred fred
/bin/shortcut :  -rwxrwxrwx 1 root root

выполнив команду chown fred /bin/shortcut изменил владельца на:

-rwxrwxrwx 1 fred root

и теперь все в порядке, и мне не нужно sudo ярлык.

Может ли кто-нибудь немного помочь мне понять, что происходит? Почему мне понадобилось использовать ярлык sudo, чтобы он заработал, или сменить его владельца на программу Java.

PS. Я понимаю понятие пользователя / группы

2 ответа2

0

Вы понимаете, что rwxrwxrwx - права для ваших файлов / папок, верно? первые три RWXrwxrwx для владельца файла. Второй набор из трех, rwxRWXrwx, предназначен для владельца группы файла или папки, а последний набор из трех - rwxrwxRWX - для всех остальных в системе. R = чтение, W = запись и X = выполнение.

Chown просто назначает пользователя и группу в файл / папку

Если я не в курсе, уточни свой вопрос.

0

Разрешения Linux состоят из владельца, группы и других.

Ваша java program : -rwxrwxr-x 1 fred fred означает, что файл принадлежит 'fred', а группа - 'fred'. Фред может читать, писать и выполнять этот файл (первый rwx). Люди в группе 'fred' могут читать, писать и выполнять этот файл (второй rwx). Все остальные пользователи могут читать и выполнять этот файл (третья часть, r-x).

Для /bin/shortcut : -rwxrwxrwx 1 root root , root является владельцем и группой, и все пользователи могут читать, писать и выполнять.

После вашего chown fred /bin/shortcut , который, вероятно, должен был быть chown fred:fred /bin/shortcut (для изменения группы тоже), Owner - это fred, group - это root, и все пользователи могут читать, писать и выполнять.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .