centos7用戶,組及文件許可權管理

来源:http://www.cnblogs.com/mfyang/archive/2017/08/10/7341235.html
-Advertisement-
Play Games

centos7安裝過程中如果沒有創建用戶的話,預設只有ROOT用戶,這個用戶是具有最高許可權的帳戶,可以做任何事情,但實際生產環境中我們一般不會使用這個用戶,因為許可權太大了,很危險。 所以在生產環境中就要創建一個或多個用戶帳戶,分配合適的許可權來使用,用過windows的都知道,windows也是多用戶 ...


centos7安裝過程中如果沒有創建用戶的話,預設只有ROOT用戶,這個用戶是具有最高許可權的帳戶,可以做任何事情,但實際生產環境中我們一般不會使用這個用戶,因為許可權太大了,很危險。

所以在生產環境中就要創建一個或多個用戶帳戶,分配合適的許可權來使用,用過windows的都知道,windows也是多用戶,多任務的操作系統,每個用戶也都有配置文件,用來定義和保存用戶的環境變數,包括用戶的家目錄,桌面等的配置。那麼linux同樣也是多用戶,多任務操作系統,同樣可以創建多個用戶,定義每個用戶的所屬組,家目錄,登錄的shell,郵件等等環境變數。

在centos7中和用戶相關的配置文件主要包括以下這麼幾個

/etc/passwd

此文件保存著:用戶名:密碼:UID:GID:用戶描述:主目錄:登錄shell

/etc/shadow

此文件記錄的行與passwd中的行一一對應,保存著:用戶名:密碼:最後一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標誌

/etc/group

此文件保存著:用戶組名稱:用戶組密碼:GID:用戶列表(多個用戶之間用,分隔)

/etc/gshadow

此文件與/etc/group文件中的行對應,保存著:用戶組名:加密碼後的密碼:組管理員(多個用,分隔):組成員(多個用,分隔)

/etc/default/useradd

這個文件主要保存著 創建賬戶時的預設值,使用useradd –D查看到的內容就是這個文件中的內容。

/etc/skel

這是個一個目錄,相當於windows中公用的賬號環境設置,比如,可以在這個目錄里放一個文本文件,當創建用戶時,在每個用戶的家目錄里都可以看到這個文件,當然也可以放置公共的配置文件,創建用戶時就可以延用這個配置。

/etc/login.defs

這個是用來設置用戶帳號限制的配置文件,比如密碼的最大過期天數,長度等,但優先順序小於/etc/shadow

/etc/profile

這個文件主要用來保存環境變數的,是全局的,由系統管理員管理

~/.bashrc .bash_history .bash_profile .bash_logout 等

這些文件主要用來定義用戶的環境變數的。

一.用戶管理

1.創建用戶

命令用法:useradd 或 adduser [option] 用戶名

              useradd 或 adduser –D                    用來查看創建賬戶時的預設值

              useradd 或 adduser –D [option]        用來指定或修改創建賬戶時的預設值

                                                                   一般可以修改預設值的參數有:-b –e –f –g –s)

我們用 useradd –help來看一下都有哪些參數

[root@ha1 ~]# useradd --help
Usage: useradd [options] LOGIN
       useradd –D                      
       useradd -D [options]     
Options:
  -b, --base-dir BASE_DIR       指定創建用戶HOME目錄的位置,一般結合 –D 使用                                
  -c, --comment COMMENT         給新用戶添加備註
  -d, --home-dir HOME_DIR       指定用戶家目錄的文件名
  -D, --defaults                用來查看創建賬戶時的預設值,也就是/etc/default/useradd文件中的內容
  -e, --expiredate EXPIRE_DATE  用YYYY-MM-DD格式指定一個賬戶過期的日期
  -f, --inactive INACTIVE       指定這個賬戶密碼過期後多少天這個賬戶被禁用;0表示密碼一過期就被禁用,-1表示禁用這
                                個功能
  -g, --gid GROUP               指定用戶所屬組的GID或組名
  -G, --groups GROUPS           指定用戶除所屬組外的一個或多個附加組
  -h, --help                    display this help message and exit
  -k, --skel SKEL_DIR           必須和-m一起使用,將/etc/skel目錄的內容複製到用戶的HOME目錄
  -K, --key KEY=VALUE           主要用來改寫/etc/login.defs文件中的預設值,如:-K UID_MIN=100 –K UID_MAX=499
  -l, --no-log-init             do not add the user to the lastlog and
                                faillog databases
  -m, --create-home             創建用戶的HOME目錄
  -M, --no-create-home          不創建用戶的HOME目錄
  -N, --no-user-group           不創建與用戶同名的用戶組
  -o, --non-unique              僅與-u選項結合使用,允許創建一個用戶ID不唯一的用戶
  -p, --password PASSWORD       為用戶指定預設密碼
  -r, --system                  創建系統賬戶
  -R, --root CHROOT_DIR         允許用戶根據配置文件來切換家目錄
  -s, --shell SHELL             指定用戶登錄的shell
  -u, --uid UID                 指定用戶的UID
  -U, --user-group              創建與用戶同名的組
  -Z, --selinux-user SEUSER     此選項不常用

舉例說明:

創建名為jerry的用戶,指定HOME目錄:/home/h_jerry,指定UID 1022,不創建同名用戶組,指定密碼:jerry,指定shell:/bin/sh,指定賬戶過期時間:2017-08-09,允許密碼過期後使用,添加用戶描述:first user

[root@ha1 ~]# useradd -m -d /home/h_jerry -u 1022 -N -p jerry -s /bin/sh -e 2017-08-09 -f -1 -c "first user" jerry

用戶創建完成沒報錯說明命令成功執行,那就一步一步來驗證一下:

驗證用戶的UID

[root@ha1 ~]# id jerry
uid=1022(jerry) gid=100(users) groups=100(users)

看到用戶ID 1022沒錯是我們指定的數字,由於沒有創建指定的同名組,所以就用/etc/default/useradd中的預設值的組ID100,預設加入到users組中,都有哪些預設值呢,我們來看一下/etc/default/useradd這個文件

[root@ha1 ~]# cat /etc/default/useradd 
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

看下/etc/passwd文件對應的jerry行的信息

[root@ha1 ~]# cat /etc/passwd |grep jerry
jerry:x:1022:100:first user:/home/h_jerry:/bin/sh

此文件由7段冒號隔開的欄位

第一欄位  jerry表是用戶名

第二欄位  X表示加密碼後的密碼

第三欄位  1022表示UID

第四欄位  100表示組ID

第五欄位  first user表示描述信息

第六欄位  /home/h_jerry表示家目錄

第七欄位  /bin/sh表示登錄的sehll

再來看一下/etc/shadow文件中的內容

[root@ha1 ~]# cat /etc/shadow |grep jerry
jerry:jerry:17386:0:99999:7::17387:

/etc/shadow文件由9個欄位組成,用:分隔

第一欄位  jerry:表示用戶名

第二欄位  jerry:表示密碼,這裡看到是明文的,並沒有被加密碼,但是passwd jerry來修改密碼後就會是加密的。

第三欄位  17386:表示上次修改密碼的時間,這個時間是從1970年1月1號到最近一次修改密碼的時間間隔天數

第四欄位  0:表示2次修改密碼間隔的天數,0表示禁用此功能

第五欄位  99999:表示2次修改密碼間隔最多的天數,也有預設值,是通過/etc/login.defs中PASS_MAX_DAYS定義

第六欄位  7:表示提前7天警告用戶密碼過期,也有預設值,是通過/etc/login.defs中PASS_WARN_AGE定義

第七欄位  在密碼過期之後多少天禁用此用戶,也就是過期多少天後系統禁用此用戶,不能登錄,不會提示過期,完全禁用,

              空:表示密碼過期後賬號仍然可用(-f –1)

第八欄位  17387:用戶過期日期(從19700101開始的天數)和創建用戶指定過期日期正好相符(-e 2017-08-09)

第九欄位  保留欄位 留空

看一下用戶的HOME目錄

[root@ha1 ~]# ll /home
total 0
drwx------. 2 jerry users 62 Aug  8 21:37 h_jerry
[root@ha1 ~]# ll -a /home/h_jerry/
total 16
drwx------. 2 jerry users  83 Aug  9 18:45 .
drwxr-xr-x. 4 root  root   33 Aug  9 18:39 ..
-rw-------. 1 jerry users  11 Aug  9 18:45 .bash_history
-rw-r--r--. 1 jerry users  18 Aug  3  2016 .bash_logout
-rw-r--r--. 1 jerry users 193 Aug  3  2016 .bash_profile
-rw-r--r--. 1 jerry users 231 Aug  3  2016 .bashrc

OK,到這裡用戶創建已經成功,簡單梳理一下創建用戶時系統做了哪些事:

