3.1 用戶管理

一、 用戶

為何要有用戶?
資源分配预愤、控制。

為何要有用戶組咳胃?
資源分享植康,協(xié)同合作

Linux 系統(tǒng)如何管理用戶和用戶組

用戶使用 UID (十進(jìn)制的數(shù)字)
組使用 GID(十進(jìn)制的數(shù)字)
系統(tǒng)中的每個(gè)資源都會(huì)屬于具體的用戶和組。
資源包括:文件展懈,目錄销睁,運(yùn)行時(shí)的程序(進(jìn)程), 一個(gè)服務(wù)等供璧。
Linux 系統(tǒng)只認(rèn)識(shí) UID 和 GID

用戶基本信息和密碼信息

用戶信息保存在 /etc/passwd 文件中

用戶密碼的信息保存在 /etc/shadow 文件中

/etc/passwd 文件內(nèi)容

每行是一個(gè)用戶,每行都是用 冒號(hào)分開用戶的各個(gè)信息

image.png

/etc/shadow 文件內(nèi)容

每行是一個(gè)用戶冻记,每行都是用 冒號(hào)分開用戶的各個(gè)信息, 共有 9 個(gè)字段嗜傅。

shark 賬戶在 shadow 文件中是這樣的:

shark:!!:18099:0:99999:7:::

</pre>

這九個(gè)字段意義如下:

  1. 用戶名

  2. 密碼 這個(gè)密碼是經(jīng)過加密的, !! 表示檩赢,創(chuàng)建了此用戶但是還未給其設(shè)置密碼。

  3. 最近修改密碼的日期

這個(gè)數(shù)字單位是天數(shù)违寞, 是 1970 年 1 月 1 日作為 1 而累加的日期贞瞒。

計(jì)算某個(gè)日期的累積天數(shù)的語法:

  1. echo $(( $(date --date="2019/07/21" +%s) / 86400+1))
命令意思:

2019/07/21 為你想要計(jì)算的日期,86400 為每一天的秒數(shù)趁曼, %s 為 1970/01/01 以來的累積總秒數(shù)军浆。 由于 bash 僅支持整數(shù),因此最終需要加上 1 補(bǔ)齊1970/01/01 當(dāng)天

  1. 密碼不可被更動(dòng)的天數(shù)

    這個(gè)帳號(hào)的密碼在最近一次被修改后需要經(jīng)過幾天才可以再被修改挡闰!如果是 0 的話乒融, 表示密碼隨時(shí)可以修改的意思。

  2. 密碼需要重新修改的天數(shù)

    指定在最近一次修改密碼后摄悯, 在多少天數(shù)內(nèi)需要再次的修改密碼赞季,可以強(qiáng)制用戶修改密碼。

  3. 距離密碼要修改時(shí)的天數(shù)

    假如是 5, 那就是臨近修改密碼的前 5 天內(nèi)奢驯,都會(huì)提示用戶更新密碼申钩。

  4. 密碼過期后的帳號(hào)寬限時(shí)間

    就是密碼過期后,賬戶依然可以登了瘪阁,并且打的到 bash撒遣, 但是當(dāng)?shù)卿浀较到y(tǒng)時(shí),系統(tǒng)會(huì)提示你立刻進(jìn)行密碼的更新管跺,否則無法繼續(xù)操作义黎。
    密碼有效期 = 密碼修改日(因?yàn)楫?dāng)天也算一天) + 密碼需要修改的天數(shù)

  5. 帳號(hào)失效日期

    也是從 1970/01/01 以來總天數(shù)。通常用在收費(fèi)系統(tǒng)上豁跑。

  6. 保留

關(guān)于 UID

