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

相關文章
相關標籤/搜索