linux上用戶管理 以及 相應權限
查看 增加 刪除用戶 修改密碼
用戶 用戶組 用戶默認目錄 用戶shell路徑 等
用戶管理 相關文件
1. 查看系統有哪些用戶
cat /etc/passwd
linux上面的用戶都會寫在上面這個文件中/etc/passwd
每行表示一個用戶 不同字段通過 : 分開 共七個字段
root: x:0:0:root:/root:/bin/bash
username:passwd:User Id:Group Id:comment:home dir:shell
字段id | 說明 |
---|---|
1 | 用戶名 |
2 | 密碼 x表示 真正的密碼在 /etc/shadow加密存儲 |
3 | 用戶id |
4 | 用戶組id |
5 | 注釋 |
6 | 用戶目錄 |
7 | shell路徑 |
2. 查看用戶密碼
root用戶下執行
cat /etc/shadow
密碼在另一個文件/etc/shadow中 這個文件只對root用戶可讀
每行表示一個用戶 不同字段通過 : 分開 共八個字段
root:
!!$6$Bj6gWbwf$T/i4LnqdnzwbnBXSDExUNhDGiZ0fnrvXoKoywrao322ianPjatAR1Vz0cPjHEo3rOv9FN6FMmsCcwaDRdkr7Z.:
16498:
0:
99999:
7:::
字段id | 說明 |
---|---|
1 | 帳號 |
2 | 密碼 |
3 | 自1970-01-01 密碼被修改的天數 |
4 | 多少天后允許修改密碼 0 表示隨時可修改 |
5 | 多少天后 系統強制用戶修改成新密碼 1 表示永遠不能修改 |
6 | 密碼過期前多少天 系統提示用戶密碼將過期 -1 不會有警告 |
7 | 密碼過期后多少天 系統禁用這個帳號 -1 表示永不禁用 |
8 | 這個帳號被禁用的天數 |
3. 查看用戶所屬組
cat /etc/group
用戶所屬組的信息在 /etc/group 這個文件中
root: x:0:
group_name:passwd:GID:user1,user2..
每行表示一個用戶組 不同字段通過 : 分開 共4個字段
參考:
http://blog.chinaunix.net/uid-26100163-id-3011493.html
用戶管理 相關命令
0. 查看用戶信息
id username
例:id root
uid=0(root) gid=0(root) groups=0(root)
1. 添加用戶
相關指標: 用戶名 所屬組 用戶主目錄 shell目錄 注釋
adduser -c 測試用戶 -d /home/fadeq -g root -s /usr/bin fadeq
adduser 可選參數
-c 用戶描述
-g 所屬主用戶組 默認新建一個用戶名同名的用戶組
-G
-d 用戶主目錄 默認 /home/用戶名
-s 用戶shell目錄 默認 /bin/bash
默認情況下
adduser fadeq
會創建 用戶 username 同時創建 username 用戶組 和 /home/username 用戶目錄
可用 -g 指定用戶組 可用 -d 指定用戶目錄
2. 修改用戶
修改用戶資源路徑
usermod -d /home/new -s /bin/bash -g develop -G root
3. 刪除用戶
刪除用戶在 /etc/passwd /etc/shadow /etc/group 這幾個文件中的相關內容
userdel -r username
-r 同時刪除用戶主目錄
4. 設置密碼
passwd username
輸入密碼
# 刪除用戶的密碼
passwd -d username
# 鎖定某個用戶 使其不能登錄
passwd -l username
5. 切換用戶組
su user_name 切換用戶 並定位到用戶的主目錄
6. 創建用戶組
# 增加一個用戶組
groupadd group_name
# 增加一個用戶組 並指定GID 這個GID不能是已經存在的GID
# 在不指定GID的情況下 系統根據當前最大GID數加一 作為GID
groupadd -g GID group_name
groupadd grp1
tail -n 3 /etc/group
# grp1: x:500
groupadd -g 510 grp2
tail -n 3 /etc/group
# grp1: x:500
# grp2: x:510
groupadd grp2
tail -n 3 /etc/group
# grp1: x:500
# grp2: x:510
# grp3: x:511 #這里顯示的GID是從最大的GID (510) 加一確定的(511)
修改用戶組
groupmod [-g gid[-o]] [-n group_name] group
# -g gid 指定用戶組id
#-n group_name:修改用戶組名為group_name
#-o 此選項允許添加一個非唯一的GID值
groupmod [-g] group_name
# -g:gid 指定用戶組id
# 修改
groupmod -n old_grp_name new_grp_name
刪除
groupdel group_name
參考:http://www.cnblogs.com/end/archive/2011/05/25/2057129.html
用戶權限
執行ls -l 或者ll 顯示如下
-rwxr-xr-x 1 root root 1861877 Feb 2 2018 composer.phar
drwxr-xr-x 4 mysql mysql 4096 Aug 17 2018 data
- 10個字符確定不同用戶能對文件干什么
- 第一個字符代表文件(-)、目錄(d),鏈接(l)
- 其余字符每3個一組(rwx),讀(r)、寫(w)、執行(x)
- 第一組rwx:文件所有者的權限是讀、寫和執行(文件所有者)
- 第二組r-x:與文件所有者同一組的用戶的權限是讀、執行但不可寫(同組用戶)
- 第三組r-x:不與文件所有者同組的其他用戶的權限是讀不能寫和執行(其他用戶)
也可用數字表示為:r=4,w=2,x=1 因此rwx=4+2+1=7
即有以下情況:4:只讀,2:只寫,1:執行 ,5:可讀可執行,6:可讀可寫,7:可讀可執行可寫,3:可執行可寫不可讀 - 1 表示連接的文件數
- root 表示用戶
- root表示用戶所在的組
- 1213 表示文件大小(字節)
- Feb 2 2018 表示最后修改日期
- composer.phar 表示文件名
注:目錄的 可讀(r) 與 可執行(x) 權限的區別
目錄的可執行權限是表示你可否在目錄下執行命令。如果目錄沒有-x權限,則無法對目錄執行任何命令,甚至無法cd 進入目錄。即使目錄仍然有-r 讀權限 而如果目錄具有-x權限,但沒有-r權限,則用戶可以執行命令,可以cd進入目錄。但由於沒有目錄的讀權限,所以在目錄下,即使可以執行ls命令,但仍然沒有權限讀出目錄下的文檔。