id 范圍 該 ID 使用者特性
0(系統(tǒng)管理員) 當(dāng) UID 是 0 時(shí)廉涕,代表這個(gè)帳號(hào)是“系統(tǒng)管理員” root! 所以當(dāng)你要讓其他的帳號(hào)名稱也具有 root 的權(quán)限時(shí)艇拍,將該帳號(hào)的 UID 改為 0 即可火的。 這也就是說,一部系統(tǒng)上面的系統(tǒng)管理員不見得只有 root 喔淑倾! 不過馏鹤,很不建議有多個(gè)帳號(hào)的 UID 是 0 啦~容易讓系統(tǒng)管理員混亂!
1~999(系統(tǒng)帳號(hào)) 保留給系統(tǒng)使用的 ID娇哆,其實(shí)除了 0 之外湃累,其他的 UID 權(quán)限與特性并沒有不一樣勃救。這個(gè)只是一個(gè)習(xí)慣。由于系統(tǒng)上面啟動(dòng)的服務(wù)希望使用較小的權(quán)限去運(yùn)行治力,因此不希望使用 root 的身份去執(zhí)行這些服務(wù)蒙秒, 所以我們就得要提供這些運(yùn)行中程序的擁有者帳號(hào)才行。這些系統(tǒng)帳號(hào)通常是不可登陸的宵统, 可以看到這些用戶都有 /sbin/nologin 這個(gè)特殊的 shell 存在晕讲。根據(jù)系統(tǒng)帳號(hào)的由來,通常這類帳號(hào)又約略被區(qū)分為兩種:1~200:由各發(fā)行版本廠商自行創(chuàng)建的系統(tǒng)帳號(hào)马澈;201~999:使用者這些 UID 去創(chuàng)建一些系統(tǒng)基本的賬號(hào)瓢省。
1000~60000(可登陸帳號(hào)) 給一般使用者用的。事實(shí)上痊班,目前的 linux 核心 (3.10.x 版)已經(jīng)可以支持到 4294967295 (2^32-1) 這么大的 UID 號(hào)碼了勤婚!

查看用戶基本信息

  1. // 查看當(dāng)前用戶
  2. id

關(guān)于用戶的編輯修改命令

useradd 添加用戶

1.  useradd [-u  UID]  [-g 初始群組]  [-G 次要群組]  [-mM]  [-c 說明欄]  [-d 家目錄絕對(duì)路徑]  [-s shell]  新的用戶名

3.  -M :強(qiáng)制!不要?jiǎng)?chuàng)建使用者主文件夾5臃ァ(系統(tǒng)帳號(hào)默認(rèn)值)
4.  -m :強(qiáng)制馒胆!要?jiǎng)?chuàng)建使用者主文件夾!(一般帳號(hào)默認(rèn)值)
5.  `-r :創(chuàng)建一個(gè)系統(tǒng)的帳號(hào)凝果,這個(gè)帳號(hào)的 UID 會(huì)有限制  (參考  /etc/login.defs)`
6.  -s :后面接一個(gè) shell 祝迂,若沒有指定則默認(rèn)是  /bin/bash,指定的 shell 必須存在于系統(tǒng)中
7.  -e :后面接一個(gè)日期器净,格式為“YYYY-MM-DD”此項(xiàng)目可寫入 shadow 第八字段液兽,
8.  亦即帳號(hào)失效日的設(shè)置項(xiàng);

在新建一個(gè)用戶時(shí)掌动,CentOS 這些默認(rèn)值主要會(huì)幫我們處理幾個(gè)項(xiàng)目:

  • /etc/passwd 里面創(chuàng)建一行與帳號(hào)相關(guān)的數(shù)據(jù)四啰,包括創(chuàng)建 UID/GID/主文件夾等;
  • /etc/shadow 里面將此帳號(hào)的密碼相關(guān)參數(shù)填入粗恢,但是尚未有密碼柑晒;
  • /etc/group 里面加入一個(gè)與帳號(hào)名稱一模一樣的群組名稱;
  • /home 下面創(chuàng)建一個(gè)與帳號(hào)同名的目錄作為使用者主文件夾眷射,且權(quán)限為 700

示例:

  1. 新增一個(gè)普通用戶匙赞,自動(dòng)創(chuàng)建家目錄和組
  1. useradd shark
  1. 新增一個(gè)系統(tǒng)用戶
  1. useradd -r shark1
  1. 新增一個(gè)系統(tǒng)用戶, 且指定 shell 為 /sbin/nologin
  1. useradd -r -s /sbin/nologin shark2

useradd 的默認(rèn)值

  1. ? ~ useradd -D
  2. GROUP=100
  3. HOME=/home
  4. INACTIVE=-1
  5. EXPIRE=
  6. SHELL=/bin/bash
  7. SKEL=/etc/skel
  8. CREATE_MAIL_SPOOL=yes

設(shè)置用戶密碼

1.  // root 功能:
2.  [root@www ~]# passwd [-l]  [-u]  [--sdtin]  [-S]  [-n 日數(shù)]  [-x 日數(shù)]  [-w 日數(shù)]  [-i 天數(shù)]  賬號(hào)

