Linux筆記07(用戶和組+權限)

學習筆記仍是要堅持寫下來的!算法

1、用戶相關操做

管理員UID爲0:系統的管理員用戶。apache

系統用戶UID爲1~999: Linux系統爲了不因某個服務程序出現漏洞而被***提權至整臺服務器,默認服務程序會有獨立的系統用戶負責運行,進而有效控制被破壞範圍。安全

普通用戶UID從1000開始:是由管理員建立的用於平常工做的用戶。bash

(一)id命令

顯示用戶詳細信息 服務器

語法格式:「id 用戶名」 markdown

[root@mmx ~]# id root
uid=0(root) gid=0(root) groups=0(root)
[root@mmx ~]# id mmx
uid=1002(mmx) gid=1003(mmx) groups=1003(mmx)

兩個重要目錄:app

  1. /etc/passwd(密碼信息)tcp

    [root@mmx ~]# cat /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    ……
    good:x:1001:1002::/home/good:/bin/bash
    mmx:x:1002:1003::/home/mmx:/bin/bash
  2. /etc/group(組信息)ide

    [root@mmx ~]# cat /etc/group
    root:x:0:
    bin:x:1:
    daemon:x:2:
    sys:x:3:
    adm:x:4:
    tty:x:5:
    disk:x:6:
    lp:x:7:
    mem:x:8:
    kmem:x:9:
    wheel:x:10:
    ……
    apache:x:48:
    nice:x:1001:
    good:x:1002:
    mmx:x:1003:

(二)useradd命令

建立新的用戶帳戶 學習

語法格式:「useradd [參數] 用戶名」

[root@mmx ~]# useradd nice
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
Creating mailbox file: File exists
[root@mmx ~]# id nice
uid=1001(nice) gid=1001(nice) groups=1001(nice)
[root@mmx ~]#

(三)groupadd命令

建立新的用戶組

語法格式:「groupadd [參數] 羣組名」

[root@mmx ~]# useradd nice

(四)usermod 命令

用於修改用戶的屬性

語法格式:「 usermod [參數] 用戶名」

參數 做用
-c 填寫用戶帳戶的備註信息
-d -m 參數-m與參數-d連用,可從新指定用戶的家目錄並自動把舊的數據轉移過去
-e 帳戶的到期時間,格式爲YYYY-MM-DD
-g 變動所屬用戶組
-G 變動擴展用戶組
-L 鎖定用戶禁止其登陸系統
-U 解鎖用戶,容許其登陸系統
-s 變動默認終端
-u 修改用戶的UID
# 用戶組更改成root,拓展組更改成nice
[root@mmx ~]# usermod -g root -G happy nice
[root@mmx ~]# id nice
uid=1001(nice) gid=0(root) groups=0(root),1002(happy)

(五)passwd命令

修改用戶的密碼、過時時間等信息

語法格式:「 passwd [參數] 用戶名」

參數 做用
-l 鎖定用戶,禁止其登陸
-u 解除鎖定,容許用戶登陸
--stdin 容許經過標準輸入修改用戶密碼,如echo "NewPassWord" | passwd --stdin Username
-d 使該用戶可用空密碼登陸系統
-e 強制用戶在下次登陸時修改密碼
-S 顯示用戶的密碼是否被鎖定,以及密碼所採用的加密算法名稱

方式1:(傳統)

[root@mmx ~]# passwd nice 
Changing password for user nice.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

方式2:(不安全/快速)

[root@mmx ~]# clear
[root@mmx ~]# echo 123456 | passwd --stdin nice 
Changing password for user nice.
passwd: all authentication tokens updated successfully.

(六)userdel命令

刪除已有的用戶帳戶

語法格式:「 userdel [參數] 用戶名」

[root@mmx ~]# id nice
uid=1001(nice) gid=0(root) groups=0(root),1002(happy)
[root@mmx ~]# userdel nice 
userdel: group nice not removed because it is not the primary group of user nice.
[root@mmx ~]# id nice
id: ‘nice’: no such user
  1. 刪除主目錄
[root@mmx ~]# ls /home/
mmx  nice  workdir
[root@mmx ~]# rm -rf /home/nice
[root@mmx ~]# ls /home/
mmx  workdir
  1. 查看註冊文件
    [root@mmx ~]# tail -n 5 /etc/passwd
    insights:x:978:976:Red Hat Insights:/var/lib/insights:/sbin/nologin
    avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
    tcpdump:x:72:72::/:/sbin/nologin
    apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
    mmx:x:1000:1000::/home/mmx:/bin/bash

[root@mmx ~]# tail -n 5 /etc/passwd
insights:x:978:976:Red Hat Insights:/var/lib/insights:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
mmx:x:1000:1000::/home/mmx:/bin/bash
[root@mmx ~]# tail -n 5 /etc/group
tcpdump:x:72:
apache:x:48:
mmx:x:1000:
nice:x:1001:
happy:x:1002:

3. 刪除相關注冊文件

