su命令(切换用户)
格式:su [-] username
后面可以跟-,也可以不跟,加上-之后可以彻底切换过去,包括把各种变量也切换过去。
切换用户
[[email protected] ~]# su - user5
[[email protected] ~]$ whoami
user5
如何切换用户的同时执行一条命令呢 su - -c “命令” 用户
[[email protected] ~]# su - -c "touch /tmp/321.txt" user5
[[email protected] ~]# su - user5
上一次登录:六 4月 7 19:39:51 CST 2018pts/2 上
[[email protected] ~]$ ls -lt /tmp/ |head
总用量 364
-rw-rw-r--. 1 user5 user5 0 4月 7 19:39 321.txt
drw-rw-r--. 2 root root 65 3月 31 01:17 zhang
drwxr-xr-x. 2 root root 19 3月 31 01:15 dior1
drwxr-xr-x. 2 root root 19 3月 31 01:15 dior
sudo命令 指定命令
概念:使用sudo命令执行一个只有root才能执行的命令,仅此一个。
但是还是需要输入密码,这个密码是用户本身的密码。
只有root用户才能使用sudo命令,普通用户想要使用sudo是需要root预先设定的,我们可以使用visudo命令编辑相关的配置文件,/etc/sudiers。
如何设定一个用户临时拥有sudo命令,需要root预先设定
首先查看sudo的配置文件
visdo #查看这个配置文件直接在里面编辑
找到92行, :set nu 显示行数,然后在:92 就可以查到这个行数了
输入i进入编辑模式,编辑完后,按ESC 再输入:wq保存退出。
这里,后面的是要写绝对路径,用逗号分隔后,后面需要加一个空格。
在93行添加一个用户临时拥有root权限,第一个ALL默认模仿上面的,括号里面的是用户,将被授予哪个用户的权限,默认就好啦,
第二个ALL 是所有的命令。
我们在visudo里面设置了目录的绝对路径后,普通用户应该怎么使用sudo命令呢
[[email protected] ~]$ ls /root/
ls: 无法打开目录/root/: 权限不够
[email protected] ~]$ sudo /usr/bin/ls /root/
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
#1) 尊重别人的隐私。
#2) 输入前要先考虑(后果和风险)。
#3) 权力越大,责任越大。
[sudo] user5 的密码:
111 anaconda-ks.cfg dior dior2 dior3 #这里就可以查看见root目录下的东西了。
限制root远程登陆
-
- 只可以限制远程登陆。
-
- 远程服务的配置文件在 /etc/ssh/sshd_config,sshd服务配置文件
修改配置文件
[[email protected] ~]# vi /etc/ssh/sshd_config
在这里,我们找到38行,把#注释去掉,把yes改成no,禁止root用户登陆。
配置文件修改完成后,重启服务
[[email protected] ~]# systemctl restart sshd.service
我们可以用sudo来进行登陆,之前有配置过。
sudo su - root
原文地址:http://blog.51cto.com/13646023/2095457