4.  //所有人均可使用來修改自己的密碼
5.  [root@testhost ~]# passwd [--sdtin]
6.  選項(xiàng):
7.  --stdin  :可以通過來自前一個(gè)管道的數(shù)據(jù)妖碉,作為密碼的輸入涌庭,對(duì)shell script比較有幫助。
8.  -l   ∨芬恕:lock 帳號(hào)坐榆,是密碼暫時(shí)性失效
9.  -u    :解鎖
10.  -S   ∪呷住:查看帳號(hào)密碼的相關(guān)參數(shù)
11.  -n   ∠啤:密碼不可修改的天數(shù)
12.  -x   ∑ブ小:密碼強(qiáng)制修改天數(shù)
13.  -w    :密碼過期前的警告天數(shù)
14.  -i   『阑濉:修改或指定密碼失效天數(shù)

  1. 普通用戶修改自己的密碼
  1. password
  1. root 身份設(shè)置/修改 其他用戶的密碼
  1. password shark

修改用戶信息 usermod

root 用戶執(zhí)行
usermod     [-cdegGlsuLU]    username

1.  `選項(xiàng)與參數(shù):`
2.  `-c :后面接帳號(hào)的說明顶捷,即  /etc/passwd 第五欄的說明欄,可以加入一些帳號(hào)的說明屎篱。`
3.  `-d :后面接帳號(hào)的主文件夾服赎,即修改  /etc/passwd 的第六欄;`
4.  `-e :后面接日期交播,格式是 YYYY-MM-DD 也就是在  /etc/shadow 內(nèi)的第八個(gè)字段數(shù)據(jù)啦重虑!`
5.  `-f :后面接天數(shù),為 shadow 的第七字段堪侯。`
6.  `-g :后面接初始群組,修改  /etc/passwd 的第四個(gè)字段荔仁,亦即是 GID 的字段伍宦!`
7.  `-G :后面接次要群組,修改這個(gè)使用者能夠支持的群組乏梁,修改的是  /etc/group  啰~`
8.  `-a :與  -G 合用次洼,可“增加次要群組的支持”而非“設(shè)置”喔!`
9.  `-l :后面接帳號(hào)名稱遇骑。亦即是修改帳號(hào)名稱卖毁,  /etc/passwd 的第一欄!`
10.  `-s :后面接  Shell  的實(shí)際文件落萎,例如  /bin/bash 或  /bin/csh 等等亥啦。`
11.  `-u :后面接 UID 數(shù)字啦!即  /etc/passwd 第三欄的數(shù)據(jù)练链;`
12.  `-L :暫時(shí)將使用者的密碼凍結(jié)翔脱,讓他無法登陸。其實(shí)僅改  /etc/shadow 的密碼欄媒鼓。`
13.  `-U :將  /etc/shadow 密碼欄的  `!`  去除届吁,就是解除鎖定!`

  1. 把用戶 shark 添加到 wheel 組中
  1. usermod -a -G wheel shark
  2. 命令 添加 組 組名 用戶名

刪除用戶 userdel

這個(gè)功能就太簡(jiǎn)單了绿鸣,目的在刪除使用者的相關(guān)數(shù)據(jù)疚沐,而使用者的數(shù)據(jù)有:

使用者帳號(hào)/密碼相關(guān)參數(shù):/etc/passwd, /etc/shadow
使用者群組相關(guān)參數(shù):/etc/group, /etc/gshadow
使用者個(gè)人文件數(shù)據(jù): /home/username, /var/spool/mail/username..
整個(gè)指令的語法非常簡(jiǎn)單:
[root@study ~]# userdel [-r] username

選項(xiàng)與參數(shù): 
-r :連同使用者的主文件夾也一起刪除
  1. root 身份刪除普通用戶

用戶的家目錄和郵箱等不會(huì)被刪除

 userdel   shark
  1. root 身份刪除普通用戶,并且不保留被刪除用戶的家目錄等數(shù)據(jù)潮模。
1.  `userdel -r    shark1`

二亮蛔、組

初始組(initial group):

就是在創(chuàng)建用戶的時(shí)候,默認(rèn)會(huì)創(chuàng)建一個(gè)和用戶名同名的組擎厢。后期也可以修改尔邓。
初始組的 GID 會(huì)出現(xiàn)在 /etc/passwd 中晾剖,用戶的存放 GID 的位置,用戶已登錄到系統(tǒng)中就會(huì)擁有此組的權(quán)限梯嗽。