[root@mmx ~]# groupdel nice
[root@mmx ~]# groupdel happy
[root@mmx ~]# tail -n 5 /etc/group
avahi:x:70:
slocate:x:21:
tcpdump:x:72:
apache:x:48:
mmx:x:1000:

方式2:一步到位方式刪除用戶

[root@mmx ~]# id mmx
uid=1000(mmx) gid=1000(mmx) groups=1000(mmx)

[root@mmx ~]# ls -l /home/
total 4
drwx------. 15 mmx mmx 4096 Jul 4 20:37 mmx
drwxr-xr-x. 2 root root 6 Jun 27 22:00 workdir

[root@mmx ~]# userdel -rf mmx

[root@mmx ~]# id mmx
id: ‘mmx’: no such user

[root@mmx ~]# ls /home/
workdir

# 2、文件的權限

## (一)重要命令+重要路徑

#### 一、chmod命令

>  chmod命令用於設置文件的通常權限及特殊權限 
>
>  語法格式爲:「chmod [參數] 文件名」

[root@mmx Desktop]# echo mmx > super_mmx.txt
[root@mmx Desktop]# ls -l super_mmx.txt
-rw-r--r--. 1 root root 4 Jul 4 22:07 super_mmx.txt

[root@mmx Desktop]# chmod 700 super_mmx.txt

設置僅root可執行

[root@mmx Desktop]# ls -l super_mmx.txt
-rwx------. 1 root root 4 Jul 4 22:07 super_mmx.txt

#### 二、chown命令

>  chown命令用於設置文件的全部者和全部組 
>
>  語法格式爲:「chown 全部者:全部組 文件名」

新建mmx用戶

[root@mmx Desktop]# useradd mmx
[root@mmx Desktop]# usermod -g root mmx

將mmx用戶全部組設置成root

[root@mmx Desktop]# id mmx
uid=1000(mmx) gid=0(root) groups=0(root)

更改super_mmx.txt全部者爲mmx,所屬組爲root

[root@mmx Desktop]# chown mmx:root super_mmx.txt
[root@mmx Desktop]# ls -l super_mmx.txt
-rwx------. 1 mmx root 4 Jul 4 22:07 super_mmx.txt

#### 三、/etc/passwd文件解析

> root:`x`:0:0:root:/root:/bin/bash
> 用戶名:/etc/shadow(密碼存放路徑):UID:GID:家目錄:主目錄

[root@mmx Desktop]# head -n 5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

## (二)標準權限

> 管理員   root    權限最大    限制最小
>
> 系統用戶  獨立運行特定服務
>
> 普通用戶  平常工做可使用類型

***文件的讀、寫、執行權限英文全稱分別是read、write、execute*** 

| 權限項   | 讀r  | 寫w  | 執行x | 合計 |
| -------- | ---- | ---- | ----- | ---- |
| 所屬者   | 4    | 2    | 1     | 7    |
| 所屬組   | 4    | 2    | 1     | 7    |
| 其餘用戶 | 4    | 2    | 1     | 7    |

#### 練習:設置文件夾755屬性

> 全部者:可讀可寫可執行
>
> 所屬組:可讀可執行
>
> 其餘用戶:可讀可執行

方式1:使用rwx方式

[root@mmx Desktop]# chmod +rwxr-xr-x nice
[root@mmx Desktop]# ls -al nice/
total 0
d-w-------. 3 root root 18 Jul 4 21:52 .
drwxr-xr-x. 3 root root 18 Jul 4 21:52 ..
drwxr-xr-x. 2 root root 6 Jul 4 21:52 good

方式2:使用數字法

清空全部權限

[root@mmx Desktop]# ls -l nice
total 0
d---------. 2 root root 6 Jul 4 21:52 good

使用數字法設置權限

[root@mmx Desktop]# chmod 755 nice -R
[root@mmx Desktop]# ls -l nice
total 0
drwxr-xr-x. 2 root root 6 Jul 4 21:52 good

## (三)特殊權限

> SUID、 SGID 、 SBIT
>
>  SUID是一種對二進制程序進行設置的特殊權限,可以讓二進制程序的執行者臨時擁有屬主的權限(僅對擁有執行權限的二進制程序有效)
>
>  SGID特殊權限有兩種應用場景,當對二進制程序進行設置時,可以讓執行者臨時獲取到文件全部組的權限;而對目錄進行設置時,則是讓目錄內新建立的文件自動繼承該目錄原有用戶組的名稱。 
>
>  SBIT特殊權限位可確保用戶只能刪除本身的文件,而不能刪除其餘用戶的文件。 

> 特殊權限展現表SUID、 SGID 、 SBIT
>
> 注意:SUID=4,SGID=2,SBIT=1 

| 特殊權限 | 表示方式(x存在) | 表示方式(x不存在) |
| -------- | --------------- | ----------------- |
| SUID     | rwx → rws       | rw- → rwS         |
| SGID     | rwx→rws         | rw- → rws         |
| SBIT     | rwx→rwt         | rw-→rwT           |

> 設置權限參數表