如果創建用戶不帶參數,系統會根據預設值(/etc/default/useradd,/etc/login.defs)創建用戶及同名用戶組,併在HOME目錄里創建同名家目錄,預設的登錄shell為/bin/bash。

如果創建用戶時帶了參數,那麼系統會根據參數來創建指定用戶信息。

用戶創建完成後,/etc/passwd,/etc/shadow這2個文件都會有相應的用戶信息。

在用戶家目錄里都會產生.bash_history .bash_logou .bash_profile .bashrc4個隱藏文件。

開篇提到了/etc/skel這個目錄,到底是乾什麼用的呢,試一下就知道了,在這個目錄里創建一個a.txt的文件,接著再創建一個tcl的新用戶,再看看用戶的家目錄。

[root@ha1 ~]# vi /etc/skel/a.txt
[root@ha1 ~]# useradd tcl
[root@ha1 ~]# ll /home/tcl/
total 4
-rw-r--r--. 1 tcl tcl 28 Aug  9 18:58 a.txt

看到了吧,在/etc/skel目錄里的文件被覆制到了新創建的用戶的家目錄里,註意,已經創建好的用戶家目錄里是沒有的,只對新創建的用戶有效。

2.為用戶設置密碼

使用passwd 用戶名 即可修改相應用戶的密碼

[root@ha1 ~]# passwd jerry
Changing password for user jerry.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@ha1 ~]# echo "jerry" | passwd --stdin jerry
Changing password for user jerry.
passwd: all authentication tokens updated successfully.

3.刪除用戶

userdel 選項 用戶名

userdel –r 用戶名 刪除用戶及家目錄

[root@ha1 ~]# userdel -r tcl
[root@ha1 ~]# ll /home
total 0
drwx------. 2 jerry users 83 Aug  9 18:45 h_jerry
drwx------. 2 test  test  83 Aug  9 18:45 test

4.修改用戶

usermod 選項 用戶名

選項參數   和useradd命令參數大致相同

-d  --home HOME_DIR     指定新的家目錄

-a  --append                   將用戶追加到附加組中而不移出其它組

-l   --login NEW_LOGIN    指定新的用戶名

-L  --lock                        鎖定用戶

-m  --move-home            和-d選項結合使用,移動家目錄中的內容到新的位置

舉例說明:

將jerry用戶改名為natasha,移動家目錄的內容到/home/natasha,指定新的UID為1010,登錄shell改為/bin/bash,並鎖定用戶

[root@ha1 ~]# usermod -l natasha -d /home/natasha -m -u 1010 -s /bin/bash jerry
[root@ha1 ~]# ll /home
total 0
drwx------. 2 natasha users 83 Aug  9 18:45 natasha
drwx------. 2 test    test  83 Aug  9 18:45 test
[root@ha1 ~]# id natasha
uid=1010(natasha) gid=100(users) groups=100(users)
[root@ha1 ~]# cat /etc/passwd |grep natasha
natasha:x:1010:100:first user:/home/natasha:/bin/bash

 

二.用戶組管理

1.創建組

groupadd 選項 組名

選項

-f    --force     強制創建組即使組已存在,如果GID已存在將取消-g選項

-g   --gid GID 指定組GID號

舉例說明:

創建一個名為natasha的組,並將用戶natasha和test分別加入natasha和test組中

[root@ha1 ~]# groupadd -g 1010 natasha
[root@ha1 ~]# usermod -a -G test test
[root@ha1 ~]# cat /etc/group |grep -E "natasha|test"
test:x:1023:test
natasha:x:1010:test,natasha
[root@ha1 ~]# usermod -a -G test natasha
[root@ha1 ~]# cat /etc/group |grep -E "natasha|test"
test:x:1023:test,natasha
natasha:x:1010:test,natasha

2.刪除組

groupdel 組名

3.修改組

groupmod 選項  組名

選項

-g  --gid GID      改變組的ID號

-n  --new-name  改變組名

用法和usermod類似

總結一下,創建組後會在/etc/group,/etc/gshadow文件中產生相應的組信息

/etc/group文件格式說明:分為4個欄位,用冒號隔開

natasha:x:1010:test,natasha

第一欄位:表示組名

第二欄位:表示組密碼,存放在/etc/gshadow文件中

第三欄位:表示組ID號

第四欄位:表示組成員,多個組成員用逗號隔開

/etc/gshadow文件格式說明:分為4個欄位,用冒號隔開

