Если я сделаю исполняемый файл файла в одной системе, то это останется таким, если я перемещу его к другому?

Если делают исполняемый файл файла с chmod +x <file> , изменение будет все еще применено, даже если я перейду файл на другую систему?

Это применялось бы, даже если бы я распределил файл широкому количеству пользователей, такой как через SourceForge?

3
задан 3 November 2015 в 19:24

1 ответ

Tl; доктор

И для перемещения и для копирования его зависит от инструмента, используемого для перемещения / копируют файл, и для копирования также на umask пользователя. Однако:

  • , Если файл перемещен: обычно ДА , что касается инструмента намеревался переместить файлы для произвольного изменения, полномочия перемещенных файлов имеет мало смысла;
  • , Если файл копируется: обычно НИКАКОЙ , поскольку условно скопированные файлы имеют полномочия 666 минус umask пользователя, который по умолчанию является 002; неважно, полномочия исходного файла, в 99% случаев скопированный файл будет иметь полномочия 664;
<час>

Копирование файла = ~ чтение файла и запись его в другом положении = ~ создание нового файла с содержанием исходного файла .

полномочия файла, скопированного / перемещенный от / до той же файловой системы или скопированный / перемещенный от / до другой файловой системы, зависят:

  1. На инструменте, копирующем / перемещение файла.
  2. При копировании, также на umask пользователя, как копирование файла = ~ чтение файла и запись его в другом положении = ~ создание нового файла с содержанием исходного файла, таким образом, ограничения, которые относятся к недавно созданным файлам также, относятся к скопированным файлам.

, Таким образом, это полностью до комбинации двух. Однако:

  • конвенция состоит в том, что файл скопировал от / до той же файловой системы, или от / до другой файловой системы установят полномочия на 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
2
ответ дан 1 December 2019 в 17:00

Другие вопросы по тегам:

Похожие вопросы: