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命令的授權管理在文件里,兩種修改方式:
- 使用visudo命令(推薦使用)
- 直接修改文件,此文件默認沒有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~]#
[xzyx~]#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
