切换用户su命令、授权sudo命令、限制root远程登录

su命令

用来切换用户的

ctrl+d退出来

su - 彻底切换用户,包括自己的配置、环境变量

[root@aaa-01 ~]# whoami
root
[root@aaa-01 ~]# su - awei
上一次登录:一 5月  7 15:44:46 CST 2018pts/1 上
[awei@aaa-01 ~]$ id
uid=1000(awei) gid=1000(awei) 组=1000(awei) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[awei@aaa-01 ~]$ pwd
/home/awei

假如我们以普通用户user的身份去执行一条命令,但是不登陆到user用户上去也是可以的

以一个用户的身份去执行一条命令,格式:su - -c "你想要执行的命令" aming(用户)

比如我想用awei的身份执行一条命令但不登录到awei用户下去

su - -c "touch /tmp/awei.111" awei
[root@aaa-01 ~]# ls -lt /tmp/ |head
总用量 0
-rw-rw-r--. 1 awei awei  0 5月  14 19:11 awei.111
drwx------. 3 root root 17 5月   9 22:23 systemd-private-eb8518eb20f94917bcf9a0aff9694e6c-chronyd.service-0aB8Oo
drwx------. 3 root root 17 5月   9 22:23 systemd-private-eb8518eb20f94917bcf9a0aff9694e6c-vmtoolsd.service-UfEtXo
drwx------. 3 root root 17 5月   9 22:23 systemd-private-eb8518eb20f94917bcf9a0aff9694e6c-vgauthd.service-mRYdbp
-rw-r--r--. 2 root root  0 5月   8 17:46 1.txt.bak
-rw-r--r--. 1 root root  0 5月   3 16:48 1.txt
drwxr-xr-x. 2 root root  6 5月   3 15:15 awei2
drw-r--r--. 2 root root  6 5月   3 15:13 awei
-rw-------. 1 root root  0 4月  23 02:51 yum.log

假如我们创建用户时没有创建用户的家目录,所以当我们切换到这个用户的时候,就会显示成

以下操作我们可以让他恢复正常



sudo命令

授权普通用户拥有别的用户的权限,它可以让普通用户临时用指定用户的身份去执行一条命令,大部分时候是授权普通用户拥有root用户的权限,

要使用这个命令,需要编辑配置文件,etc/sudoers,但是直接编辑这个文件出错后系统不会报错,所以我们用visudo命令来编辑,如果编辑有问题,系统会提示错误

visudo 可以去编辑  往下翻找到图片上的位置,假如说我们临时让aming用户拥有root的身份

aming    ALL=(ALL)   ALL:表示所有命令权限

wKioL1lPqvOA82gCAABijznvXWs553.png


也可以只让它拥有指定的命令权限,但必须要写它的绝对路径如下图

注意这里要使用命令的绝对路径并且要用空格隔开;小用法" :set nu"可以查看文件的行数。

aming      ALL=(ALL)       /usr/bin/ls,/usr/bin/cd,/usr/bin/cat

wKiom1lPqw-SLEpnAABX6DMKGTE860.png

编辑之后,aming就可以拥有root的ls,cd,cat ,的权限了,需要输入用户的密码,第二次就不需要了

使用方式如下:

先su - aming登录普通用户

再在普通用户下执行root的命令:sudo /usr/bin/ls /root/

不需要输入密码的方法:

续编辑# visudo,在刚才编辑的地方添加一行命令,可以在使用sudo命令时,不需要再输入密码

visudo中还有可以给命令做别名的用法,用USER_CMD替代/usr/bin/ls,  /usr/bin/mv/,  /usr/bin/cat



限制root远程登录

使用root用户登录服务器有一定的危险,为安全起见,我们可以禁止root远程登录,只允许普通用户登录。首先输入#visudo,给普通用户做别名,然后设定规则,让普通用户拥有任何身份,执行su命令无需密码



限制root远程登录,首先修改配置文件/etc/ssh/sshd_config,输入/Root搜索,将#PermitRootLogin yes修改为PermitRootLogin no,保存配置文件,重启sshd服务# systemctl restart sshd.service,这样我们就成功的限制了root远程登陆




猜你喜欢

转载自blog.51cto.com/12922638/2119573