Linux與用戶相關的目錄結構
/:根目錄
root:超級管理員(root)的家
home:其他用戶(普通用戶)的家
etc:配置文件
usr:存放共享文件的(軟件的安裝路徑)
lib:依賴庫
Linux用戶組和用戶的概念
基本概念
用戶分爲 超級管理員 和 普通用戶
用戶組 是用戶的管理單元,一個用戶至少屬於一個用戶組
依賴關係
- 超管 操作用戶
超管可以創建、修改、刪除 、修改密碼 - 超管 操作用戶組
超管可以增刪改用戶組、可以移動用戶至不同用戶組
用戶組類似於標籤,同一個用戶可能有多個標籤,也就是 一個用戶可以屬於多個用戶組 - 用戶操作
不能 增刪改用戶、用戶組
超管 管理用戶組
- 新增用戶組
groupadd 組名
- 查看用戶組
某個用戶所屬的組名 :groups 用戶名
- 修改組名
groupmod -n 新組名 原組名
- 刪除用戶組
groupdel 組名
ps: 用戶組下有用戶,需要先刪除完用戶才能刪除用戶組
超管 管理用戶
-
創建用戶
useradd -m [-g 組名] 新用戶名
參數解釋:
1.-m
自動在/home目錄了,建立用戶家目錄,家目錄名字就是新用戶名
2.-g
組名 指定新用戶所在的組,如果不帶"-g 組名"參數的話,會建立和新用戶名同名的組 -
設置用戶密碼(修改)
passwd 新用戶名
-
修改用戶名
usermod -l 新名 舊名
-
刪除用戶
userdel -r 用戶名
參數解釋:
1.-r
recursion的縮寫,遞歸。 將用戶名的目錄文件遞歸刪除
1.1 如果使用 -r 參數,再增加同名的用戶名會報Creating mailbox file: File exists
的錯誤
超管 管理用戶和用戶組
- 新增用戶到用戶組
useradd -m -g 組 新用戶名
- 將用戶移動到用戶組
usermod -g 組 用戶名
- 將用戶複製到用戶組
usermod -G 組 用戶名
- 從組中刪除用戶
gpasswd -d 用戶名 組
PS:能刪除的用戶只能是從其他組複製過來的用戶,如果要刪除組中的唯一用戶,使用:userdel -r 用戶名
超管 查看並修改 /etc/sudoers 文件的讀寫權限
1. ll -h 查看sudoers的權限
[root@james etc]# ll -h
-r–r-----. 1 root root 4.0K Mar 2 2012 sudoers
長度爲10的表達式,第一位是文件類型標識位,後面9位是 3 * 3 的權限定義位
- 文件標識位
-
: 文件
d
: 目錄 - 爲什麼是三個3
- 第一個3
當前用戶的權限 - 第二個3
跟當前用戶同組的用戶的權限 - 第三個3
其它組的用戶的權限
- 爲什麼每組有3位
- 第1位
r : 英語read的縮寫 讀權限 - 第2位
w : 英語write的縮寫 寫權限 - 第3位
x : 執行權限
-r–r-----. root用戶具備可讀可寫可執行的權限,跟root同組的用戶只可讀,其他組的用戶沒有任何權限
2. -r–r----- 的二進制表示
第1位:-
文件
第2 - 4位 : r--
=100
= 1 * 22 + 0 * 11 + 0 * 10 = 4
第5 - 7位 第 8 - 10位 同理
3. 使用二進制參數修改sudoers的權限
[root@james etc]# chmod 740 sudoers
[root@james etc]# ll -h | grep sudoers
-rwxr-----. 1 root root 4.0K Mar 2 2012 sudoers
超管 使用/etc/sudoers 授予用戶sudo權限
vim /etc/sudoers
加入
普通用戶 使用超管命令 – 必須加上sudo前綴
[tom@james ~]$ usermod -G emp tom
-bash: /usr/sbin/usermod: Permission denied
[tom@james ~]$ sudo usermod -G emp tom
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for tom:
[tom@james ~]$