• Centos7下创建和管理用户


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

    创建用户命令:adduser和useradd是一样的

     

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

     

    部分选项说明:

    -m:--create-home   创建用户家目录

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

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

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

    -s:--shell {SHELL}   允许登录指定shell,如:/bin/sh、/bin/bash等,可以用echo $SHELL查看默认shell

    -U:--user-group   创建一个和用户名一样的用户组

    -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机器无需输入密码
    1、登录A机器 
    2、ssh-keygen,将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub
    3、将.pub 文件复制到B机器的 .ssh 目录, 并 cat id_dsa.pub >> ~/.ssh/authorized_keys
    4、大功告成,从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文件中

    在A机器执行:
    [xzyx~]# ssh-copy-id -i xzyx/.ssh/id_rsa.pub xzyx@192.168.20.60
    或把.pub拷贝到B机器执行:
    [xzyx~]# 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

  • 相关阅读:
    k8s升级
    k8s常用命令kubeadm
    k8s部署安装-更新时间2020-10-5(docker)
    centos7安装后的优化-2019-10-12更新
    gitlab安装后出现的web IDE显示报错问题
    奋斗的路上
    Spring Boot之过滤器
    java 并发
    jar包使用
    找不到xsd文件思路
  • 原文地址:https://www.cnblogs.com/yaohunzhanyue/p/9416891.html
Copyright © 2020-2023  润新知