1.Linux中具体用户的分类
root VS 普通用户
whoami : 查询用户
普通用户切换root: su-
2.LInux中文件相关的权限概念
第一列的第一个字符,叫做文件类型
Linux系统不是以文件名后缀区分文件类型的,而是通过ll显示的第一个字符区分文件类型的!
-:普通文件,文本,源代码,可执行程序,第三方动静态库等
d:目录文件
l:链接文件
p:管道文件
b:块设备文件,磁盘
c:字符设备文件
3.什么是权限
Linux上,对文件的权限,区分这个文件能否访问
对应的文件应该具备的某种属性 r, w, 执行x
权限=人+事物属性
4.Linux系统中文件与权限分类
文件分三类
(1)文件的拥有者owner
(2)文件的所属组grouper
(3)文件的其他用户other
文件的权限
(1)r
(2)w
(3)x(可执行)
每一组,对应的权限的位置含义是确定的:
-/d
r--
-w-
--x
5.文件权限
(1)修改文件的属性
(2)修改人
//修改文件的权限操作
chomd g-r myfile.tet //对group删除r权限
chomd o-r myfile.tet //对other删除r权限
chomd u+rx myfile.tet //对user添加rx权限
chomd g+r myfile.tet //对group添加r权限
chomd o+rwx myfile.tet //对other添加rwx权限
chomd u-wr,g-w,o-rwx myfile.txt
root不受文件权限的影响,可以为所欲为
此外chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
范例:
chmod a=rwx file
chmod 777 file
效果相同
chmod ug=rwx,o=x file
chmod 771 file
效果相同
若用chmod 4755 filename可使此程序具有root的权限.
指令名称 : chown
使用权限 : root
使用方式 : chmod [-cfhvR] [–help] [–version] user[] file…
说 明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由 系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才 有这样的权限。
把计 :
user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群 体(group)-c : 若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结 (link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者 变更(即以递回的方式逐个变更)–help : 显示辅助说明–version : 显示版本
范例 :
将档案 file1.txt 的拥有者设为 users 群体的使用者abc :
chown jessie:users file1.txt
将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :
chmod -R lamport:users *
-rw------- (600) -- 只有属主有读写权限。
-rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) -- 只有属主有读、写、执行权限。
-rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取。
-rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法。
以下是对目录的两个普通设定:
drwx------ (700) - 只有属主可在目录中读、写。
drwxr-xr-x (755) - 所有用户可读该目录,但只有属主才能改变目录中的内容。
运行 .sh 文件类型的文件:
用file命令测试一下看是什么类型的
file xxxx.sh
如果是Bourne-Again shell script 可以sh xxxx.sh 或者chmod +x xxxx.sh 再./xxx.sh
一般 .sh 的直接添加x(可执行属性) chmod +x xxx.sh 然后./xxx.sh就可以了
chmod是一个改变用户拥有指定文件的权限的命令.r:只读,w:写,x执行.也可以用数字
如果目录只没有r权限,允许进入,允许在该目录下创建(写入)一个文件,不允许查看
如果目录只没有w权限,允许进入,允许在该目录下查看文件列表,不允许创建文件
如果目录同时没有rw权限,允许进入,不允许创建和查看目录下的文件列表(注意:不是文件内容!文件内容,是否可以查看,由文件自己的权限决定)
6.umask
在Linux中,默认的是:
(1)普通文件的默认权限是从666开始的
(2)目录文件的默认权限是从777开始的
(3)默认权限 != 最终权限
umask是一个用于设置文件和目录默认权限的命令。在Linux系统中,每个文件和目录都有一组权限,包括读、写和执行权限。umask命令可以设置默认权限掩码,用于限制新建文件和目录的权限。默认情况下,umask值为022,表示新建文件的权限为644,新建目录的权限为755。可以使用umask命令来修改默认权限掩码,以满足不同的需求。
umask:权限掩码->
Linux中最终权限 = 默认权限“去掉”umask中存在的权限
6.1、查看umask值
「查看」当前用户的权限掩码(查看 umask 的值)
这个四位数的 umask 值中:
第一位的0,表示「特殊权限」,暂时不用理会。
第二位的0,表示「用户权限」,从用户权限减0,也就是权限不变。
第三位的2,表示「用户组权限」,从组权限减0,也就是权限不变.
第四位的2,表示「其他用户权限」,从其他用户权限减2,即取消其他用户的写权限。
6.2、修改umask值
umask 命令后面直接跟权限掩码,可以「临时修改」权限掩码,「重启后失效」。
新建文件夹默认权限=0666
新建目录默认权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。
假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask
Linux下可以存在一些目录,拥有者和所属组是root,其他人允许以other的身份在该目录下进行文件的创建,读取,删除,修改等!
7.shell
包括
shell:命令行解释器
运行原理
- 用户
- shell外壳:传递用户指令,交给OS,OS执行完毕,结果交给shell,shell再交给用户
- 内核
Linux中,外壳就是命令行解释器
Windows下,外壳指的是图形化界面
shell外壳会降低操作OS的成本,保护操作系统