Есть ли способ изменить права доступа к файлу в Linux без использования команды chmod?
6 ответов
Вы можете сделать это автоматически с помощью команды umask . Кроме этого, я не уверен, что понимаю вопрос. Сколько способов вам нужно изменить права доступа к файлам?
Любая программа собирается использовать семейство системных вызовов chmod() (см. man 2 chmod
, второй раздел для системных вызовов), которое изменяет права доступа к файлу. Так что это единственный практический способ, вы можете теоретически редактировать раздел напрямую, если вы являетесь пользователем root, но это отчасти безумие.
Когда вы используете команду cp, вы создаете другой файл - вы копируете его. Так что эти примеры umask не меняют права доступа к файлу.
Очевидным ответом на этот вопрос будет другой вопрос: ПОЧЕМУ?
Но ради чего бы то ни было, вы можете изменить свой текущий umask, сделать копию файла, удалить файл и, наконец, переименовать копию, чтобы она соответствовала оригиналу.
ОБНОВИТЬ:
Обратите внимание, что это будет работать только при изменении текущих разрешений на более строгие. Другой способ, похоже, не работает.
Помните, что при использовании umask значение вычитается из 777. Так что если вы хотите, чтобы файл имел разрешения 777, например:
$ umask 000
$ cp oldfile newfile
$ rm oldfile
Вы можете написать свою собственную программу с той же функциональностью :)
Я думаю, вы могли бы использовать то, что когда-либо Filemanager установлен с вашим графическим интерфейсом рабочего стола, если он установлен.
Если вы щелкнете правой кнопкой мыши по файлу или каталогу, там должна быть запись типа "Свойства" или что-то в этом роде. Это должно привести к появлению окна, где вы можете изменить права и увидеть некоторые другие данные.