나는 이것과 비슷한 질문을 보았지만 그 대답은 Git과 관련이 있었고 여기서는 사용하지 않았습니다.
나는 종종 작은 스크립트를 만들어 실행할 수 있는 명령줄 기술이 매우 제한된 다른 사람들에게 보냅니다. 사용자가 실행 파일에 대한 권한을 변경할 필요가 없도록 스크립트를 패키지화하는 방법이 있습니까? 첫 번째 실행 가능 스크립트가 다른 모든 스크립트의 권한을 변경하도록 스크립트를 패키징하려고 시도했지만 이 시점에서 사용자가 필요하지 않은 방식으로 첫 번째 스크립트 실행 권한을 보내는 방법을 찾을 수 없습니다. 그것을 제공하십시오.chmod +x First_script
해결책이 없어서 이 벽에 부딪힌 걸까요?
답변1
쉬운 방법은 압축된 tar
아카이브인 tarball을 만드는 것입니다. 루트 액세스로 생성하고 사용자도 루트 액세스로 콘텐츠를 추출하는 경우 권한이 유지되어야 합니다.
예
sudo -cvzf filename.tar.gz directory # create a compressed tar archive of the directory and its content
cd /to-where-you-want-it-extracted
sudo -xvzf filename.tar.gz # extract the content from the archive
자세한 정보가 있으며 인터넷에서 좋은 튜토리얼을 찾을 man tar
수 있습니다 .tar
답변2
이제 실행 권한이 있는 스크립트를 관련 운영 체제의 패키지 형식으로 래핑할 수 있습니다.
그러면 사용자는 패키지를 설치하기만 하면 자동으로 적절한 권한을 얻게 됩니다.
토론Debian 기반 운영 체제에서 이 문제에 대한 간단한 해결책입니다.
답변3
shar
see 명령은 man shar
이런 종류의 작업을 수행하기 위해 고안되었습니다.
에서 man shar
또는https://manpages.ubuntu.com/manpages/bionic/en/man1/shar.1.html
설명하다
shar creates "shell archives" (or shar files) which are in text format and can be emailed.
These files may be unpacked later by executing them with /bin/sh. The resulting archive
is sent to standard out unless the -o option is given. A wide range of features provide
extensive flexibility in manufacturing shars and in specifying shar "smartness". Archives
may be fairly simple (--vanilla-operation) or essentially a mailable tar archive.
그리고
예
The first shows how to make a shell archive out of all C program sources. The second
produces a shell archive with all .c and .h files, which unpacks silently. The third
gives a shell archive of all uuencoded .arc files, into numbered files starting from
arc.sh.01. The last example gives a shell archive which will use only the file names at
unpack time.
shar *.c > cprog.shar
shar -Q *.[ch] > cprog.shar
shar -B -l28 -oarc.sh *.arc
shar -f /lcl/src/u*.c > u.sh