linux基础二
a 动态库以.so结尾 也叫共享库,在可执行程序运行的时候才被载入到内存中,在编译过程汇总仅仅简单的引用 所以代码较 小。有时候xxx.so.major.minor 其中major为主版本号 minor为副版本号
b 静态库在编译过程中已经被载入可执行程序 因此体积较大 一般以.a结尾的文件。
二者在于代码被载入的时刻不同
库文件存放的目录 例如 /lib /usr/lib等等
判断一个程序是否有链接动态库 可以使用file命令查看
查看动态库 ldd命令
用户权限 进程同文件一样同样有属组 和属主 被称为安全上下文
文件的权限
r 可读 可以使用类似cat等命令查看文件的内容
w 可写 可以编辑或删除此文件
x 可执行 exacutable 可以命令提示符下当作命令提交给内核运行
目录
r 可以对此目录执行ls以列出内部的所有文件
w 可以在此目录创建文件
x 可以使用cd切换进此目录 也可以使用ls -l查看内部文件的详细信息
0 000 --- 无权限
1 001 --x 执行
2 010 -w- 写
3 011 -wx 写和执行
4 100 r-- 只读
5 101 r-x 读执行
6 110 rw- 读写
7 111 rwx 读写执行
系统识别用户和进程都是通过数字
UID 用户 /etc/passwd
GID 用户组 /etc/group
影子口令 密码文件
用户:/etc/shadow
组:/etc/gshadow
通过解析的方式解决用户名和用户id的对应关系 上面的两个特定文件
用户类别
管理员 拥有最高权限 id号为0
普通用户 id号从1~65535
1 系统用户 1~499
2 普通(一般)用户 500~
任何进程都应该以某个用户的身份运行 某个进程是否能够访问谋个资源取决于该进程所属用户的权限 如果以管理员的身份运行会对系统造成安全威胁 在系统开机登录之前 系统已经运行很多的服务:例如ftp dhcp web服务器等 这些后台服务不与普通用户进行关联 所以应该以系统用户的身份运行的 此种系统用户不允许登录系统的 而普通的用户是可以登录系统的
用户组类别
管理员组:
普通组可以分为:
系统组:
一般组:
每个用户都有一个基本组(默认组),另一个是私有组;创建用户的时候 如果没有为其指定所属的组,系统会自动为其创建一个与用户名同名的组 ;用户基本组之外的都可以成为附加组,或额外组。