Linux 账户权限 & 编程工具

 一:Linux文件类型(字符表示) 

Linux 账户权限 & 编程工具_第1张图片

二:Linux用户类别

root:这是系统特权用户类,他们都有访问root登录帐号的权限

owner:这是实际拥有文件的用户。

group:这是共享文件的组访问权的用户类的用户组名称

world:这是不属于上面3类的所有其他用户。

三:/etc/passwd文件

该文件是存放linux所有用户信息文件 

Linux 账户权限 & 编程工具_第2张图片

四:/etc/passwd文件格式

帐号名称:登陆的用户名

密码:MD5加密的密码

UID:用户ID号.0是管理员帐号,1~499保留系统使用.500~65535给一般使用者

GID:用户所属组ID号

使用者信息说明栏

家目录:用户默认所在home目录

Shell名称

五:/etc/shadow文件

存放linux所有用户的密码文件

Linux 账户权限 & 编程工具_第3张图片

六:/etc/shadow文件格式

帐号名称:由于密码也需要和帐号相匹配

密码:这才是真正密码,是以MD5加密(如果密码是以*或者是!开头表示密码对应用户不是登陆用户)

最近更动密码日期

密码不可被更改得天数

密码需重新变更天数

密码变更期限前警告期限

密码过去恕限时间

帐号失效日期

保留

七:/etc/group文件

group文件格式: groupname:password:gid:user_list

groupname:组名称

password:组密码

gid:组识别号

user_list:该组用户清单

八:如何登入linux取GID,UID

首先寻找/etc/passwd里面是否有这帐号,如果没有则退出,如果有得话将该帐号对应得UID  和GID读出来,另外,该帐号得家目录与shell设定一并读出

再来则是核对密码表.这时linux会进/etc/shadow里面查找对应帐号后核对你得密码和里面密码是否相同(MD5)

如果一切正常,就进入shell控管阶段

九:文件权限查看 ll命令查看

Linux 账户权限 & 编程工具_第4张图片

十:Linux文件权限位

文件权限位的表示:-rwxrwxrwx

第一位表示文件的类型,-表示普通文件,d表示目录文件,l表示符号链接文件;

接下来三位表示owner用户的读,写,执行权限

紧接着三位表示group用户的读,写,执行权限

最后三位表示world用户的读,写,执行权限

注意:这些权限只针对文件内容,而非文件本身属性 

十一: Linux文件权限管理

规划用户以及用户所属的组

设置文件所属的用户以及所属的组(chown,chgrp)

给文件赋予相应的权限位(chmod)

十二:chmod

Linux 账户权限 & 编程工具_第5张图片

十三:chmod例子

Linux 账户权限 & 编程工具_第6张图片

Linux 账户权限 & 编程工具_第7张图片

十四:组的创建与用户的创建

Linux 账户权限 & 编程工具_第8张图片

十五:删除组与删除用户

Linux 账户权限 & 编程工具_第9张图片

十六:目录的权限

目录的内容认为是文件,如果目录是没有w权限,则不能该目录下进行增删文件操作 

十七:chgrp

chgrp用来更改文件的组拥有者,其一般格式为: chgrp [option] group file

把文件abc的组拥有者改为study:   chgrp study abc

把abc及其子目录下的所有文件的组拥有者改为study:    chgrp -R study abc

十八:chown

chown用来更改文件所有者与组拥有者,其一般格式为:chown [option] owner[:group] file

将abc及其子目录下的所有文件的所有者改为jjl:chown jjl abc

将abc文件的所有者改为jjl,组拥有者改为study:chown jjl:study abc

十九:特殊的权限

考查/usr/bin/passwd与/etc/shadow的权限,分别为:-r-s--x--x、-r--------

我们发现/etc/shadow文件没有写的权限,那么普通用户要修改密码如何做到修改/etc/shadow文件呢?

这是通过s这个特殊权限实现的。当具有s权限的文件运行时,进程的拥有者不是执行程序的用户,而是文件的拥有者。

同样如果文件组用户执行权限位为s,表示任何用户执行该文件,都拥有该组的权限,就好像自己是组的成员一样。

二十:设置特殊的权限

用chmod命令来设置这些“特殊”的权限位。数值4表示设置文件拥有者的执行权,数值2表示设置文件用户组的执行权。如:

    chmod 4755 test

    -rwsr-xr-x   1 study   study     0 May 25 17:37 test

    chmod 2755 test

    -rwxr-sr-x   1 study   study     0 May 25 17:37 test

    chmod 6755 test

    -rwsr-sr-x   1 study   study     0 May 25 17:37 test

