1

Есть ли способ изменить права доступа к файлу в Linux без использования команды chmod?

6 ответов6

2

Вы можете сделать это автоматически с помощью команды umask . Кроме этого, я не уверен, что понимаю вопрос. Сколько способов вам нужно изменить права доступа к файлам?

1

Любая программа собирается использовать семейство системных вызовов chmod() (см. man 2 chmod , второй раздел для системных вызовов), которое изменяет права доступа к файлу. Так что это единственный практический способ, вы можете теоретически редактировать раздел напрямую, если вы являетесь пользователем root, но это отчасти безумие.

Когда вы используете команду cp, вы создаете другой файл - вы копируете его. Так что эти примеры umask не меняют права доступа к файлу.

1

Очевидным ответом на этот вопрос будет другой вопрос: ПОЧЕМУ?

Но ради чего бы то ни было, вы можете изменить свой текущий umask, сделать копию файла, удалить файл и, наконец, переименовать копию, чтобы она соответствовала оригиналу.

ОБНОВИТЬ:

Обратите внимание, что это будет работать только при изменении текущих разрешений на более строгие. Другой способ, похоже, не работает.

1

Помните, что при использовании umask значение вычитается из 777. Так что если вы хотите, чтобы файл имел разрешения 777, например:

$ umask 000
$ cp oldfile newfile
$ rm oldfile
1

Вы можете написать свою собственную программу с той же функциональностью :)

0

Я думаю, вы могли бы использовать то, что когда-либо Filemanager установлен с вашим графическим интерфейсом рабочего стола, если он установлен.

Если вы щелкнете правой кнопкой мыши по файлу или каталогу, там должна быть запись типа "Свойства" или что-то в этом роде. Это должно привести к появлению окна, где вы можете изменить права и увидеть некоторые другие данные.

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