对于习惯了windows操作系统的用户来说,很多linux命令不熟悉也不清楚是什么意思?很多网友在问: linux sudo是什么意思? 在命令前 加sudo有什么用? 下面IT备忘录小编就给大家详细的解答下sudo命令的含义。
linux sudo命令详解
一、sudo命令介绍
sudo命令来自于英文词组[super user do]的缩写,中文译为[超级用户才能干的事]。
sudo的功能是用于授权普通用户执行管理员命令,允许普通用户执行一些或者全部的root命令,如:halt,reboot,shutdown、init等等。
这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性。sudo是对Shell的一个代替,它是面向每个命令的。
sudo 与su命令最大的不同就是:
使用su命令变更用户身份需要将管理员的账户密码告诉他人,总感觉心里不踏实,这时候有了sudo命令的用武之地。
使用sudo服务可以授权某个指定的用户去执行某些指定的命令,在满足工作需求的前提下尽可能少的放权,保证服务器的安全。
配置sudo必须通过编辑/etc/sudoers文件,而且只有超级用户才可以修改它。
sudo命令的主要特性:
sudo能够限制用户只在某台主机上运行某些命令。
sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。
sudo使用时间戳文件日志来执行类似的[检票]系统。当用户调用sudo并且输入他的密码时,用户获得了一张存活期为5分钟的票(这个值可以在/etc/sudoers设置)
sudo的配置文件是/etc/sudoers,属性必须为0440,它允许系统管理员集中地管理用户的使用权限和使用主机。
二、检测是否安装了sudo
[root@localhost ~]# rpm -q sudo sudo-1.6.8p12-4.1
三、 sudo命令语法格式及常用选项
我们用 sudo --help 来查看语法格式和常用的命令:
[root@localhost ~]# sudo --help
sudo - 以其他用户身份执行一条命令
usage: sudo -h | -K | -k | -V usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user] usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command] usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-T timeout] [-u user] [VAR=value] [-i|-s] [<command>] usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-T timeout] [-u user] file ... 选项: -A, --askpass 使用助手程序进行密码提示 -b, --background 在后台运行命令 -C, --close-from=num 关闭所有 >= num 的文件描述符 -E, --preserve-env 在执行命令时保留用户环境 --preserve-env=list 保留特定的环境变量 -e, --edit 编辑文件而非执行命令 -g, --group=group 以指定的用户组或 ID 执行命令 -H, --set-home 将 HOME 变量设为目标用户的主目录。 -h, --help 显示帮助消息并退出 -h, --host=host 在主机上运行命令(如果插件支持) -i, --login 以目标用户身份运行一个登录 shell;可同时指定一条命令 -K, --remove-timestamp 完全移除时间戳文件 -k, --reset-timestamp 无效的时间戳文件 -l, --list 列出用户权限或检查某个特定命令;对于长格式,使用两次 -n, --non-interactive 非交互模式,不提示 -P, --preserve-groups 保留组向量,而非设置为目标的组向量 -p, --prompt=prompt 使用指定的密码提示 -r, --role=role 以指定的角色创建 SELinux 安全环境 -S, --stdin 从标准输入读取密码 -s, --shell 以目标用户运行 shell;可同时指定一条命令 -t, --type=type 以指定的类型创建 SELinux 安全环境 -T, --command-timeout=timeout 在达到指定时间限制后终止命令 -U, --other-user=user 在列表模式中显示用户的权限 -u, --user=user 以指定用户或 ID 运行命令(或编辑文件) -V, --version 显示版本信息并退出 -v, --validate 更新用户的时间戳而不执行命令 -- 停止处理命令行参数
四、配置sudo
配置sudo必须通过编辑/etc/sudoers文件,而且只有超级用户才可以修改它,还必须使用visudo编辑。之所以使用visudo有两个原因,一是它能够防止两个用户同时修改它;二是它也能进行有限的语法检查。所以,即使只有你一个超级用户,你也最好用visudo来检查一下语法。
visudo默认的是在vi里打开配置文件,用vi来修改文件。我们可以在编译时修改这个默认项。visudo不会擅自保存带有语法错误的配置文件,它会提示你出现的问题,并询问该如何处理,就像:
>>> sudoers file: syntax error, line 22 <<
此时我们有三种选择:键入[e]是重新编辑,键入[x]是不保存退出,键入[Q]是退出并保存。如果真选择Q,那么sudo将不会再运行,直到错误被纠正。
temp_banner("c01");查看更多关于linux sudo是什么意思 linux sudo命令详解的详细内容...