Centos7下建立和管理用户

centos服务管理主要命令是systemctl,centos7的服务再也不放在/etc/init.d/下;而放在/usr/lib/systemd/system下,centos7系统中systemctl管理工具整合了chkconfig和service于一体html

建立用户命令:adduser和useradd是同样的linux

 

useradd {用户名} -U -m -s /bin/bash
shell

 

部分选项说明:centos

-m:--create-home   建立用户家目录bash

-b:--base-dir {家目录}   指定用户家目录位置ssh

-g:--gid {用户组名或id}   指定用户组工具

-D:--default   查看或修改默认建立用户配置测试

-s:--shell {SHELL}   容许登陆指定shell,如:/bin/sh、/bin/bash等,能够用echo $SHELL查看默认shellcentos7

-U:--user-group   建立一个和用户名同样的用户组spa

-p:设置密码,可是好像要用passwd从新设置

 

 

修改用户配置:usermod(参数跟adduser差很少)

 

 

sudo权限配置:

 新建立的用户并不能使用sudo命令,须要给他添加受权

sudo命令的受权管理在/etc/sudoers文件里,两种修改方式:

  1. 使用visudo命令(推荐使用)
  2. 直接修改文件,此文件默认没有w权限,需添加w权限后才能修改,改完后记得将w权限收回
## Allow root to run any commands anywher
root    ALL=(ALL)       ALL
#user1能够在任何可能出现的主机名的系统中,能够切换到root用户下执行/bin/chown和/bin/chmod 命令,经过sudo -l来查看user1在这台主机上容许和禁止运行的命令
user1 ALL=/bin/chown,/bin/chmod
#user2能够在任何可能出现的主机名的主机中,能够切换到root下执行/bin/chown,不须要输入user2用户的密码;而且能够切换到任何用户下执行/bin/chmod命令,但执行chmod时须要user2输入本身的密码
user2   ALL=(root) NOPASSWD: /bin/chown,/bin/chmod

规则:

受权用户  主机=[(切换到哪些用户或用户组)]   [是否须要密码验证] 命令1,[(切换到哪些用户或用户组)]  [是否须要密码验证] [命令2],......

注解:在[(切换到哪些用户或用户组)] ,若是省略,则默认为root用户;若是是ALL ,则表明能切换到全部用户;注意要切换到的目的用户必须用()号括起来,好比(ALL)、(linuxidc)

 

  • 设置记住sudo密码时间,避免屡次重复输入密码:

Defaults env_reset改成:
Defaults env_reset , timestamp_timeout=30  
#30就是表明时间,你能够设置为 10 或 30 ,表示10分钟或半小时。

 

ssh登陆权限配置:

在/etc/ssh/sshd_config文件中,将PermitRootLogin设置为yes便可容许root用户远程登陆

修改后需重启ssh服务systemctl restart sshd

若是重启后仍是不行, 请从新载入sshd_config 文件systemctl restart sshd

检查22端口是否有进行监听netstat -tnlp

 

默认新建用户是容许ssh登陆的

能够经过在/etc/ssh/sshd_config中添加AllowUsers:username(能够多个,空格分开)给普通用户增长ssh权限

也能够设置容许和拒绝ssh的用户/用户组: DenyUsers:username,DenyGroups:groupname

 

秘钥登陆ssh:

实现目标:A机器ssh登陆B机器无需输入密码
一、登陆A机器 
二、ssh-keygen,将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub
三、将.pub 文件复制到B机器的 .ssh 目录, 并 cat id_dsa.pub >> ~/.ssh/authorized_keys
四、大功告成,从A机器登陆B机器的目标帐户,再也不须要密码了;(直接运行 #ssh 192.168.20.60

经过A机器linux自带的ssh工具或XShell工具生成公钥和私钥    

[xzyx~]#ssh-keygen
Enter file in which to save the key (xzyx/.ssh/id_rsa):
#输入key的保存位置,直接回车便可。
Enter passphrase (empty for no passphrase):
#私钥口令,不须要的话直接回车。

把公钥追加到B机器authorized_keys文件中

[xzyx~]# 在A机器执行:
[xzyx~]# ssh-copy-id -i xzyx/.ssh/id_rsa.pub xzyx@192.168.20.60
或把.pub拷贝到B机器执行:
ssh-copy-id -i xzyx/.ssh/id_rsa.pub xzyx@192.168.20.60
或把.pub拷贝到B机器执行:
cat xzyx/.ssh/id_rsa.pub >> xzyx/.ssh/authorized_keys

设置文件和目录权限:

设置.ssh目录权限
$ chmod 700 -R .ssh

设置authorized_keys权限
$ chmod 600 authorized_keys 

要保证.ssh和authorized_keys都只有用户本身有写权限。不然验证无效。

 

登陆测试:ssh -i  id_rsa文件路径  xzyx@192.168.20.60,若是是XShell等工具直接导入私钥便可

 

 

基于密钥认证的配置
    # vi /etc/ssh/sshd_config  
  PasswordAuthentication no //禁止使用基于口令认证的方式登录
  PubkeyAuthentication yes //容许使用基于密钥认证的方式登录
    # systemctl restart sshd

相关文章
相关标签/搜索