open Euler安全加固

FuShudi發表於2024-07-12

目錄
  • openEuler安全加固
    • 1. grub加密
      • 1.1 修改grub密碼
      • 1.2 取消grub加密
    • 2. 重置root密碼
      • 2.1 重啟系統
      • 2.2 進入單使用者模式(救援模式)
      • 2.3 重新掛載根檔案系統
      • 2.4 修改密碼
    • 2. su
      • 2.1 允許某個使用者使用su
      • 2.2 允許所有使用者使用su

openEuler安全加固

1. grub加密

openEuler預設就是設定了Grub加密的,預設密碼是openEuler#12,這個密碼就是在你進入單使用者模式的時候要你去提供的,如果使用者名稱和密碼不正確,那麼是無法進入單使用者模式的

[root@oe01 ~]# vim /boot/grub2/grub.cfg

 71 set superusers=root
 72 password_pbkdf2 root grub.pbkdf2.sha512.10000.5A45748D892672FDA02DD3B6F7    AE390AC6E6D532A600D4AC477D25C7D087644697D8A0894DFED9D86DC2A27F4E01D925C46    417A225FC099C12DBD3D7D49A7425.2BD2F5BF4907DCC389CC5D165DB85CC3E2C94C8F9A3    0B01DACAA9CD552B731BA1DD3B7CC2C765704D55B8CD962D2AEF19A753CBE9B8464E2B1EB    39A3BB4EAB08

在這裡是設定了grub的密碼的,如果想要去掉密碼直接註釋這2行就可以了

我們先開啟,看看效果

image-20240712203107612

當我們在這裡按e鍵的時候,紅帽的系統是不需要密碼的,來看看openEuler的

image-20240712203152166

在open Euler這裡,他是需要我們輸入使用者名稱和密碼的,這個使用者名稱和密碼並不是你登陸系統用的使用者名稱和密碼,是剛剛在grub.cfg檔案裡面看見的單獨設定的密碼

1.1 修改grub密碼

要修改grub的密碼你就得先知道當前grub的密碼,由於我們沒有修改預設密碼,所以密碼還是openEuler#12,然後我們來修改密碼

[root@oe01 ~]# grub2-set-password 
Enter Current password:      # 這裡輸入openEuler#12
Enter password:              # 這裡輸入要修改的密碼,要求設定強密碼
Confirm password:            # 再來一遍

然後你的grub密碼就改好了,非常的簡單,接下來我們看看如何取消grub加密

1.2 取消grub加密

想要取消grub加密的話也是很輕鬆,直接在grub.cfg裡面註釋掉那2行內容即可

[root@oe01 ~]# vim /boot/grub2/grub.cfg
 71 #set superusers=root
 72 #password_pbkdf2 root grub.pbkdf2.sha512.10000.5A45748D892672FDA02DD3B6F7    AE390AC6E6D532A600D4AC477D25C7D087644697D8A0894DFED9D86DC2A27F4E01D925C46    417A225FC099C12DBD3D7D49A7425.2BD2F5BF4907DCC389CC5D165DB85CC3E2C94C8F9A3    0B01DACAA9CD552B731BA1DD3B7CC2C765704D55B8CD962D2AEF19A753CBE9B8464E2B1EB    39A3BB4EAB08

71和72是行數,直接將第71行和第72行註釋掉即可,然後將/boot/grub2/user.cfg給移走或刪除

[root@oe01 ~]# mv /boot/grub2/user.cfg /opt

重啟系統看看還需要密碼不

image-20240712204346149

直接按e就進入到這裡了,不再需要密碼了,這樣grub的密碼就被取消了

2. 重置root密碼

當root密碼忘記的時候我們可以透過這種方式來重置密碼,但是有一個前提條件,那就是沒有grub密碼或者你知道當前的grub密碼,剛剛我們取消了grub的密碼,所以這裡我們直接操作

2.1 重啟系統

如果系統就是關機的可以直接開機就可以

image-20240712203107612

在這個介面按一下鍵盤上的e

image-20240712204346149

然後就會進入這個介面,在這裡我們用方向鍵控制游標往下,找到以linux開頭的行

image-20240712204843341

2.2 進入單使用者模式(救援模式)

在linux開頭的這一行內容的末尾加上紅框裡面內容,然後按Ctrl + x啟動

然後你就會進入這個頁面

image-20240712204945984

在這裡由於我們的根檔案系統是隻讀掛載的,所以無法直接修改密碼,我們還需要重新掛載

2.3 重新掛載根檔案系統

bash-5.1# mount -o remount,rw /

image-20240712205046501

這下面會有一個回顯,這個並不是報錯。此時我們的檔案系統就可寫了,接下來我們修改密碼

2.4 修改密碼

# 以名文的方式修改
bash-5.1# echo 123 |passwd --stdin root
# 互動式修改
bash-5.1# passwd root 

這2種方式任選其一即可,修改完之後如果你的selinux是開啟狀態的話需要去touch一個檔案,讓selinux進行重新打標籤,如果沒有這一步的話,你的系統是進不去的,儘管你把以前的密碼想起來了也不行,如果你不知道你的selinux是否開啟,那你就做這一步,沒有開啟做了這一步是沒事的

bash-5.1# touch /.autorelabel

萬事大吉了,接下來啟動系統就可以了

bash-5.1# exec /sbin/init

然後使用啟動的時候可能會有一點慢,因為selinux會重新打標籤,等待他進度條跑滿100即可,然後使用新密碼登入系統

2. su

openEuler預設也是對這個命令做了限制,不允許普通使用者su切換到root,也不允許切換到其他的普通使用者,即使你的密碼輸入的是正確的,他會報錯許可權拒絕,大概就是這樣,從root可以切到普通使用者是沒有問題的

[root@oe01 ~]# useradd test
[root@oe01 ~]# echo 123 | passwd --stdin root
[root@oe01 ~]# us - test 
[test@oe01 ~]$ su  test
Password:       # 這裡我輸入的123
su: Permission denied

對吧,我連切換到自己都不可以的哦,更別說其他的使用者了,原因是因為,openEuler只允許wheel這個組內的使用者可以使用su去切換,想要某個使用者可以切換使用者的話則需要將他加入到這個組內

2.1 允許某個使用者使用su

# 我們先檢視wheel的gid是多少
[root@oe01 ~]# cat /etc/group|grep wheel
wheel:x:10

透過命令可以查到這個組的gid是10,那麼我們將test使用者加入到這個組

[root@oe01 ~]# usermod -G 10 test

然後再來嘗試使用su命令

[root@oe01 ~]# su - test
[test@oe01 ~]$ su - root
Password:    # 輸入root的密碼
[root@oe01 ~]# 

你會發現可以切換到root了,這樣這個使用者就可以使用su命令的,而對於沒有加入到wheel組的使用者依然是不可以使用su命令的

2.2 允許所有使用者使用su

如果需要這樣做的話我們可以直接將配置檔案裡面的配置給註釋掉,然後所有的使用者就都可以使用su了

[root@oe01 ~]# vim /etc/pam.d/su
#auth           required        pam_wheel.so use_uid

將這一行給註釋掉,同理,如果你的其他作業系統想要禁止使用su的話那麼你就直接加上這一行

相關文章