natasha:!::test,natasha

第一欄位:組名

第二欄位:加密碼後的密碼

第三欄位:組管理員(多個用,分隔)

第四欄位:組成員(多個用,分隔)

 

三.文件,目錄許可權管理

在linux中設置文件許可權非常重要,也是最基本的。linux文件的許可權分為讀(r-4)寫(w-2)執行(x-1),和windows一樣設置許可權需要針對用戶,用戶所屬的組,還有其它用戶。只有設置了正確的許可權,相應的用戶才能根據許可權執行相應的操作,很多時候我們配置WEB服務,FTP服務等都需要對相應的文件或文件夾賦與相應的許可權才能正常跑起來,有時遇到問題通過查看錯誤日誌會發現很多情況下是由於許可權不當引起的。

文件許可權分一般許可權和特殊許可權

一般許可權主要指的是:文件所有者的許可權,所屬組的許可權,其它用戶許可權

特殊許可權主要指的是:許可權中帶s或S(SUID,SGID),t或T標誌位

和文件許可權有關的工具命令

 

ls –l    查看文件或目錄的許可權

umask   查看或設置許可權遮罩(即實際許可權=最大許可權-遮罩值)

chmod   改變文件或目錄的許可權

chown   更改文件或目錄的所有者

chgrp    更改文件或目錄的所屬組

getfacl   獲取文件或目錄許可權訪問控制列表

setfacl   設置文件或目錄許可權訪問控制列表

先來看一下文件許可權的查看方式,使用ll命令就可以查看長格式的文件許可權等信息

[root@ha1 test]# ll
 -rw-r--r--. 1 root root 67 Mar 29 20:07 README.md
 drwxr-xr-x. 3 root root 36 Mar 29 20:15 shell
[root@ha1 test]# ll /bin/passwd 
-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /bin/passwd

許可權有3段組成,rwxrwxrwx代表最高許可權,修改許可權時也可以用777表示,-表示沒有此項許可權,本該出現x的位置出現s表示擁有SUID許可權。

SUID對應4,SGID對應2,SBIT對應1

SUID只對二進位程式有效,執行者對於程式需要有X許可權,在程式運行過程中,執行者(普通用戶)將臨時擁有程式所有者的許可權

SGID對於文件來說只對二進位程式有效,普通用戶將會臨時擁有所屬組的許可權,對於目錄來說,用戶對此目錄有RX許可權可以進入目錄,用戶進入目錄後,有效用戶組會變成該目錄的用戶組,若用戶在此目錄有w許可權,則用戶創建的文件用戶組與該目錄用戶組相同

umask說明

umask共4位:uid/gid,屬主,組,其它許可權。可以使用umask命令查看 預設是0022,不過一般用到的是後3位。

預設情況下,創建文件的許可權是644(6-0,6-2,6-2),創建目錄的許可權是755(7-0,7-2,7-2)

[root@ha1 test]# touch a
[root@ha1 test]# umask
0022
[root@ha1 test]# mkdir b
[root@ha1 test]# ll
total 8
-rw-r--r--. 1 root root  0 Aug 10 19:01 a
drwxr-xr-x. 2 root root  6 Aug 10 19:05 b
-rwSr--r-T. 1 root root 65 Mar 29 21:02 index.html
-rw-r--r--. 1 root root 67 Mar 29 20:07 README.md
drwxr-xr-x. 3 root root 36 Mar 29 20:15 shell

修改文件許可權 chmod

例:將 a 文件許可權修改為:所有者有rwx,所屬組:rx,其它用戶:無許可權

[root@ha1 test]# chmod u+x,g+x,o-r a
[root@ha1 test]# ll
total 8
-rwxr-x---. 1 root root  0 Aug 10 19:01 a

修改文件所有者或所有組 chown chgrp

例:將a文件所屬組改為natasha,將b目錄的所有者改為natasha

[root@ha1 test]# chgrp natasha a
[root@ha1 test]# chown -R natasha:root b
[root@ha1 test]# ll
total 8
-rwxr-x---. 1 root    natasha  0 Aug 10 19:01 a
drwxr-xr-x. 2 natasha root     6 Aug 10 19:05 b

設置更詳細的許可權 getfacl setfacl

例:查看a文件的詳細許可權信息

[root@ha1 test]# getfacl a
# file: a
# owner: root
# group: natasha
user::rwx
group::r-x
other::---

setfacl用法:

setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] file ...

setfacl –-restore=file

參數:

