Linux系统基础-复习

1.一切皆文件;

2.虚拟终端(terminal):Ctrl+Alt+F1-F6 一共7个

3.su命令(switch user)
su命令选项
-, -l, --login   登录并改变到所切换的用户环境;

-c, --commmand=COMMAND  执行一个命令,然后退出所切换到的用户环境;

[qq@nginx ~]$ su - root
Password:
[root@nginx ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[qq@nginx ~]$ su - root -c ls
Password:
anaconda-ks.cfg  install.log  install.log.syslog  t.sh
uid=504(qq) gid=504(qq) groups=504(qq) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c102
[qq@nginx ~]$ su - root -c 'ls /usr'
Password:
bin  etc  games  include  lib  libexec    local  lost+found  sbin  share    src  tmp
[qq@nginx ~]$ id
uid=504(qq) gid=504(qq) groups=504(qq) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c102


4.sudo
sudo比su安全,不需要知道root的密码,sudo使用当前用户密码。
选项:

-b 在后台执行指令。

-h 显示帮助。

-k 结束密码的有效期限,也就是下次再执行sudo时便需要输入密码。

-l 列出目前用户可执行与无法执行的指令。

-s<shell>  执行指定的shell。

-u<user> 以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。

-v 延长密码有效期限5分钟。

-V 显示版本信息

sudo su - 的执行过程
先执行sudo 因没有指定帐号,所以以root作为新的身份来运行,然后执行su -,因新的执行身份为root,所以不需要输入root的密码(root 执行su命令不需要输入密码)。


对比
[qq@nginx ~]$sudo   如果不带用户,则表示以root作为新的身份来运行

[qq@nginx ~]$sudo -u qq 表示以qq用户身份来运行

sudo -s  和 sudo su - 的不同点
sudo -s  和 sudo su - 都是切换到root的,但他们的所执行的shell是不一样的。
sudo -s
将qq用户的shell 改为/bin/tcsh

[qq@nginx ~]$ echo $SHELL
/bin/tcsh
[qq@nginx ~]$ sudo -s
[sudo] password for qq:
[root@nginx qq]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@nginx qq]# echo $SHELL
/bin/tcsh
sudo su -
[qq@nginx ~]$ sudo su -
[root@nginx ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@nginx ~]# echo $SHELL
/bin/bash





你可能感兴趣的:(linux,Linux系统基础)