mkpasswd命令、su命令、sudo命令、限制root用户登录

1.mkpasswd命令

命令mkpasswd(make passwd)用于随机生成密码,Linux中默认没有这个命令,需要安装expect软件包,yum install -y expect

-l:生成指定长度的密码;

-s:指定密码中有几个特殊字符;

-d:指定生成数字的个数

-c :指定生成小写字母的个数

-C:指定生成大写字母的个数

2.su命令

su命令可以不用退出当前用户,直接切换到其他账户。su - username然后输入要切换账户的密码。root用户切换其他用户不用输入密码。不加username默认切到root。

参数-作用是同时切换用户配置,包括环境变量、用户配置文件、家目录。su - -c "cmd" root用root身份临时执行命令,第一个-是切换到root用户配置,-c是命令参数,后面的命令要用引号。

在试验过程中如果切换到useradd -M username新建的用户,可能会出现-bash-4.2$这样的命令行头。这是因为没有创建用户家目录,所以没有用户配置(.bashrc .bash_logout .bash_profile三个文件)。如果想恢复,/etc/skel下有模板用户,把.bash_logout、.bash_profile、.bashrc拷贝到家目录下即可。记得这三个文件所有者和所属组。

3.sudo

为了系统安全,一般不允许普通用户登录root账户。但是普通账户有时执行某些命令需要root权限,比如passwd。sudo cmd,输入当前用户密码就可以用root身份执行命令。这样就避免把root密码给普通用户。

在使用前需要系统管理员编辑sudo的权限。visudo命令直接编辑。其实打开的是/etc/sudoers文件,但不建议用vim等编辑器修改这个文件。visudo编辑保存时会检查语法,不正确时会提醒,而其他编辑器则不会提醒。

配置中授权语句是这样的:username ALL=(ALL) ALL。username是要赋予权限的账户,小括号中是被授予all的权限, 最后的ALL是授权的命令(如果是指定几个命令,请使用命令的绝对路径,逗号分隔)。在最后一个ALL前输入NOPASSWD:则该账户执行相应命令时不用输入密码。

此外还有host_alias、user_alias、cmd_alias等可选项目,在/etc/sudoers文件中都有注释说明。

4.限制root用户登录

远程登录root有危险,密码、密钥都是风险。所以有些系统管理员设置linux只能普通用户远程登录。配置ssh禁止root登录:vim /etc/ssh/sshd_config,找到#PermitRootLogin行,去掉“#”,yes改为no,然后重启服务 systemctl restart sshd.service。

但是还有root远程登录的需求怎么办。可以用普通用户身份远程登录,然后切换到root帐号下:sudo su - root。记得用root账户提前在/etc/sudoers中配制相应普通用户sudo权限,对于切换root可以独立于其他命令管理.

转载于:https://my.oschina.net/u/3804571/blog/3016316

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值