关于为用户创建带sudo的命令别名的可行性咨询
为用户创建带sudo的命令别名的可行性解答
当然可以实现啦!你想给vmstat命令配置带sudo的别名是完全可行的,不过得注意正确的写法和配置方式,我给你详细说明:
正确的别名写法
你最初写的alias /usr/bin/vmstat='sudo /usr/bin/vmstat'其实不太符合常规用法,因为别名一般是用命令的短名称来替代完整命令。更实用的写法是:alias vmstat='sudo /usr/bin/vmstat'这样用户只要输入
vmstat,系统就会自动以sudo权限执行对应的命令。如果你一定要针对完整路径的命令设置别名,原写法语法上是成立的,但实际使用时很少这么做——毕竟直接输短命令更方便。让别名生效的方式
- 临时生效:直接在终端里输入上述别名命令,当前终端会话内有效,关闭终端后别名就会消失。
- 永久生效:把别名命令添加到用户主目录的shell配置文件中:
- 如果用的是Bash,就编辑
~/.bashrc文件; - 如果用的是Zsh,就编辑
~/.zshrc文件;
添加完成后,执行source ~/.bashrc(对应你的shell配置文件),就能让更改立即生效,之后每次登录终端都会自动加载这个别名。
- 如果用的是Bash,就编辑
可选:实现免密码执行
如果不想每次使用这个别名时都输入sudo密码,可以修改sudoers配置:- 用
visudo命令打开sudoers配置文件(一定要用这个命令,它会检查语法错误,避免配置失误导致sudo无法使用); - 添加一行配置:
你的用户名 ALL=(ALL) NOPASSWD: /usr/bin/vmstat
保存退出后,用户执行
sudo /usr/bin/vmstat(包括通过别名调用)就不需要输入密码了。- 用
备注:内容来源于stack exchange,提问作者Mirza Sajawal Baig
相关产品推荐
相关产品推荐

