su命令
用来切换用户的
ctrl+d退出来
su - 彻底切换用户,包括自己的配置、环境变量
[[email protected] ~]# whoami root [[email protected] ~]# su - awei 上一次登录:一 5月 7 15:44:46 CST 2018pts/1 上 [[email protected] ~]$ id uid=1000(awei) gid=1000(awei) 组=1000(awei) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 [[email protected] ~]$ pwd /home/awei
假如我们以普通用户user的身份去执行一条命令,但是不登陆到user用户上去也是可以的
以一个用户的身份去执行一条命令,格式:su - -c "你想要执行的命令" aming(用户)
比如我想用awei的身份执行一条命令但不登录到awei用户下去
su - -c "touch /tmp/awei.111" awei [[email protected] ~]# 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:表示所有命令权限
也可以只让它拥有指定的命令权限,但必须要写它的绝对路径如下图
注意这里要使用命令的绝对路径并且要用空格隔开;小用法" :set nu"可以查看文件的行数。
aming ALL=(ALL) /usr/bin/ls,/usr/bin/cd,/usr/bin/cat
编辑之后,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远程登陆
原文地址:http://blog.51cto.com/12922638/2119573