如何禁止root用户远程登录
4个回答
展开全部
Linux系统下怎样限制Root用户远程登陆,下面介绍4种方法,在不同的linux系统,可能配置略有差异:
方法1:可以在/etc/default/login文件,增加一行设置命令:CONSOLE=/dev/tty01
这样设置后立即生效,无需重新引导,不过,这样做的同时也限制了局域网用户root登录,给管理员的日常维护工作带来诸多不便。
方法2:为了达到限制root远程登录,我们首先要分清哪些用户是远程用户(即是否通过另一台Windows系统或UNIX系统进行telnet登录),哪些用户是局域网用户。通过以下shell程序能达到此目的:
TY=`tty|cut-b9-12`
WH=`finger|cut-b32-79|grep"$TY"|cut-b29-39`
KK=`tty|cut-b6-9`
If["$KK"="ttyp"]
then
WH=$WH
else
WH="local"
fi
以上Shell命令程序中,WH为登录用户的主机IP地址,但如果在/etc/hosts文件中,定义了IP地址和机器名之间的对应关系,则WH为用户登录的主机名。假设连接到局域网中的终端服务器的IP地址为:
99.57.32.18,那么应在/etc/hosts文件中加入一行:
99.57.32.18terminal_server
所有通过99.57.32.18终端服务器登录到主机的终端中,WH是同一个值,即为终端服务器名terminal_server。
可以在root的.profile文件中,根据WH值进行不同的处理,从而实现限制root远程登录。
Trap123915
If["$WH"="local"-o"$WH"="terminal_server"]
then
echo"Welcome......"
else
exit
fi
方法3:有时也要允许局域网中部分电脑root登录,如允许局域网中IP地址为99.57.32.58的电脑root登录,实现的话需要在上述方法中,作两点补充:
1.在/etc/hosts文件中,加入一行:99.57.32.58xmh。
2.在上述Shell程序段中,将If["$WH"="local"-o"$WH"="terminal_server"]修改为If["$WH"="local"-o"$WH"="terminal_server"-o"$WH"="xmh"]
方法4:如果经过以上处理后,仍存在普通用户登录后用su命令变成root用户的可能,从而达到root远程登录的目的。
这样,为了防止用这种方法实现root远程登录,需要限制普通用户不能执行su命令:将su命令属主改为root或者将su命令的权限改为700
方法1:可以在/etc/default/login文件,增加一行设置命令:CONSOLE=/dev/tty01
这样设置后立即生效,无需重新引导,不过,这样做的同时也限制了局域网用户root登录,给管理员的日常维护工作带来诸多不便。
方法2:为了达到限制root远程登录,我们首先要分清哪些用户是远程用户(即是否通过另一台Windows系统或UNIX系统进行telnet登录),哪些用户是局域网用户。通过以下shell程序能达到此目的:
TY=`tty|cut-b9-12`
WH=`finger|cut-b32-79|grep"$TY"|cut-b29-39`
KK=`tty|cut-b6-9`
If["$KK"="ttyp"]
then
WH=$WH
else
WH="local"
fi
以上Shell命令程序中,WH为登录用户的主机IP地址,但如果在/etc/hosts文件中,定义了IP地址和机器名之间的对应关系,则WH为用户登录的主机名。假设连接到局域网中的终端服务器的IP地址为:
99.57.32.18,那么应在/etc/hosts文件中加入一行:
99.57.32.18terminal_server
所有通过99.57.32.18终端服务器登录到主机的终端中,WH是同一个值,即为终端服务器名terminal_server。
可以在root的.profile文件中,根据WH值进行不同的处理,从而实现限制root远程登录。
Trap123915
If["$WH"="local"-o"$WH"="terminal_server"]
then
echo"Welcome......"
else
exit
fi
方法3:有时也要允许局域网中部分电脑root登录,如允许局域网中IP地址为99.57.32.58的电脑root登录,实现的话需要在上述方法中,作两点补充:
1.在/etc/hosts文件中,加入一行:99.57.32.58xmh。
2.在上述Shell程序段中,将If["$WH"="local"-o"$WH"="terminal_server"]修改为If["$WH"="local"-o"$WH"="terminal_server"-o"$WH"="xmh"]
方法4:如果经过以上处理后,仍存在普通用户登录后用su命令变成root用户的可能,从而达到root远程登录的目的。
这样,为了防止用这种方法实现root远程登录,需要限制普通用户不能执行su命令:将su命令属主改为root或者将su命令的权限改为700
展开全部
因为安全需要,我们在Linux下要把root用户禁止远程登录,然后用普通用户登录,
通过su - root切换到root
可以通过修改/etc/ssh/sshd_config文件,将其中的PermitRootLogin改成no,然后重新启动ssh服务就 可以了。
/etc/rc.d/sshd restart
service sshd restart
用crt连接的时候注意
一定要注意,如果用之前的连接始终会报错,报ssh conn。。。错误
所以设置过之后,一定要新建session
通过su - root切换到root
可以通过修改/etc/ssh/sshd_config文件,将其中的PermitRootLogin改成no,然后重新启动ssh服务就 可以了。
/etc/rc.d/sshd restart
service sshd restart
用crt连接的时候注意
一定要注意,如果用之前的连接始终会报错,报ssh conn。。。错误
所以设置过之后,一定要新建session
追答
给个评价吧
谢谢
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先创建一个doiido普通用户加入到相应的组
这里必须要新建一个用户,否则将会造成无法通过远程ssh登录服务器
# groupadd doiido
# useradd -g doiido doiido
更改用户 doiido 的密码
# passwd doiido
然后修改sshd_config文件
# sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
最后重启ssh服务
# service sshd restart
这样即使root用户密码泄漏,别人也无法通过root用户直接连接服务器。
这里必须要新建一个用户,否则将会造成无法通过远程ssh登录服务器
# groupadd doiido
# useradd -g doiido doiido
更改用户 doiido 的密码
# passwd doiido
然后修改sshd_config文件
# sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
最后重启ssh服务
# service sshd restart
这样即使root用户密码泄漏,别人也无法通过root用户直接连接服务器。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设置root的权限啊.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询