有效組(effective group):

后來加入的組

Linux 系統(tǒng)中的組信息存放在 /tec/group 文件中齿尽,可以分為四個(gè)部分

  1. 組名

  2. 組密碼

  3. 組 ID

  4. 組內(nèi)成員

組內(nèi)的多個(gè)成員用英文逗號(hào)隔開,期間不能有空格。

UID 范圍及意義灯节,和 UID 幾乎相同循头。 0 是管理員用戶的初始組

關(guān)于組的命令

groups 查看用戶都加入了哪些組

  1. 查看當(dāng)前用戶的組
  1. [shark@e9818e4ea8b3 ~]$ groups
  2. shark wheel
  1. 查看其他用戶的組
  1. [shark@e9818e4ea8b3 ~]$ groups shark1
  2. shark1 : shark1

groupadd 新增組

  1. goupadd [-g gid] [-r] group_name
  2. 選項(xiàng):
  3. -g :指定gid ,單獨(dú)添加組炎疆,建議指定1000以上的gid卡骂,便于管理。
  4. -r :建立系統(tǒng)組

groupdel 刪除組

  1. groupdel group_name

注意:當(dāng)你要?jiǎng)h除一個(gè)組時(shí)形入,需要確保系統(tǒng)中沒有任何一個(gè)用戶把此組作為初始組 initial group

作業(yè)練習(xí)

  1. 建立用戶:nginx 默認(rèn)沒有家目錄全跨,不可本地登錄系統(tǒng)
  2. 建立用戶:super 默認(rèn)將其加入到 wheel 組
  3. 建立用戶:mysql 用戶 指定目錄: /opt/mysql/
  4. 創(chuàng)建用戶:prod 用戶 設(shè)置其1天內(nèi)不可修改密碼,密碼有效期3天亿遂,提前1天通知他浓若,密碼失效期6天,用戶失效期7天
  5. 建立組:devops 并指定組成員:
    建立組:baoma 指定組成員: x3 x5 x6

用戶身份切換

su

切換為其他用戶蛇数,這需要提供其他用戶的密碼

  1. su - [-c] [用戶名]
  2. 選項(xiàng)與參數(shù):
  3. - :?jiǎn)渭兪褂?- 如“ su - ”代表使用 login-shell 的變量文件讀取方式來登陸系統(tǒng)挪钓;
  4. 若用戶名沒有加上去,則代表切換為 root 的身份耳舅。

sudo

sudo 是用于使用普通用戶的身份去執(zhí)行 root 用戶身份才有權(quán)執(zhí)行的命令操作碌上。

必要條件

  1. 需要把普通用戶設(shè)置為 sudo 用戶
  2. 使用 sudo 的時(shí)候需要提供 root 的用戶名。

語法

  1. sudo [-b] [-u 新使用者帳號(hào)]
  2. 選項(xiàng)與參數(shù):
  3. -b :將后續(xù)的指令放到背景中讓系統(tǒng)自行執(zhí)行浦徊,而不與目前的 shell 產(chǎn)生影響
  4. -u :后面可以接欲切換的使用者馏予,若無此項(xiàng)則代表切換身份為 root 。
  1. 使用 sshd 用戶盔性,在 /tmp 目錄下創(chuàng)建一個(gè)普通文件吗蚌,并觀察文件相關(guān)屬性
  1. sudo -u sshd touch /tmp/sshd.file
    多個(gè)命令用分號(hào)隔開

sudo 的執(zhí)行是這樣的流程

  1. 當(dāng)使用者執(zhí)行 sudo 時(shí),系統(tǒng)于 /etc/sudoers 文件中搜尋該使用者是否有執(zhí)行 sudo 的權(quán)限纯出;
  2. 若使用者具有可執(zhí)行 sudo 的權(quán)限后蚯妇,便讓使用者“輸入使用者自己的密碼”來確認(rèn);
  3. 若密碼輸入成功暂筝,便開始進(jìn)行 sudo 后續(xù)接的指令(但 root 執(zhí)行 sudo 時(shí)箩言,不需要輸入密碼);
  4. 若欲切換的身份與執(zhí)行者身份相同焕襟,那也不需要輸入密碼陨收。

visudo 將普通用戶設(shè)置為 sudo 用戶