二十一:文件权限掩码设置-umask

考查root用户的umask值为0022

这表示root用户创建的文件对于组用户与其他用户都要去掉2即写的权限,目的就是防止除root以外的用户改写root用户的文件。

设定了umask的文件权限计算公式:

    newmode = oldmode & ~umask

   文件基数为666,目录为777,即文件无设x位,目录可设x位。

二十二:文本编辑工具vi

什么vi :vi是Linux/Unix底下最常用的文本编辑器。

vim:vim是vi的升级版本,它不仅兼容vi的所有命令,而且还加入了一些新的特性。

二十三:vi的三种工作方式

Linux 账户权限 & 编程工具_第10张图片

二十四:vi 编辑方式

Linux 账户权限 & 编程工具_第11张图片

二十五:vi插入方式

i和I键插入:在目前光标处输入文字,已存在的文字会向后

A和a键:a为从目前光标所在的下个字符处开始插入,A为从光标所在行的最后一个字符开始插入

O和o:在目前光标所在下一行处插入新的一行.O为在目前光标所在处的上一行插入新行

R和r 取代:r会取代光标所在的那个字符:R会一直取代光标所在的文字,直到按下ESC为止

二十六:vi命令方式

退出命令:q 退出vi      q! 不保存退出      wq 保存退出

搜索字符串:  输入/+要查找的字符串        按n键重新查找下一个

shell切换:  !+shell命令 如 !ls –l 在vi中使用ls命令     sp +filename 在同一个vi中编辑两个文件

二十七:gcc

什么是gcc:gcc是GNU Compiler Collection的缩写。最初是作为C语言的编译器,现在已经支持多种语言了,如C、Java、Pascal、Ada、COBOL语言等。

gcc支持多种硬件平台,甚至对Don Knuth 设计的 MMIX 这类不常见的计算机都提供了完善的支持

二十八:gcc编译程序的过程

预处理(Pre-Processing)

编译(Compiling)

汇编(Assembling)

链接(Linking)

二十九:gcc编译程序过程示意图

Linux 账户权限 & 编程工具_第12张图片

三十:gcc常用选项

Linux 账户权限 & 编程工具_第13张图片

三十一:gcc示例

Linux 账户权限 & 编程工具_第14张图片

三十二:头文件和库文件

在使用C语言和其他语言进行程序设计的时候,我们需要头文件来提供对常数的定义和对系统及库函数调用的声明。

库文件是一些预先编译好的函数集合,那些函数都是按照可重用原则编写的。它们通常由一组互相关联的用来完成某项常见工作的函数构成。比如用来处理屏幕显示情况的函数(curses库)和数据库访问例程(dbm库)等。 printf cout

三十三:头文件与库文件位置

/usr/include及其子目录底下的include文件夹

/usr/local/include及其子目录底下的include文件夹

/usr/lib    /usr/lib/x86_64-linux-gnu

/usr/local/lib

三十四:静态库与共享库

静态库(.a):程序在编译链接的时候把库的代码链接到可执行文件中。

共享库( .so或.sa ):程序在运行的时候才去链接共享库的代码,多个程序共享使用库的代码。

一个可执行文件使用静态库 的文件更大,还是使用共享库文件大。

三十五:生成和使用共享库

Linux 账户权限 & 编程工具_第15张图片

三十六:运行共享库设置

1、拷贝.so文件到系统共享库路径下      一般指/usr/lib

2、ldconfig:   ld.so.conf,将路径写入文件    ldconfig,生效         更新ld.so.cache

3、更改LD_LIBRARY_PATH

三十七:gdb

什么是gdb:gdb是GNU debugger的缩写,是编程调试工具。 

三十八:gdb功能

启动程序,可以按照用户自定义的要求随心所欲的运行程序。

可让被调试的程序在用户所指定的调试的断点处停住 (断点可以是条件表达式)。

当程序停住时,可以检查此时程序中所发生的事。

动态地改变程序的执行环境。

三十九:gdb用法

Linux 账户权限 & 编程工具_第16张图片

四十:设置断点

break: info break    查看断点         br linenum    设置某行断点

             br functions   设置某个函数断点          br if 条件        根据条件设置断点  

你可能感兴趣的:(linux,运维,服务器)