3.7su命令linux
[root@MOMOCO-02 ~]# whoami安全
rootbash
【查看当前的用户】ssh
[root@MOMOCO-02 ~]# su - user01ide
上一次登陆:三 12月 27 15:11:18 CST 2017pts/0 上ui
【切换用户的命令】spa
[user01@MOMOCO-02 ~]$ whoamirest
user01get
[user01@MOMOCO-02 ~]$ idit
uid=1001(user01) gid=1001(user01) 组=1001(user01) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
【产看当前的用户id号,也能够看当当前的用户是谁。】
[user01@MOMOCO-02 ~]$ 登出【ctrl+d】
[root@MOMOCO-02 ~]# pwd
/root
[root@MOMOCO-02 ~]# su user01
【不能完全的切换到user用户里】
[user01@MOMOCO-02 root]$ pwd
/root
【你不是用-他的家目录不能切换。】
[user01@MOMOCO-02 ~]$ ls -la
总用量 16
drwx------. 2 user01 user01 83 12月 27 15:18 .
drwxr-xr-x. 5 root root 50 12月 27 15:04 ..
-rw-------. 1 user01 user01 17 12月 27 15:18 .bash_history
-rw-r--r--. 1 user01 user01 18 8月 3 05:11 .bash_logout
-rw-r--r--. 1 user01 user01 193 8月 3 05:11 .bash_profile
-rw-r--r--. 1 user01 user01 231 8月 3 05:11 .bashrc
[root@MOMOCO-02 ~]# su - -c "touch /tmp/1.2.txt" gyblinux
【-c选项是指定某个用户运行某个命令,这个是指定gyblinux用户在/tmp/目录下建立一个1.1.txt文件】
[root@MOMOCO-02 ~]# ls -lt /tmp/ |head -n2
总用量 4
-rw-rw-r--. 1 gyblinux user02 0 12月 27 15:38 1.2.txt
【文件建立成功,他的所属组是user02,以下能够看到gyblinux的所属组】
[root@MOMOCO-02 ~]# id gyblinux
uid=1000(gyblinux) gid=1002(user02) 组=1002(user02)
[root@MOMOCO-02 ~]# su - gyblinux
上一次登陆:三 12月 27 15:51:57 CST 2017pts/0 上
[gyblinux@MOMOCO-02 ~]$ su - user01
密码:
su: 鉴定故障
【咱们使用普通用户登陆普通用户,这个错我使咱们锁定了user01的密码】
[gyblinux@MOMOCO-02 ~]$ su - user01
密码:
上一次登陆:三 12月 27 15:52:10 CST 2017pts/0 上
最后一次失败的登陆:三 12月 27 15:57:11 CST 2017pts/0 上
最有一次成功登陆后有 2 次失败的登陆尝试。
【若是用户密码没有被锁定是能够登陆的】
[root@MOMOCO-02 ~]# su - user01
上一次登陆:三 12月 27 16:05:36 CST 2017pts/0 上
[user01@MOMOCO-02 ~]$ su - user3
密码:
su: 警告:没法更改到 /home/user3 目录: 没有那个文件或目录
-bash-4.2$
【咱们发现这个前缀和前面的不同了,这是由于这个用户没有家目录的缘由。咱们看下面的操做就能够恢复了。】
[root@MOMOCO-02 ~]# id user3
uid=1003(user3) gid=1003(user3) 组=1003(user3)
【查看user3的gid】
[root@MOMOCO-02 ~]# mkdir /home/user3
【在家目录中建立user3】
[root@MOMOCO-02 ~]# chown user3:user3 /home/user3
【更改user3目录的所属主和所属组】
[root@MOMOCO-02 ~]# su - user3
上一次登陆:三 12月 27 16:06:24 CST 2017pts/0 上
-bash-4.2$ ls -la
总用量 0
drwxr-xr-x. 2 user3 user3 6 12月 27 16:13 .
drwxr-xr-x. 6 root root 63 12月 27 16:13 ..
-bash-4.2$ 登出
[root@MOMOCO-02 ~]# su - gyblinux
上一次登陆:三 12月 27 15:58:51 CST 2017pts/0 上
[gyblinux@MOMOCO-02 ~]$ ls -la
总用量 16
drwx------. 2 gyblinux user02 98 12月 27 15:45 .
drwxr-xr-x. 6 root root 63 12月 27 16:13 ..
-rw-r--r--. 1 gyblinux user02 0 12月 27 15:45 1.2.txt
-rw-------. 1 gyblinux user02 169 12月 27 16:02 .bash_history
-rw-r--r--. 1 gyblinux user02 18 8月 3 05:11 .bash_logout
-rw-r--r--. 1 gyblinux user02 193 8月 3 05:11 .bash_profile
-rw-r--r--. 1 gyblinux user02 231 8月 3 05:11 .bashrc
【咱们建立了家目录在登陆仍是不行,由于家目录里面没有3个.bash*的文件】
[gyblinux@MOMOCO-02 ~]$ 登出
[root@MOMOCO-02 ~]# ls -la /etc/skel/
总用量 24
drwxr-xr-x. 2 root root 62 12月 5 22:25 .
drwxr-xr-x. 74 root root 8192 12月 27 16:06 ..
-rw-r--r--. 1 root root 18 8月 3 05:11 .bash_logout
-rw-r--r--. 1 root root 193 8月 3 05:11 .bash_profile
-rw-r--r--. 1 root root 231 8月 3 05:11 .bashrc
【系统自带的3个.bash*文件】
[root@MOMOCO-02 ~]# cp /etc/skel/.b* /home/user3
[root@MOMOCO-02 ~]# chown -R user3:user3 /home/user3
【更改/home/user3/目录及目录的所属主和所属组】
【咱们把这三个文件拷贝到家目录的user3目录里再次登陆user3用户】
[root@MOMOCO-02 ~]# su - user3
上一次登陆:三 12月 27 16:14:34 CST 2017pts/0 上
[user3@MOMOCO-02 ~]$ ls -la
总用量 16
drwxr-xr-x. 2 user3 user3 83 12月 27 16:17 .
drwxr-xr-x. 6 root root 63 12月 27 16:13 ..
-rw-------. 1 user3 user3 47 12月 27 16:26 .bash_history
-rw-r--r--. 1 user3 user3 18 12月 27 16:17 .bash_logout
-rw-r--r--. 1 user3 user3 193 12月 27 16:17 .bash_profile
-rw-r--r--. 1 user3 user3 231 12月 27 16:17 .bashrc
【此次就能够像以前gyblinux用户的前缀了】
[gyblinux@MOMOCO-02 ~]$ su -
密码:
上一次登陆:三 12月 27 16:35:00 CST 2017pts/0 上
最后一次失败的登陆:三 12月 27 16:35:53 CST 2017pts/0 上
最有一次成功登陆后有 1 次失败的登陆尝试。
【咱们也能够从普通用户登陆到root用户可是首先你要知道root用户的密码】
3.8sudo命令
这个命令是让普通用户临时运行root的命令,下面咱们来看sudo的配置文件。
[root@MOMOCO-02 ~]# visudo
【咱们运行visudo命令进入sudo的配置文件,其实/etc/sudoers.tmp才真正是sudo的配置文件。可是咱们用绝对路径配置文件的时候若是你的语法有错误他不会提示你,并且这个文件比较重要。而咱们用sudo来写若是有错误他会提示咱们】
[root@MOMOCO-02 ~]# visudo
【咱们找到这一行模仿root编辑一下】
>>> /etc/sudoers: 语法错误 near line 93 <<<
如今作什么?
选项有:
从新编辑 sudoers 文件(e)
退出,不保存对 sudoers 文件的更改(x)
退出并将更改保存到 sudoers 文件(危险!)(Q)
如今作什么?e
【能够看到咱们错误的提示】
【正确的编辑是使用绝对路径在路径的后面加上逗号在加个空格】这句语言的意思就是让gyblinux用户拥有root用的身份去执行这几条命令
【上面说在93行有错误咱们怎么找多少行那?你进入编辑的文件而后:set nu 他就会显示行号】
[root@MOMOCO-02 ~]# su - gyblinux
上一次登陆:三 12月 27 19:15:16 CST 2017pts/0 上
[gyblinux@MOMOCO-02 ~]$ ls /root/
ls: 没法打开目录/root/: 权限不够
【在普通目录下咱们是不能ls /root/ 使用root用户的,可是咱们使用下面的sudo就能够。】
[gyblinux@MOMOCO-02 ~]$ sudo /usr/bin/ls /root/
咱们信任您已经从系统管理员那里了解了平常注意事项。
总结起来无外乎这三点:
#1) 尊重别人的隐私。
#2) 输入前要先考虑(后果和风险)。
#3) 权力越大,责任越大。
[sudo] gyblinux 的密码:
123 2.txt 3 3.txt 3.txt~ anaconda-ks.cfg
【这里他让咱们输入gyblinux的用户密码,第一次使用他会让咱们输入密码,第二次自后就不让咱们输入密码了。】
[gyblinux@MOMOCO-02 ~]$ sudo /usr/bin/ls /root/
123 2.txt 3 3.txt 3.txt~ anaconda-ks.cfg
【这样咱们就可使用ls /root/ 使用root用户了】
[gyblinux@MOMOCO-02 ~]$ sudo /usr/bin/cat /root/4.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
注意:咱们这样设置就会避免系统遭到破坏,咱们就给普通用户要用的root命令。也防止root密码的泄露。
【我不想输入本身的密码怎么办那就加上NOPASSWD: 就好了。快捷方式光标定位到要复制的那一行而后按yy再按p就会在下面复制本行。】
[root@MOMOCO-02 ~]# visudo
[root@MOMOCO-02 ~]# su - user01
上一次登陆:三 12月 27 19:43:42 CST 2017pts/0 上
[user01@MOMOCO-02 ~]$ sudo /usr/bin/ls /root/
123 2.txt 3 3.txt~ 4.txt anaconda-ks.cfg
【一组为单位给我要用的命令作个组的别名,把你要用的命令加入到这里面去。而后在下面的时候就直接使用GYB_CMD就能够了。】
[root@MOMOCO-02 ~]# visudo
[root@MOMOCO-02 ~]# su - gyblinux
上一次登陆:三 12月 27 19:54:21 CST 2017pts/0 上
[gyblinux@MOMOCO-02 ~]$ sudo ls /root/
123 2.txt 3 3.txt~ 4.txt anaconda-ks.cfg
3.9限制root远程登陆
为了安全起见咱们通常不会让普通用户知道密码,不会让root远程。
[root@MOMOCO-02 ~]# visudo
【咱们能够登陆普通用户,而后在普通用户里切换到root用户。】
【设置一个用户组】
【容许用户组GYBADMINS运行su命令。】
[root@MOMOCO-02 ~]# su - gyblinux
上一次登陆:三 12月 27 20:00:48 CST 2017pts/0 上
【进入普通用户】
[gyblinux@MOMOCO-02 ~]$ su -
密码:
【咱们ctrl+c】
[gyblinux@MOMOCO-02 ~]$ sudo su -
上一次登陆:四 12月 28 08:13:10 CST 2017从 192.168.119.1pts/1 上
[root@MOMOCO-02 ~]# 登出
[gyblinux@MOMOCO-02 ~]$ 登出
【咱们用sudo进入root用户,能够看到不须要密码。可是这个仍是不够安全,由于进入root用户能够本身修改root的密码,这样仍是不安全。因此这个还不是咱们想要的。】
【关闭root远程登陆】
[root@MOMOCO-02 ~]# vi /etc/ssh/sshd_config
【进入这个配置文件,按下面的方法配置】
[root@MOMOCO-02 ~]# systemctl restart sshd.service
【重启sshd的配置服务】
咱们再次连接momoco02
【当咱们输入对的密码时也是没法登陆root的】
那咱们就用普通用户登陆,登陆方法以下:
【进入普通用户咱们在进入root用户】
[gyblinux@MOMOCO-02 ~]$ su -
密码:
【咱们直接su - 他会让咱们输入密码。咱们不知道ctrl+c取消】
[gyblinux@MOMOCO-02 ~]$ sudo su -
【咱们可使用sudo命令就如root用户下】
上一次登陆:四 12月 28 10:01:55 CST 2017从 192.168.119.1pts/0 上
最后一次失败的登陆:四 12月 28 10:03:23 CST 2017从 192.168.119.1ssh:notty 上
最有一次成功登陆后有 1 次失败的登陆尝试。
为了之后方便作实验咱们仍是容许root用户远程登陆,咱们把以前的配置vi /etc/ssh/sshd_config文件改回来就好了。