從拿到一臺雲服務器開始(持續更新......)
環境:centos7
一 最小化安裝
服務器以最小化安裝,之後需要什麽功能就安裝什麽軟件來支持相應的服務.
二 指定特定用戶可以使用su切換root
設置管理員組,在管理員組的用戶可以su到root身份.不在管理員組的用戶不可以切換到root用戶.
在Linux中,默認的管理員組為wheel組.
通常在LUNIX下,即使我們有系統管理員root的權限,也不推薦用root用戶登錄。一般情況下用普通用戶登錄就可以了,在需要root權限執行一些操作時,再su登錄成為root用戶。但是,任何人只要知道了root的密碼,就都可以通過su命令來登錄為root用戶--這無疑為系統帶來了安全隱患。所以,將普通用戶加入到wheel組,被加入的這個普通用戶就成了管理員組內的用戶,但如果不對一些相關的配置文件進行配置,這個管理員組內的用戶與普通用戶也沒什麽區別--就像警察下班後,沒有帶槍、穿這便衣和普通人(用戶)一樣,雖然他的的確確是警察。
根據應用的實例不同應用wheel組的方法也不同。這裏對於服務器來說,我們希望的是剝奪被加入到wheel組用戶以外的普通用戶通過su命令來登錄為root的機會(只有屬於wheel組的用戶才可以用su登錄為root)。這樣就進一步增強了系統的安全性。
1.修改/etc/pam.d/su配置文件
$ vim /etc/pam.d/su # Uncomment the following line to implicitly trust users in the "wheel" group. #auth sufficient pam_wheel.so trust use_uid # Uncomment the following line to require a user to be in the "wheel" group. #下面一行的註釋意味著需要添加用戶到wheel組中 auth required pam_wheel.so use_uid #去掉註釋
2.修改/etc/login.defs 文件 ,添加以下語句
$ vim /etc/login.defs #USer in wheel can su root SU_WHEEL_ONLY yes #在/etc/login.defs文件最後添加這一句
3.將用戶添加到wheel組中
$ usermod -G wheel <用戶名>
4.之後在創建的普通用戶就不可以使用su來切換到root身份來登錄,只有添加在wheel組中的用戶才可以su到root
三 使用密鑰遠程登錄
1.使用遠程登錄時,盡量不使用root用戶來遠程登錄,使用特定的管理用戶登錄,需要使用使用到root權限時在提權使用.
2.使用密鑰登錄服務器(私鑰要進行安全的保存),盡量避免使用密碼登錄(密碼更容易泄露).
客戶機端:
1.生成密鑰(公鑰 私鑰)
$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/qi/.ssh/id_rsa): #鍵入密鑰保存的位置,默認路徑/home/qi/.ssh/id_rsa Enter passphrase (empty for no passphrase): #輸入對密鑰的加密密碼,這裏不使用加密可直接連接服務器,(在需要使機器自動完成遠程時,,不要設置此密鑰加密密碼) Enter same passphrase again: Your identification has been saved in key_rsa. Your public key has been saved in key_rsa.pub. The key fingerprint is: SHA256:QsMA8J8bgJhnNI9fe8jKSZEpbRp/lD4XLqD5D3sCSgU [email protected] The key‘s randomart image is: +---[RSA 2048]----+ |..+.. | |.E = = . | |+ X O B . | | o & X = . | | ..+ * * | |.. .B | |. .+. | | .o. | +----[SHA256]-----+
#我們可以在(/home/qi/.ssh/)路徑下看到生成了一下文件:
$ tree ~/.ssh/
/home/qi/.ssh/
├── id_rsa #私鑰 需要保存好
└── id_rsa.pub #公鑰 需要上傳到服務器
服務器端:
1.上傳公鑰:
$ scp /home/qi/.ssh/id_rsa.pub [email protected]:/home/qi/clientpubkey [email protected]‘s password: id_rsa.pub 100% 395 6.6KB/s 00:00
2.配置ssh
a.哪個用戶使用密鑰登錄就在哪個用戶的目錄下建立以下文件:
# pwd /home/qi # mkdir .ssh # cd .ssh/ # touch authorized_keys # chmod 600 authorized_keys #為了保證安全性,公鑰存儲文件只有該用戶有讀寫權限
# chown qi:qi authorized_keys
b.復制客戶端公鑰到 authorized_keys 文件中
# cat ../clientpubkey >authorized_keys # cat authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXmT4Xwjsx7rZfruxCVmlPv6FyAKP+IKUqliZbAFmuEr5813sVyf8BrtWvaUnewmj+I+iljOhPvorysgt6cXuNTb0pNiscWM9vK35H9DpU3EpEsis92FqncYHiSZ+QVh5nMz7yHDgb9eVkUj/KHoA80vPxuyBrLbO4tzxAZwkQ+TRa2HJEzJFUYc2CU5NXsDVq+P3dg9VFFmdJq6o7TTrzZBA7Z/5gXSjku24NZ6mD0eePETIoAglpj5Cj [email protected]
c.修改ssh配置文件
# vim /etc/ssh/ssh_config PubkeyAuthentication yes #使用公鑰認證 PasswordAuthentication no #禁用密碼登錄 ChallengeResponseAuthentication no #禁用挑戰應答
d.重啟ssh服務
# systemctl restart sshd
之後,服務器可使用密鑰,免密碼登錄,保證一定的安全性.
四 sudo權限(對於普通用戶,不包括管理員用戶[加入到wheel的用戶])
sudo命令可以將root可執行的命令賦予給普通用戶.
配置文件為:/etc/sudoers
## Allow root to run any commands anywhere root ALL=(ALL) ALL
#用戶名 被管理的主機=(可以使用的身份) 可以執行的命令 ## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL
#用戶組名 被管理的主機=(可以使用的組身份) 可以執行的命令
1.授權普通用戶執行重啟
## Allow root to run any commands anywhere root ALL=(ALL) ALL #用戶名 被管理的主機=(可以使用的身份) 可以執行的命令 huiqi ALL=(ALL) /usr/sbin/shutdown -r now
2.授權普通用戶添加用戶
## Allow root to run any commands anywhere root ALL=(ALL) ALL #用戶名 被管理的主機=(可以使用的身份) 可以執行的命令 huiqi ALL=/usr/sbin/useradd huiqi ALL=/usr/sbin/passwd [A-Za-z]* ,!/usr/sbin/passwd "" , !/usr/sbin/passwd root #禁止修改root密碼
從拿到一臺雲服務器開始(持續更新......)