Is there a combine variant for chmod and chgrp that sets both permissions and groups in one single system call for each file?
Shell Command that Combines chmod and chgrp
2.5k Views Asked by Nordlöw At
2
There are 2 best solutions below
0
Stephen C
On
AFAIK, no.
Furthermore, since the file access mode and owner / group information are set using different syscalls (see man 2 chmod and man 2 chown), I don't think it would be possible to implement such a command ... at least on a mainstream Unix-like system.
(Obviously, one could modify a GNU/Linux kernel to add a combined system call, but then the hypothetical command that used the syscall wouldn't be portable.)
Related Questions in LINUX
- How do I recursively find and replace only in files named index.php on Linux webserver?
- passing text with \n as one argument in shell
- kernel module does not print packet info
- How to send ESC/POS commands to thermal printer in Linux
- (x64 Nasm) Writeline function on Linux
- How do I set the Hive user to something different than the Spark user from within a Spark program?
- Default priority of thread with SCHED_FIFO
- Calling a python function with options from shell script
- How to split a directory into parts without compressing or archiving?
- Cross compile simple standard C program on Linux for Mac
- How to offload NAPI poll function to workqueue
- python netifaces - How to get currently used network interface
- Unexpected output from function
- mingw-64 conflicting declarations when cross-compiling
- Different behavior of async with Visual Studio 2013(Windows8.1) and GCC 4.9(Ubuntu14.10)
Related Questions in UNIX
- passing text with \n as one argument in shell
- C std library don't appear to be linked in object file
- How to split a directory into parts without compressing or archiving?
- Momentjs get current GMT unix time
- Timing packets on a traffic server
- man pages for c variable types
- Blocking in pthread_join()
- PWX-00001 Error opening repository "dtlmsg.txt". RCs = 268/150/2
- Unix c program to calculate pi using threads
- How to perform parallel processes for different groups in a folder?
- Set aliases globally for all users
- wmic csproduct get UUID equivalent for Unix and Mac?
- Send alert for 80% threshold comparing two values from Disk partition
- Unix - Tail Utility would open the file or not
- Redirect Outward of unix os commands to html page
Related Questions in SYSTEM-CALLS
- Error when calling gcc with system() or popen() in Windows
- setenv, and getenv documentation
- How is a Linux kernel task's stack pointer determined for each thread?
- getrandom syscall in C not found
- How to uninitialize the entropy of /dev/urandom in C?
- Linux : /proc/<PID>/exe return path to executable '/bin/bash' for process located at '/home/<USER>/new/v'
- How to trace system calls in FreeBSD from source code?
- Two addresses in kernel Call Trace
- ret_from_syscall source code and when it is called
- Getting 'ímplicit declaration of function' error while adding a system call in Linux
- Passing custom flags to "open" in a device driver
- How to add rules in Linux kernel Makefile
- Solving mprotect() syscall failure
- Catching SIGINT signal to terminate a custom shell
- use exec with a command typed from keyboard
Related Questions in CHMOD
- Apache server file permissions
- Access GPIO (/sys/class/gpio) as non-root
- Chmod: Execute only if the file is a directory
- Applying chmod 755 (or other) when ftping to apache var/www/ virtual host directories?
- Directory needs to be writable
- chmod - replicate user permissions to group/world
- Mac OSX file permissions has '@' - how to remove that '@'
- C - chmod() not changing permissions
- Can't use ansible inventory file because it is executable
- Run Python script with PHP
- how to set file permission 0555 using ftp_chmod in php
- Write permission for wpengine file
- In Python's stat module, when I print stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO, why do I get 511 instead of 777?
- mkdir(): Permission denied after chmod
- Cakephp cache not writable error message
Related Questions in CHGRP
- Set group of directory to name of directory
- Can I access an Azure file share with non root user?
- Homebrew user, group, permissions for admin - how to script chown, chgrp, chmod?
- Allowing single group having access permission of multiple groups
- Node.JS: Alternative to chown string
- Change default user of folder
- Chef - Change files group recursively
- Unix shell: Recursive find to chgrp on all files and dirs EXCEPT a single named dir
- Shell Command that Combines chmod and chgrp
- PHP Script owner/group/permissions on non ".txt" filetypes
- How to change the php upload with owner group and user
- chgrp: apache illegal group name error in Mac OS X
- Is there an equivalent windows command for chmod?
- Correct permissions for Tomcat installation on CentOS
- Need to reboot Xubuntu to make chgrp work?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
There is no such a variant because the two operations
chmod(2)andchown(2)are implemented by distinct system calls.Getting away with
chmodandchownYou might be looking for such a variant of
chmodandchownbecause of security issues. If this is the case, you can use the following strategy:This way you avoid potential security issues associated to successive calls to
chmodandchownor tochownandchmod.The
install/opentrickThe only system call setting mode flags and ownership information at the same time might be
open(2). So, you could use a process impersonating the target owner opening the file with the appropriate mode. This is probably whatinstalldoes, so if this is an option:installcommand.Doing this will break hard links, however. The solution based on
chownandchmoddoes not have that issue.