Linux權限:
安全模型:mysql
文件權限:
r, w, x(提交給內核啓動一個進程來運行)linux
目錄權限:
r(ls), w(建立和刪除文件), x(cd,ls -l)
rwx:
r--:只讀 每一位就有兩種可能,就是 有 無 至關於一位二進制數
r-x:讀和執行
---:無權限
0 000 ---:無權限 三位二進制組成就是八進制
1 001 --x: 執行
2 010 -w-: 寫
3 011 -wx: 寫和執行
4 100 r--: 只讀
5 101 r-x: 讀和執行
6 110 rw-: 讀寫
7 111 rwx: 讀寫執行sql
rwx: rw-, r--, r-x
rwx: 111, 7
rw-: 110, 6
r-x: 101, 5
r--: 100, 4
-wx: 011, 3
-w-: 010, 2
--x: 001, 1
---: 000, 0shell
750: rwxr-x---centos
練習:
一、600,640,660,775, 755, 750,700, 400
二、rwxr-x---, r-xr-x---, rw-r-----, rw-rw-r--, rwxr-xr-x安全
perm 權限
mode: 各用戶權限
ownership: 屬組和屬主 bash
chmod
chown
chgrpui
chmod:
操做三類用戶的權限:使用八進制來進行
NAME
chmod - change file mode bits命令行
SYNOPSIS
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...遞歸
操做指定類別使用者的權限:=
u: 屬主
g: 屬組
o: 其它
a: all 全部用戶
指定一個或多個類別=mode
chmod u=rw
chmod ug=rw
chmod o=
[root@linux_basic tmp]# chmod u=rwx A
[root@linux_basic tmp]# ls -l A
-rwxr--r--. 1 root hello 0 Dec 20 18:04 A
[root@linux_basic tmp]# chmod o= A
[root@linux_basic tmp]# ls -l A
-rwxr-----. 1 root hello 0 Dec 20 18:04 A
[root@linux_basic tmp]# chmod a=rw A
[root@linux_basic tmp]# ls -l A
-rw-rw-rw-. 1 root hello 0 Dec 20 18:04 A
[root@linux_basic tmp]# chmod ug=x A
[root@linux_basic tmp]# ls -l A
---x--xrw-. 1 root hello 0 Dec 20 18:04 A
操做指定類別的使用者指定權限位:+/-
chmod u+x
chmod +w
--reference=FILE: 參考FILE的權限
--reference=RFILE
use RFILE’s mode instead of MODE values
-R: 遞歸修改
-R, --recursive
change files and directories recursively
[root@linux_basic tmp]# ls -l
total 40
---x--xrwx. 1 root hello 0 Dec 20 18:04 A
drwxrwxrwx. 2 root root 4096 Dec 21 15:05 free
-rw-r--r--. 1 root root 863 Dec 22 09:10 fstab
drwxr-xr-x. 25 root root 4096 Dec 21 12:09 hello
drwxr-xr-x. 14 root root 4096 Dec 20 17:10 mylinux
drwxr-xr-x. 10 root root 4096 Dec 21 16:23 mylog
-rw-r--r--. 1 root root 27 Oct 23 19:41 system-release
-rw-r--r--. 1 root root 0 Dec 20 19:55 test
drwxr-xr-x. 2 root root 4096 Dec 21 15:02 test.txt
drwxr-xr-x. 2 root root 4096 Dec 21 17:57 user3
-rw-r--r--. 1 root root 0 Dec 20 18:04 yoH
drwxr-xr-x. 16 root root 4096 Dec 21 15:35 you
-rw-r--r--. 1 root root 0 Dec 20 18:02 yoU
-rw-r--r--. 1 root root 31 Dec 21 13:19 you.txt
[root@linux_basic tmp]# chmod --reference=fstab A
[root@linux_basic tmp]# ls -l A fstab
-rw-r--r--. 1 root hello 0 Dec 20 18:04 A
-rw-r--r--. 1 root root 863 Dec 22 09:10 fstab
練習:複製/etc/skel及其內部的全部內容爲/home/mageedu; 要求此目錄及其內部的全部文件對其它用戶和組沒有任何訪問權限;
# cp -r /etc/skep /home/mageedu
# chmod -R go= /home/mageedu
chown
chgrp
chown [-R] [--reference=] USER FILE... 即改屬主和屬組
-R, --recursive
operate on files and directories recursively
chgrp [-R] [--reference=] GROUP FILE... 只改屬組不改屬主
[root@linux_basic tmp]# ls -ld you
drwxr-xr-x. 16 root root 4096 Dec 21 15:35 you
[root@linux_basic tmp]# chgrp --reference=/home/user11 you
[root@linux_basic tmp]# ls -ld you
drwxr-xr-x. 16 root user11 4096 Dec 21 15:35 you
chown [-R] [--reference=] USER:GROUP FILE...
--reference=RFILE
use RFILE’s owner and group rather than specifying OWNER:GROUP values
chown [-R] [--reference=] USER.GROUP FILE...
練習:
一、手動編輯/etc/passwd文件新建一個用戶openstack,並編輯/etc/group文件建立其所屬的基本組;
建立完成後使用su命令切換至此用戶,查看其命令提示符及PATH和HOME兩個環境變量的值;
二、複製/etc/skel目錄爲/home/openstack;
三、改變/home/openstack及其內部文件的屬主屬組均爲openstack;
四、/home/openstack及其內部的文件,屬組和其它用戶沒有任何訪問權限;
練習:
完成如下任務:
(1)新建系統組mysql;新建系統用戶mysql,屬於mysql組,要求其沒有家目錄且shell爲/sbin/nologin;
(2)新建GID爲600的組magedu;新建用戶gentoo,要求其家目錄爲/users/gentoo,密碼同用戶名;
(3)新建用戶centos,其家目錄爲/users/centos,密碼同用戶名;
(4)新建用戶www,其家目錄爲/users/www;刪除www用戶,但保留其家目錄;
(5)用戶gentoo和centos均以magedu爲其附加組;
思考?
umask:遮罩碼
NAME
umask - get or set the file mode creation mask
SYNOPSIS
umask [-S][mask]
666-umask 設置後只在當前shell有效
777-umask
管理員 文件 644 目錄755
普通用戶 文件 664 目錄775
# umask
# umask 022
文件默認不能具備執行權限,若是算得的結果中有執行權限,則將其權限加1;
umask: 023
文件:666-023=643 X
目錄:777-023=754
umask
文件:
666-umask
目錄:
777-umask
022: 644, 755 管理員
002: 664, 775 uid和gid相同用戶的umask纔是002
注意:若文件使用666-umask的結果中存在執行權限,則對應的權限會被加1後做用生效的權限;
bash:快捷鍵
Ctrl+a: 跳轉至命令行首
Ctrl+e: 尾
Ctrl+u: 刪除命令行首至當前光標所在處以前的全部內容
Ctrl+k: 刪除當前光標所在處至命令行尾的全部內容
Ctrl+l: 清屏 clear
Ctrl+c: 停止或取消
Ctrl+z: 把當前命令送至後臺