1.bash -c “cmd string” :
如果用-c 那么bash 会从第一个非选项参数后面的字符串中读取命令,如果字符串有多个空格,第一个空格前面的字符串是要执行的命令,也就是$0, 后面的是参数,即$1, $2….
可以 su - user -c ‘COMMAND’
su -l user -c ‘COMMAND’
2.sudo:授权之后能够让某用户以另外一个用户的身份运行命令 (第一次执行sudo默认设置需要输入自己的密码)
方法:
#sudo
-l 查看自己sudo中的授予权限
-n 后台运行
-u 指定用户身份
依赖于配置文件:/etc/sudoers
可以直接visudo编辑配置文件并能自动检查语法错误
(1)root ALL=(ALL) ALL
管理员 在任何主机=用任何用户 运行任何命令
(2)%wheel ALL=(ALL) ALL
[NOPASSWD: ALL 或者可以设置无需键入密码 ]
在wheel组中的用户 在任何主机=用任何用户 运行任何命令
别名示例: