sudo命令的使用
2010-02-09 12:35
134 查看
Sudo 命令的使用
在linux中su用于切换用户
1--su USERNAME
改命令是在切换用户后不开启一个新的环境变量shell,也就是说仍然处在切换前用户的shell,具有切换前用户的权限。
2--su – USERNAME
在su 命令后加上“-”表示开启一个新的变量。Root用户在切换到普通用户时不需要输入密码。
3--sudo 是在不切换用户的情况下,以其他用户的身份执行一个命令。它能够限制指定用户在指定的主机上运行某些指定的命令。
/etc/sudoers是sudo命令的编辑文档
命令格式 User_Alias Host_Alias=(Runas_Alias) Commd_Alias
----注:
1. User_Alias可以是单个或多个用户,系统组(以%标识),网络组(以+标识)
2. Runas_Alias 可以是单个或多个用户,系统组(以%标识),网络组(以+标识),ID号(以#开头标识)
3. Host_Alias 使用主机名或IP,或一个网段
4. Commd_Alias :1命令;2目录(必须以/结尾)最好使用全路径;3other aliases
允许嵌套;允许使用通配符。
测试 sudo 命令
1 建立两个普通用户 liv poppy 添加到组stu
切换到liv 测试fdisk –l
2 在root用户下使用visudo命令编辑 /etc/sudoers文件
添加如下命令。让liv具有root用户使用fdisk的权限。
liv station73=(root) /sbin/fdisk
(注:使用sudo命令时加上命令的全路径)
3 下面在添加几个命令行 使liv能执行更多的命令
1.liv station73=NOPASSWD:/sbin/service,/sbin/ifconfig,/bin/mount
上诉命令都不输入密码
(注:在普通用户使用sudo命令时,系统会提示输入密码,验证身份,密码要输入的是普通用户的密码。系统确定使用sudo命令的是哪个用户,并记录至日志。若不想在使用某个命令时输入密码,在命令行前加上NOPASSWD: 默认是PASSWD )
2 liv station 73=/sbin/service/,NOPASSWD:/sbin/ifconfig,/bin/mount
执行service命令需输入密码,ifconfig,mount 不需要
2.liv station73=(poppy) /sbin/service,NOPASSWD:(root) /bin/mount
一个用户可以执行多个用户的某些命令
3.%stu station=NOPASSWD:NETWORKING./bin/
Stu组中的用户可以不输入用户密码执行文件中定义的NETWORKING ,以及目录/bin下的命令。还记得吗?目录后面必须加上/结尾
4 poppy ALL=(ALL) ALL
这个命令很危险 它是是poppy用户可以在任何主机上以任何用户执行任何命令。
测试方法相同。
Sudo 的特点是:给用户尽可能少的权限,但能完成他们的工作,所有在编辑SUDOERS文件时,注意不要让非法用户截取root权限。
在linux中su用于切换用户
1--su USERNAME
改命令是在切换用户后不开启一个新的环境变量shell,也就是说仍然处在切换前用户的shell,具有切换前用户的权限。
2--su – USERNAME
在su 命令后加上“-”表示开启一个新的变量。Root用户在切换到普通用户时不需要输入密码。
3--sudo 是在不切换用户的情况下,以其他用户的身份执行一个命令。它能够限制指定用户在指定的主机上运行某些指定的命令。
/etc/sudoers是sudo命令的编辑文档
命令格式 User_Alias Host_Alias=(Runas_Alias) Commd_Alias
----注:
1. User_Alias可以是单个或多个用户,系统组(以%标识),网络组(以+标识)
2. Runas_Alias 可以是单个或多个用户,系统组(以%标识),网络组(以+标识),ID号(以#开头标识)
3. Host_Alias 使用主机名或IP,或一个网段
4. Commd_Alias :1命令;2目录(必须以/结尾)最好使用全路径;3other aliases
允许嵌套;允许使用通配符。
测试 sudo 命令
1 建立两个普通用户 liv poppy 添加到组stu
切换到liv 测试fdisk –l
2 在root用户下使用visudo命令编辑 /etc/sudoers文件
添加如下命令。让liv具有root用户使用fdisk的权限。
liv station73=(root) /sbin/fdisk
(注:使用sudo命令时加上命令的全路径)
3 下面在添加几个命令行 使liv能执行更多的命令
1.liv station73=NOPASSWD:/sbin/service,/sbin/ifconfig,/bin/mount
上诉命令都不输入密码
(注:在普通用户使用sudo命令时,系统会提示输入密码,验证身份,密码要输入的是普通用户的密码。系统确定使用sudo命令的是哪个用户,并记录至日志。若不想在使用某个命令时输入密码,在命令行前加上NOPASSWD: 默认是PASSWD )
2 liv station 73=/sbin/service/,NOPASSWD:/sbin/ifconfig,/bin/mount
执行service命令需输入密码,ifconfig,mount 不需要
2.liv station73=(poppy) /sbin/service,NOPASSWD:(root) /bin/mount
一个用户可以执行多个用户的某些命令
3.%stu station=NOPASSWD:NETWORKING./bin/
Stu组中的用户可以不输入用户密码执行文件中定义的NETWORKING ,以及目录/bin下的命令。还记得吗?目录后面必须加上/结尾
4 poppy ALL=(ALL) ALL
这个命令很危险 它是是poppy用户可以在任何主机上以任何用户执行任何命令。
测试方法相同。
Sudo 的特点是:给用户尽可能少的权限,但能完成他们的工作,所有在编辑SUDOERS文件时,注意不要让非法用户截取root权限。
相关文章推荐
- Linux操作系统下Sudo命令的使用方法说明
- ubuntu下sudo命令不能使用问题
- CentOS 6.4 使用 sudo 命令
- 普通用户使用sudo命令借用root用户权限
- 使用sudo命令,免输入密码的方法
- 亚马逊ec2服务器上无法使用sudo执行npm命令的解决办法
- linux 下普通用户无法使用sudo命令的解决方法
- 免sudo使用docker命令
- 使用strace查看shell内置命令的系统调用(sudo亦然)
- sudo命令使用
- Linux sudo命令配置与使用
- su和sudo命令的区别与使用技巧
- linux下创建一个新用户,并能使用sudo命令
- /etc/sudoers文件设置为允许用户在不输入该用户的密码的情况下使用所有命令
- 使用sudo执行命令的时候提示找不到命令
- Linux crontab下关于使用date命令和sudo命令的坑
- Linux操作系统下Sudo命令的使用方法说明
- Linux/Ubuntu sudo命令详解使用格式和方法
- centos配置普通用户可以使用sudo命令临时获取root权限
- linux下因修改/etc/sudoers 从而导致sudo命令无法使用