| 參數 | 做用         |
| ---- | ------------ |
| u+s  | 設置SUID權限 |
| u-s  | 取消SUID權限 |
| g+s  | 設置SGID權限 |
| g-s  | 取消SGID權限 |
| o+t  | 設置SBIT權限 |
| o-t  | 取消SBIT權限 |

***新建目錄mmx/good***

[root@mmx Desktop]# mkdir mmx/good -p

#### 一、SUID使用

方式1:使用權限參數(設置/取消)

[root@mmx Desktop]# chmod u+s -R mmx
[root@mmx Desktop]# ls -l mmx
total 0
drwsr-xr-x. 2 root root 6 Jul 4 22:34 good

#取消權限
[root@mmx Desktop]# chmod u-s -R mmx
[root@mmx Desktop]# ls -l mmx
total 0
drwxr-xr-x. 2 root root 6 Jul 4 22:34 good

方式2:數字法

[root@mmx Desktop]# chmod -R +4000 mmx
[root@mmx Desktop]# ll mmx/
total 0
drwsr-xr-x. 2 root root 6 Jul 4 22:34 good

#取消權限
[root@mmx Desktop]# ll mmx
total 0
drwxr-xr-x. 2 root root 6 Jul 4 22:34 good

#### 二、SGID使用
方式1:使用權限參數(設置/取消)

[root@mmx Desktop]# chmod g+s mmx -R
[root@mmx Desktop]# ll
total 0
drwxr-sr-x. 3 root root 18 Jul 4 22:34 mmx

#取消權限
[root@mmx Desktop]# chmod g-s mmx -R
[root@mmx Desktop]# ll
total 0
drwxr-xr-x. 3 root root 18 Jul 4 22:34 mmx

方式2:數字法

[root@mmx Desktop]# chmod 0000 mmx -R
[root@mmx Desktop]# ll
total 0
d---------. 3 root root 18 Jul 4 22:34 mmx

[root@mmx Desktop]# chmod 2701 mmx -R
[root@mmx Desktop]# ll
total 0
drwx--S--x. 3 root root 18 Jul 4 22:34 mmx

#### 三、SBIT使用
方式1:使用權限參數(設置/取消)

[root@mmx Desktop]# chmod o+t mmx -R
[root@mmx Desktop]# ll
total 0
d-----S--T. 3 root root 18 Jul 4 22:34 mmx

#取消權限
[root@mmx Desktop]# chmod o-t mmx -R
[root@mmx Desktop]# ll
total 0
d-----S---. 3 root root 18 Jul 4 22:34 mmx

方式2:數字法

[root@mmx Desktop]# chmod -R +4000 mmx
[root@mmx Desktop]# ll mmx/
total 0
drwsr-xr-x. 2 root root 6 Jul 4 22:34 good

[root@mmx Desktop]# chmod 1777 mmx -R
[root@mmx Desktop]# ll
total 0
drwxrwsrwt. 3 root root 18 Jul 4 22:34 mmx

#### 四、混合使用
方式1:使用權限參數(設置/取消)

[root@mmx Desktop]# ll
total 0
d---------. 3 root root 18 Jul 4 22:34 mmx

[root@mmx Desktop]# chmod u+s mmx -R
[root@mmx Desktop]# ll
total 0
d--S------. 3 root root 18 Jul 4 22:34 mmx
[root@mmx Desktop]# chmod g+s mmx -R
[root@mmx Desktop]# ll
total 0
d--S--S---. 3 root root 18 Jul 4 22:34 mmx
[root@mmx Desktop]# chmod o+t mmx -R
[root@mmx Desktop]# ll
total 0
d--S--S--T. 3 root root 18 Jul 4 22:34 mmx

> 這樣引用會報錯:chmod s+u+g+o mmx -R

[root@mmx Desktop]# chmod s+u+g+o mmx -R
chmod: invalid mode: ‘s+u+g+o’
Try 'chmod --help' for more information.

方式2:數字法

[root@mmx Desktop]# chmod 7777 mmx -R
[root@mmx Desktop]# ll
total 0
drwsrwsrwt. 3 root root 18 Jul 4 22:34 mmx

執行區域設置爲0,所有大寫展現

[root@mmx Desktop]# chmod 7666 -R mmx
[root@mmx Desktop]# ll
total 0
drwSrwSrwT. 3 root root 18 Jul 4 22:34 mmx

須要先減去特殊權限,在設置成0000才能將權限清空

[root@mmx Desktop]# chmod -7000 mmx -R
[root@mmx Desktop]# chmod 0000 mmx
[root@mmx Desktop]# ll
total 0
d---------. 3 root root 18 Jul 4 22:34 mmx

> 本節學習用戶相關操做和文件的權限操做
>
> 一、用戶:id、useradd、userdel、usermod、groupadd、groupdel……
>
> 二、權限:r可讀,w可寫,x可執行
>
> 三、SUID臨時使用權
>
> 四、SGID臨時得到全部組
>
> 五、SBIT僅僅文件建立可可刪除
>
> 六、chmod和chown命令使用
相關文章
相關標籤/搜索