您的位置:首页 > 运维架构 > Linux

3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

2017-06-15 00:09 591 查看
3.7 su命令

3.8 sudo命令

3.9 限制root远程登录

3.7 su命令

su - 切换会默认切换到最先登录用户,会完全的切换到用户下
su 用户名 会切换用户但不会切换环境变量
su 并不是为了切换用户使用,而是为了切换到某个用户下执行对应命令
使用方法 su - -c “命令” 在那个用户需执行的命令
例:
su - -c "touch /tmp/aming.111" aming
/etc/skel 模板目录
切换到不存在家目录的用户下会显示成
-bash-4.2$
正常情况下:
[root@aminglinux-01 ~]#
普通用户的命令提示行以 $ 结尾
超级用户的命令提示行以 # 结尾

3.8 sudo命令

因为su切换用户的时候涉及到需要先知道root 的密码,有不安全的隐患,所有就有了在不知道或不使用root密码时候用的工具 sudo
为了是系统更加安全,sudo他可以让普通用户临时去执行一条命令,以指定用户的身份去执行;通常都是以普通用户授权root的身份\可以使用 visudo (vi /etc/sudoers 也可以)进行编辑新增这个规则,,前提你得有root权限,新增规则,有对用户,对组,等 编辑配置文件:可以使用 / 快速搜索关键字
visudo如果有语法错误,他是可以检查到的
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
aming   ALL=(ALL)       /usr/bin/ls, /usr/bin/mv, /usr/bin/cat
user5   ALL=(ALL)       NOPASSWD: /usr/bin/ls, /usr/bin/mv, /usr/bin/cat
解释:
让aming用户拥有root的权限,去执行/usr/bin/ls,/usr/bin/mv,/usr/bin/cat;
让user5用户拥有root的权限,去执行/usr/bin/ls,/usr/bin/mv,/usr/bin/cat;且不需要输入命令
修改完毕,现在可以用aming帐号登录,然后用命令sudo ,使用ls,mv,cat命令进行操作,第一次执行需要输入指定用户的密码\例:
sudo /usr/bin/ls /root
sudo ls /root
用户别名:
# User_Alias ADMINS = jsmith, mikem
ADMINS虚拟用户,命令的别名:
# Cmnd_Alias
例:
Cmnd_Alias ADMING_CMD = /usr/bin/ls, /usr/bin/mv, /usr/bin/cat
启用别名以后,用户授权的地方就用使用ADMING_CMD这个代替运行命令的绝对路径 例:
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
aming   ALL=(ALL)       ADMING_CMD
user5   ALL=(ALL)       NOPASSWD: ADMING_CMD
进行组的限制 例:
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
然后修改用户,使其属于root组(wheel) 命令如下:
#usermod -g root aming
修改完毕,现在可以用tommy帐号登录,然后用命令su – ,即可获得root权限进行操作。
单独授权某条命令以后会相对的安全很多
:set nu 可以查看文件的行数

3.9 限制root远程登录

逻辑概念:

首先 root不能登录

只允许登录普通用户

普通用户登录之后 su 登录 root

root密码是保密的,是没办法知道的

这时候就需要用sudo 去执行 su

修改访问规则:

# User_Alias ADMINS = jsmith, mikem
User_Alias AMINGS = aming, user5, user6
设置了用户的Alias
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
AMINGS  ALL=(ALL)   NOPASSWD: /usr/bin/su
让AMINGS 用户组群 拥有root权限 去执行 /usr/bin/su,且不需要输入密码限制root用户远程登录

vi /etc/ssh/sshd_config
PermitRootLogin no    不允许远程登录
保存退出
systemtl restart sshd.service       重启服务
最终结果:不能登录root,但可以使用 sudo su - root 登录root
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux 阿铭