su命令 sudo命令 限制root远程登录
su命令
日常操作中为了避免一些误操作,更加安全的管理系统,通常使用的用户身份都为普通用户,而非root。当需要执行一些管理员命令操作时,再切换成root用户身份去执行。
普通用户切换到root用户的方式有:su和sudo。
2.su - (su为switch user,即切换用户的简写)
格式:su-l USERNAME(-l为login,即登陆的简写)
-l可以将l省略掉,所以此命令常写为su- USERNAME
如果不指定USERNAME(用户名),默认即为root,所以切换到root的身份的命令即为:su -root或是直接su -
3.su -与su
通过su切换用户还可以直接使用命令su USERNAME,与su - USERNAME的不同之处如下:
su - USERNAME切换用户后,同时切换到新用户的工作环境中
su USERNAME切换用户后,不改变原用户的工作目录,及其他环境变量目录
sudo
使用su切换用户时需知晓对应用户的登陆密码,即若切换成root用户身份,需知道root用户的登陆密码。作为root用户管理员,如何授权其他普通用户,在不需要知晓root密码的情况下,执行root权限的命令操作?此时即可使用sudo。
是一种权限管理机制,依赖于/etc/sudoers,其定义了授权给哪个用户可以以管理员的身份能够执行什么样的管理命令;
格式:sudo-u USERNAMECOMMAND
当普通用户通过sudo以root用户执行命令时,sudo后面的-uUSERNAME可省略,即sudo COMMAND即意为sudo以root用户执行
默认情况下,系统只有root用户可以执行sudo命令。需要root用户通过使用visudo命令编辑sudo的配置文件/etc/sudoers,才可以授权其他普通用户执行3.sudo命令。
如下图,假如使用普通用户帐号user4通过sudo以root用户身份执行命令tail/etc/shadow时,即被提示:user4未被定义在sudoers文件中,无法执行此命令。
三、限制root远程登录
在使用linux系统时,尤其在多人共用一台服务器时,为了安全,需要控制一下每个人的权限,root用户的权限最大,所以禁止用root直接登录就显得很必要了!下面这个是最简单常用的办法
编辑sshd服务的配置文件
# vi /etc/ssh/sshd_config
找到下面这行:把值改为yes(允许)或no(不允许)
PermitRootLogin yes
然后重新启动ssh服务就可以了.
# /etc/rc.d/sshd restart
或# service sshd restart
这样在远程客户端访问这台linux主机的时候,就不能使用root用户直接登录了。
如果需要使用root用户时,可以先使用其它用户登录,然后使用#su - ,输入root密码,切换到root用户
2.启动telnet服务
1、开启服务
方法一:使用ntsysv,在出现的窗口之中,将 telnet前面*加上,然后按下 OK 。
方法二:编辑 /etc/xinetd.d/telnet
[root@echo root]# vi /etc/xinetd.d/telnet
找到 disable = yes 将 yes 改成 no。
2、激活服务
[root@echo root]# service xinetd restart
3.测试服务
[root@echo root]#telnet ip(或者hostname)
如果配置正确,系统提示输入远程机器的用户名和密码
Login:
Password:
注:默认只允许普通用户
4.设置telnet端口
#vi /etc/services
进入编辑模式后查找telnet(vi编辑方式下输入/telnet)
会找到如下内容:
telnet 23/tcp
telnet 23/udp
将23修改成未使用的端口号(如:2000),退出vi,重启telnet服务,telnet默认端口号就被修改了。
5.Telnet服务限制
telnet是明文传送口令和数据的,如果你对其默认的设置不满意,有必要对其服务范围进行限制。假设你的主机的ip是210.45.160.17,就可以按如下方式设置了。
#vi /etc/xinetd.d/telnet
service telnet
{
disable = no #激活 telnet 服务,no
bind =210.45.160.17 #your ip
only_from = 210.45.0.0/16 #只允许 210.45.0.0 ~210.45.255.255 这个网段进入
only_from = . #只有教育网才能进入!
no_access = 210.45.160.{115,116} #这两个ip不可登陆
access_times= 8:00-12:00 20:00-23:59 # 每天只有这两个时间段开放服务
......
}
6.Telnet root用户的登入
Telnet 不是很安全,默认的情况之下不允许 root 以 telnet 进入Linux 主机 。若要允许root用户登入,可用下列方法:
(1)
[root @echo /root]# vi /etc/pam.d/login
#auth required pam_securetty.so #将这一行加上注释!
或
[root@echo root]# mv /etc/securetty /etc/securetty.bak
(2)编辑/etc/securetty文件,加上下面几行:
pts/0
pts/1
pts/2
pts/3
测试root用户直接telnet登陆成功,这样, root 就可以直接进入Linux 主机了。不过,建议不要这样做。也可以在普通用户进入后,切换到root用户,拥有root的权限。
(责任编辑:亿腾科技)
禁用ctrl alt delete健
1、vim/etc/event.d/control-alt-delete
2、注释掉:
start on control-alt-delete
exec /sbin/shutdown -r now "Control-Alt-Deletepressed"
最后要用命令让他生效 #/sbin/init q
给你完整步骤
禁用Ctrl+Alt+Del命令重启
#vi /etc/inittab
将"ca::ctrlaltdel:/sbin/shutdown -t3 -r now"一行注释掉。
#/sbin/init q
# chmod -R 700 /etc/rc.d/init.d/*