-b,--remove-all:刪除所有擴展的acl規則,基本的acl規則(所有者,群組,其他)將被保留。

-k,--remove-default:刪除預設的acl規則。如果沒有預設規則,將不提示。

-n,--no-mask:不要重新計算有效許可權。setfacl預設會重新計算ACL mask,除非mask被明確的制定。 --mask:重新計算有效許可權,即使ACL mask被明確指定。

-d,--default:設定預設的acl規則。

--restore=file:從文件恢復備份的acl規則(這些文件可由getfacl -R產生)。通過這種機制可以恢復整個目錄樹的acl規則。此參數不能和除--test以外的任何參數一同執行。

--test:測試模式,不會改變任何文件的acl規則,操作後的acl規格將被列出。

-R,--recursive:遞歸的對所有文件及目錄進行操作。

-L,--logical:跟蹤符號鏈接,預設情況下只跟蹤符號鏈接文件,跳過符號鏈接目錄。

-P,--physical:跳過所有符號鏈接,包括符號鏈接文件。

--version:輸出setfacl的版本號並退出。

--help:輸出幫助信息。

--:標識命令行參數結束,其後的所有參數都將被認為是文件名 -:如果文件名是-,則setfacl將從標準輸入讀取文件名。

例:將a文件許可權設置為,test1用戶擁有rw許可權,test2用戶擁有x許可權,其它用戶擁有rx許可權

[root@ha1 test]# setfacl -m u:test1:rw,u:test2:x,o::rx a
[root@ha1 test]# getfacl a
# file: a
# owner: root
# group: natasha
user::rwx
user:test1:rw-
user:test2:--x
group::r-x
mask::rwx
other::r-x

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文目錄: 1.1 PXE說明 1.2 PXE流程 1.3 部署環境說明 1.4 部署DHCP服務 1.5 部署FTP 1.6 提供pxe的boot loader和相關配置文件 1.7 從安裝鏡像中獲取Linux內核文件 1.8 設置開機菜單並提供系統安裝文件 1.9 開機測試 1.10 通過pxe ...
  • 任務列表 1.在UCSC下載hg19參考基因組; 2.從gencode資料庫下載基因註釋文件,並且用IGV去查看感興趣的基因的結構,比如TP53,KRAS,EGFR等等。 3.截圖幾個基因的IGV可視化結構 4.下載ENSEMBL,NCBI的gtf,也導入IGV看看,截圖基因結構 5.瞭解IGV常識 ...
  • 打開自帶Firefox瀏覽器,顯示連接不上網,終端下 ping 也顯示 unkown 解決方法: 1.打開虛擬機的“編輯”選項,選擇“虛擬網路編輯器” 2.選擇VMnet8(我不知道為啥VMnet8這麼神奇,要是新建其他號還不行,暫且不管),點擊右下角“更改設置” 3.同時打開 Windows下麵的 ...
  • kickstart自動應答文件選項非常多,以下只說明CentOS 6下幾個常用的可能用到的選項。另外,CentOS 6和CentOS 7的選項有不小區別,所以請註意使用,可以查看官方安裝文檔。 CentOS6的Installation嚮導 CentOS7的Installation嚮導 以下是Cent ...
  • 最重要的一點:在你重裝系統之前,一定要先備份Windows密鑰,不然重裝系統後就查詢不了原來的密鑰,從而無法免費激活。 1.查詢系統密鑰(註冊表中查詢) 打開 “運行”(快捷鍵 win + R) 打開 註冊表編輯器 依次定位到文件夾 HKEY_LOCAL_MACHINE/SOFTWARE/Micro ...
  • 問題背景: 裝了Ubuntu+win10雙系統,在Ubuntu下麵掛載了Windows的D盤。後來因為D空間不夠,進入Windows壓縮C盤分區,擴大了D盤。重啟後無法啟動Ubuntu,進入了emergency mode,提示 /dev/sda5:clean,325676/9117696 files ...
  • 當設置粘著位時只有root或者owner才能刪除、重命名文件。 示例: 用戶apple預設組為fruit。 [root@titan ~]# id apple uid=1001(apple) gid=1001(fruit) 組=1001(fruit) step1 顯示water文件夾信息,文件夾當前未 ...
  • 1.安裝 sudo apt-get install python-virtualenv 2.使用 創建虛擬環境: virtualenv [虛擬環境名稱] 例如: virtualenv python27 激活使用虛擬環境: source ~/workplace/python27/bin/activat ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...