Если делают исполняемый файл файла с chmod +x <file>
, изменение будет все еще применено, даже если я перейду файл на другую систему?
Это применялось бы, даже если бы я распределил файл широкому количеству пользователей, такой как через SourceForge?
И для перемещения и для копирования его зависит от инструмента, используемого для перемещения / копируют файл, и для копирования также на umask пользователя. Однако:
666
минус umask пользователя, который по умолчанию является 002
; неважно, полномочия исходного файла, в 99% случаев скопированный файл будет иметь полномочия 664
; Копирование файла = ~ чтение файла и запись его в другом положении = ~ создание нового файла с содержанием исходного файла .
полномочия файла, скопированного / перемещенный от / до той же файловой системы или скопированный / перемещенный от / до другой файловой системы, зависят:
, Таким образом, это полностью до комбинации двух. Однако:
666
инструментом; значение по умолчанию umask 002
, таким образом, в 99% случаев файл будет иметь полномочия 664
; Загрузка файла из Интернета не имеет никакого отношения к метаданным, поскольку метаданные являются вещью файловой системы; набор полномочий в файл, загруженный с Интернета, установлен после тех же "правил", которые относятся к файлу, скопированному от / до той же файловой системы или от / до другой файловой системы, т.е. в зависимости от инструмента и на umask пользователя.
<час> Так, при загрузке файла с Интернета, полномочия загруженного файла обычно устанавливаются на 664
:
% wget 'http://downloads.sourceforge.net/project/resolutionx/ResolutionX.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fresolutionx%2F&ts=1446571625&use_mirror=netassist'
--2015-11-03 18:28:07-- http://downloads.sourceforge.net/project/resolutionx/ResolutionX.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fresolutionx%2F&ts=1446571625&use_mirror=netassist
Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59
Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://netassist.dl.sourceforge.net/project/resolutionx/ResolutionX.tar.gz [following]
--2015-11-03 18:28:08-- http://netassist.dl.sourceforge.net/project/resolutionx/ResolutionX.tar.gz
Resolving netassist.dl.sourceforge.net (netassist.dl.sourceforge.net)... 62.205.134.42, 2a01:d0:0:37::2
Connecting to netassist.dl.sourceforge.net (netassist.dl.sourceforge.net)|62.205.134.42|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8280 (8,1K) [application/x-gzip]
Saving to: ‘ResolutionX.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fresolutionx%2F&ts=1446571625&use_mirror=netassist’
ResolutionX.tar.gz? 100%[=====================>] 8,09K --.-KB/s in 0,007s
2015-11-03 18:28:22 (1,07 MB/s) - ‘ResolutionX.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fresolutionx%2F&ts=1446571625&use_mirror=netassist’ saved [8280/8280]
% ls -l
total 12
-rw-rw-r-- 1 user user 8280 set 1 11:55 ResolutionX.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fresolutionx%2F&ts=1446571625&use_mirror=netassist
Однако файлам, извлеченным из tarball, установят полномочия на основе определенных ограничений tar ;
, Если пользователь, извлекающий tarball, является корнем или Tar, назван, передав -p
, --preserve-permissions
или --same-permissions
переключатель, полномочия извлеченных файлов будут установлены на полномочия исходных файлов:
user@user-X550CL ~/tmp % touch foo
user@user-X550CL ~/tmp % chmod 777 foo
user@user-X550CL ~/tmp % tar cf foo.tar foo
user@user-X550CL ~/tmp % rm foo
user@user-X550CL ~/tmp % tar xf foo.tar -p
user@user-X550CL ~/tmp % ls -l
total 12
-rwxrwxrwx 1 user user 0 nov 4 07:45 foo
-rw-rw-r-- 1 user user 10240 nov 4 07:45 foo.tar
, Если пользователь, извлекающий tarball, не корень и , Tar не назван передачей -p
, --preserve-permissions
или --same-permissions
переключатель, полномочия извлеченных файлов будут установлены на полномочия исходных файлов минус umask пользователя:
user@user-X550CL ~/tmp % tar xf foo.tar
user@user-X550CL ~/tmp % ls -l
total 12
-rwxrwxr-x 1 user user 0 nov 4 07:45 foo
-rw-rw-r-- 1 user user 10240 nov 4 07:45 foo.tar