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: 把当前命令送至后台