建議使用 visudo 編輯 /etc/sudoers 文件,比較安全。

設(shè)置語法格式:

  1. 設(shè)置單一用戶
  2. root ALL=(ALL) ALL
  3. 設(shè)置一個(gè)組
  4. %wheel ALL=(ALL) ALL

各個(gè)部分的意思

  1. “使用者帳號(hào)”:系統(tǒng)的哪個(gè)帳號(hào)可以使用 sudo 這個(gè)指令的意思务漩;
  2. “登陸者的來源主機(jī)名稱”:當(dāng)這個(gè)帳號(hào)由哪部主機(jī)連線到本 Linux 主機(jī)拄衰,意思是這個(gè)帳號(hào)可能是由哪一部網(wǎng)絡(luò)主機(jī)連線過來的,信任的來源的意思饵骨。默認(rèn)值 root 可來自任何一部網(wǎng)絡(luò)主機(jī)
  3. “(可切換的身份)”:這個(gè)帳號(hào)可以切換成什么身份來下達(dá)后續(xù)的指令翘悉,默認(rèn) root 可以切換成任何人;
  4. “可下達(dá)的指令”:可用該身份下達(dá)什么指令居触?這個(gè)指令請(qǐng)務(wù)必使用絕對(duì)路徑撰寫妖混。 默認(rèn) root 可以切換任何身份且進(jìn)行任何指令之意。

免密碼

之前的設(shè)置都需要轮洋,輸入自己的密碼制市,有時(shí)候這在寫一些自動(dòng)化的工具時(shí),并不合適弊予,因?yàn)樘崾居脩糨斎胱约旱拿艽a祥楣,會(huì)導(dǎo)致交互的操作。

sudo 時(shí)汉柒,不輸入任何密碼

  1. %wheel ALL=(ALL) NOPASSWD: ALL

指定切換身份和使用的命令

  1. shark ALL=(root) /usr/bin/passwd

限制使用某些命令

  1. shark ALL=(root) !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root

允許 shark 用戶以 root 身份修改其他用戶的密碼误褪,但是不允許修改 root 的密碼

用戶別名和命令別名

有時(shí)候可以讓多個(gè)用戶共同具有某些 sudo 用戶的權(quán)限,就可以把這些用戶設(shè)置為一個(gè)用戶別名

  1. User_Alias ADMPW = shark1, shark2
  2. Cmnd_Alias ADMPWCOM = !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root
  3. ADMPW ALL=(root) ADMPWCOM

sudo 和 su

讓普通用戶切換為 root 身份,并且不需要輸入 root 的密碼竭翠。

  1. User_Alias ADMINS = shark1, shark2
  2. ADMINS ALL=(root) /bin/su -
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末振坚,一起剝皮案震驚了整個(gè)濱河市薇搁,隨后出現(xiàn)的幾起案子斋扰,更是在濱河造成了極大的恐慌,老刑警劉巖啃洋,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件传货,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡宏娄,警方通過查閱死者的電腦和手機(jī)问裕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來孵坚,“玉大人粮宛,你說我怎么就攤上這事÷舫瑁” “怎么了巍杈?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)扛伍。 經(jīng)常有香客問我筷畦,道長(zhǎng),這世上最難降的妖魔是什么刺洒? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任鳖宾,我火速辦了婚禮吼砂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鼎文。我一直安慰自己渔肩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布漂问。 她就那樣靜靜地躺著赖瞒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蚤假。 梳的紋絲不亂的頭發(fā)上栏饮,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音磷仰,去河邊找鬼袍嬉。 笑死,一個(gè)胖子當(dāng)著我的面吹牛灶平,可吹牛的內(nèi)容都是我干的伺通。 我是一名探鬼主播,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼逢享,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼罐监!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起瞒爬,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤弓柱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后侧但,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體矢空,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年禀横,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了屁药。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡柏锄,死狀恐怖酿箭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情趾娃,我是刑警寧澤缭嫡,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站茫舶,受9級(jí)特大地震影響械巡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一讥耗、第九天 我趴在偏房一處隱蔽的房頂上張望有勾。 院中可真熱鬧,春花似錦古程、人聲如沸蔼卡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雇逞。三九已至,卻和暖如春茁裙,著一層夾襖步出監(jiān)牢的瞬間塘砸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工晤锥, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留掉蔬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓矾瘾,卻偏偏與公主長(zhǎng)得像女轿,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子壕翩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容