使用者許可權管理
關於linux使用者
現代作業系統一般屬於多使用者的作業系統,也就是說,同一臺機器可以為多個使用者建立賬戶,一般這些使用者都是為普通使用者,這些普通使用者能同時登入這臺計算機,計算機對這些使用者分配一定的資源。
普通使用者在所分配到的資源內進行各自的操作,相互之間不受影響。但是這些普通使用者的許可權是有限制的,且使用者太多的話,管理就不便,從而引入root使用者。
此使用者是唯一的,且擁有系統的所有許可權。root使用者所在的組稱為root組。“組”是具有相似許可權的多個使用者的集合。
使用者種類
- root使用者:超級管理員 #符命令列 (id 為 0)
- 具有許可權的管理員使用者:可以透過sudo提升命令許可權 $符命令列
- 普通使用者 $符命令列(id 大於 999)
- whoami 檢視我目前的使用者名稱。
使用者命令
新建使用者
useradd + 使用者名稱 新建某使用者名稱使用者
修改使用者密碼
passwd + 使用者名稱 修改某使用者名稱的密碼(不加使用者名稱就可以修改自己的密碼)
關於使用者
使用者的相關資訊儲存於 /etc/password 當中,並且每個使用者都有各自的檔案目錄。(稱為使用者目錄,也叫~)
- 注意:root使用者的目錄為/root 在(根目錄)/下面。而普通使用者的目錄全部在/home/的子目錄下面。(/root與/home為同級目錄)。
命令 id + 使用者名稱:
檢視使用者ID:uid 使用者ID、gid 使用者組id、groups 使用者組號碼
使用者切換
su + '-' + 使用者名稱
進行使用者的切換。(root可以切普通,其他切換需要密碼)
臨時提權的命令(sudo)
透過sudo提高自身的許可權,以操作其他的檔案。
- 只有加入配置檔案有許可權的使用者才能進行臨時提權(配置檔案為/etc/sudoers,只有root才能進行操作)
- 定位於配置檔案當中,在其中加入可以提權的使用者資訊
- 最後就可以提高自己的許可權來操作其他內容
檔案許可權
檔案的許可權分三類:(檔案許可權總共10個字元,第一個表示檔案種類(-表示文字檔案、d表示資料夾、l表示軟連結),剩下的每三個一組,表示許可權)
- 屬主(所屬使用者)users(u)
- 屬組(所屬使用者組別)group(g)
- 其他人(對其他人的許可權)other(o)
許可權
每三個一組的許可權分別是,r、w、x,r為可讀,w為可寫、x為可執行。
注:檔案許可權可以透過ll(ls -l)檢視。
許可權更改
許可權的管理:
chmod + 許可權標誌 +檔名
-
修改許可權的兩種方法:
- 直接透過u、g、o三種使用者的身份,加減r、w、x三種許可權來使用
# 為屬主使用者新增讀、寫和執行許可權 chmod u+r u+w u+x nh.txt # 為屬組使用者減去讀、寫和執行許可權 chmod g-r g-w g-x nh.txt chmod o+r o+w o+x nh.txt
- 將許可權r、w、x轉化為數字,以數字之和來表示許可權,並根據一個三位數字的位數賦予許可權。
r 4 / w 2 / x 1
# 為所有使用者新增讀寫和執行許可權 chmod 777 nh.txt # 為屬主使用者留下執行許可權,屬組可讀,其他人可以執行和寫。 chmod 143 nh.txt
更改檔案所屬
chown 更改檔案屬主
chown + 主名 將檔案分配給某人
chgrp 更改檔案屬組
chgrp + 組名 將檔案分配給某組
所以,此時admin使用者就沒法讀寫了,因為admin屬於其他人。
軟連結
可以理解為快捷方式
語法:
ln -s 目標檔案 快捷方式名稱
命令提示符(PS1)
它和PATH一樣,是一個環境變數,改動一些提示。也就是輸命令的地方:
用法如下:
linux語言切換
此項最佳化為可選項,根據個人情況選擇是否調整Linux系統的字符集,字符集就是一套文字元號以及編碼。
Linux下常用字符集有:
GBK 實際企業應用較少
UTF-8 廣泛支援,MYSQL也使用UTF-8,企業廣泛使用
# 中文
# vim /etc/profile.d/locale.sh
export LC_CTYPE=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
# vim /etc/locale.conf
LANG=zh_CN.UTF-8
# vim /etc/sysconfig/i18n
LANG=zh_CN.UTF-8
# vim /etc/environment
LANG=zh_CN.UTF-8
LC_ALL=zh_CN.UTF-8
# 英文
# vim /etc/profile.d/locale.sh
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
# vim /etc/locale.conf
LANG=en_US.UTF-8
# vim /etc/sysconfig/i18n
LANG=en_US.UTF-8
# vim /etc/environment
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
# 最後執行
locale