linux下强制踢掉登陆用户 查看机器中登陆的用户 [root@sunsyk ~]# w 16:29:02 up 2 days, 2:35, 5 users, load average: 0.03, 0.05, 0.01 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/1 :0.0 Tue15 2days 1:44 0.04s -bash root pts/2 :0.0 Tue15 46:42m 0.05s 0.05s bash root pts/3 :0.0 Tue15 2days 0.02s 0.02s bash root pts/4 172.20.52.114 14:17 58:48 0.16s 0.03s sqlplus root pts/5 172.20.52.114 15:31 0.00s 0.03s 0.00s w 我把pts/1踢掉(只有root才能去踢掉用户) [root@sunsyk ~]# pkill -kill -t pts/1 [root@sunsyk ~]# pkill -kill -t pts/2 [root@sunsyk ~]# pkill -kill -t pts/3 查看是不是踢掉 [root@sunsyk ~]# w 16:34:16 up 2 days, 2:40, 2 users, load average: 0.00, 0.05, 0.02 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/4 172.20.52.114 14:17 1:04m 0.16s 0.03s sqlplus root pts/5 172.20.52.114 15:31 0.00s 0.03s 0.00s w 以login命令登录: 在用户登录系统期间,除了可使用“su -”命令之外,也可以用“login”命令来改变身份,甚至可以登录其他的主机。如果用“login”命令来改变身份,只要直接在命令后输入将要改变的用户名即可:[root@ns1 root]# login caroline ->改变用户名为caroline,若要登录其他的主机,需要使用“-h”参数来配合“login”命令:[root@ns1 root]# login -h linux2 ->登录名为Linux2的主机。 以rlogin命令登录: 除了使用“login”命令外,“rlogin”也可以用来登录远程主机,它的用法很简单。下面是一个连接到linux2.jschouse.com的范例: [root@ns1 root]# rlogin linux2.jschouse.com ->登录linux2.jschouse.com password: ****** ->默认是以相同名登陆,所以没有出现“login”信息 Login incorrect ->如果用来登录的名称与当前的用户名不同,可直接按“Enter”,且忽略错误信息 Login: jack ->重新输入不同的用户名 Password: ****** ->密码 /etc/nologin文件的使用: 如果希望只有root可以登录主机,其他账号都不可以登录,可以在/etc目录下添加名为“nologin”的文件,在该文件中只要随意输入几个字符即可,因为只要系统发现该文件的存在就会禁止其他用户登录。 系统注销: 前面介绍了以“login”命令来改变身份,甚至可以登录其他的主机,而与login相对的命令“logout”,它可以使目前登录的用户注销系统,以便其他用户登录。这个命令的用法很简单,只要输入“logout”即可登录系统:[root@ns1 root]# logout 前面介绍过,Linux系统是一个多用户操作系统,系统中每一个用户的使用权限都需要由系统管理员来设定。这一节将介绍一些系统管理员对用户和用户组进行管理的命令。 4.6.1 创建新用户 useradd命令(也可以使用adduser)用来创建新的用户账号,其命令格式如下:
成功创建一个新用户以后,在/etc/passwd文件中就会增加一行该用户的信息,其格式如下: 〔用户名〕:〔密码〕:〔UID〕:〔GID〕:〔身份描述〕:〔主目录〕:〔登陆Shell〕 其中个字段被冒号“:”分成7各部分。 由于小于500的UID和GID一般都是系统自己保留,不用做普通用户和组的标志,所以新增加的用户和组一般都是UID和GID大于500的。 例如使用如下命令: 〔root@localhost root〕# useradd user1 将会创建一个名为userl的用户,关于用户管理命令已经介绍过,在此也不做更多的介绍了。 执行useradd命令的结果如图11-13所示。
4.6.2 设置和修改用户口令passwd passwd命令用来设置和修改用户命令,只有超级用户和用户自己可以修改密码,其他的普通用户没有修改其他用户密码的权利。其命令如下: # passwd〔用户名〕 为避免输入密码是被人注意到有多少位,Linux并不采用类似Windows的密码回显〔显示为*号〕,所以,输入的这些字符是看不见的。例如,为新建的userl用户设置密码可使用如下命令: 〔root@localhost root〕# passwd user1 根据系统的提示信息输入两次密码,系统会显示: passwd ::all authentication tokens updated successfully 表示修改密码成功了。新建用户的工作只有在该用户设置了口令后才算完成,否则无法使用该用户名登陆。
4.6.3 修改用户信息usermod usermod命令用来修改用户信息,其命令格式如下: # usermod〔选项〕〔用户名〕 常用命令选项11-20所示。
例如,下面的命令修改用户信息: 〔root@localhost root〕# usermod –d/home/user2 –s/bin/bash user2 将用户名user2的主目录路径设置在/home/user1,登陆的Shell设置为/usr/bin/gcc。 一般情况下usermod命令会参照命令指令的部分修改用户账号信息。但usermod不允许改变正在线上的使用者账号名称,因此,当用usermod来改变用户账号信息时,必须确认这名没在电脑上执行任何程序。 4.6.4 新建组群groupadd groupadd命令用来建立新的用户组,其命令格式如下: # groupadd〔选项〕〔用户名称〕 常用选项有: -g:GID值。除非使用-o参数不然该值必须是唯一,不可相同,数值不可为负。 GID值预设为最小不得小于500而逐次增加。0—499传统上是保留系统账号使用。 -f:新增的一个已经存在的群组账号,系统会出现错误讯息然后结束groupadd. 如果是这样的情况,不会新增这个群组(如果是这个情况,系统不会在新增一次)。也可同时加上-g选项,当你加上一个 GID时,此时GID就不用是唯一值,可不加-o参数,建好的群组会显示建立后的结果(adding a group as neither –g or –o options were specified),这是Red Hat Linux额外增设的选项。 4.6.5 删除用户userdel userdel命令用来删除已经存在的用户及相关的文档,其命令格式如下: # userdel 〔选项〕用户名 userdel命令的常用选项: -r将用户目录下的文档一并删除。在其他位置上的文档也将一一找出并删除。 Userdel不允许移除正在线上的用户账号,因此,如果想删除这类用户账号,必须先杀掉用户在系统上运行的程序才能进行账号删除。 4.6.6 删除群组groupdel groupdel命令用来删除已经存在的用户组,其命令格式如下: # groupdel组名 同userdel类似,如果有任何一个组内的用户在上线,就不能移除该用户组,因此,如果组内有用户在线的话,最好先移出该用户,然后在删除该用户。
4.6.7 用户间切换su # su〔用户名〕 su命令的常见用法是变成跟用户或超级用户,如果发出不带用户名的su命令,则系统提示输入根口令,输入之后则可换为根用户。如果登陆为根用户,则可以用su命令成为系统上任何用户而不需要口令。 例如,如果登陆为user1,要切换为user2,只要用如下命令: # su user2 然后系统提示输入user2口令,输入正确的口令之后就可以切换到user2。完成之后就可以用exit命令返回到user1。
4.6.8 查看当前在线用户who who命令主要用于查看当前在线上的用户情况。这个命令非常有用。如果用户想和其他用户建立即使通讯,比如使用talk命令,那么首先要确定的就是该用户确实在线上,不然talk进程就无法建立起来。 又如,系统管理员希望监视每个登陆的用户此时此刻的所作所为,也要使用who命令。Who命令的常用命令格式和常用选项如下: # who〔选项〕 命令who常用命令选项如表4-21所示。 表 4-21 命令who常用命令选项
所有的选项是可选的,例如,使用命令: 〔root@localhose root〕# who-aH |
|