Linux1:Linux概述
为什么服务器尤其大型服务器都使用Linux系统
服务器尤其是大型服务器一般都使用Linux系统,有以下几点原因:
1、成本低,Linux操作系统是免费的
2、安全性好,Linux采取了许多的安全措施,包括对读写权限控制、带保护的子系统、审计跟踪、核心授权等,为网络多用户环境中的用户提供了必要的安全保障
3、网络功能强大,Linux在通信和网络功能方面优于其他操作系统
4、开源性,这意味着管理员可以对系统随意进行定制
Linux用户和组的概念
1、用户
用户是能够获取系统资源的权限的集合
2、Linux用户组分类
(1)管理员root:具有使用系统所有权限的用户,UID为0
(2)普通用户:即一般用户,其使用系统的权限受限,UID在500-60000之间
(3)系统用户:保障系统运行的用户,一般不提供密码登录系统,UID在1-499之间
3、与用户相关的文件
(1)/etc/passwd
其格式为account:password:UID:GID:GECOS:diretory:shell
a)account表示用户名或账号
b)password表示用户密码占位符
c)UID表示用户ID号
d)GID表示用户所在组的ID号
e)diretory表示用户所在的家目录
f)shell表示用户所在的编程环境
我自己家里面装了一个ubuntu12,该文件的内容为:
(2)/etc/shadow
其格式为account:password:最近更改密码的日期:密码不可更改的天数:密码需要重新更改的天数:密码更改前的告警期限:密码过期的宽限时间:账号失效日期:保留
4、用户组分类
(1)普通用户组:可以加入多个用户
(2)系统组:一般加入一些系统用户
(3)私有组:当创建用户时,如果没有为其指明所属组,则为其定义一个私有的用户组,其名称与用户名同名。如果把其他用户加入了该私有组中,那么私有组就变成了普通组
同组用户有一样的权限
5、与用户组相关的文件
/etc/group,其格式为group_name:password:GID:user_list
(1)group_name表示组名
(2)password表示组密码
(3)GID表示组ID号
(4)user_list表示已group_name为附加组的用户列表
su和sudo的区别
1、su
su就是切换用户的工具。比如以用户A登录,但要添加用户任务,执行useradd,A用户并没有这个权限,而这个权限恰恰root拥有。解决办法无非两个,一个是退出A,以root登录;另一个是通过su切换到root,等任务完成后再退出root。
注意,"su"和"su -"同样是切换到root用户,二者之间还是有区别的。前者只是切换了root身份,但是Shell环境仍然是普通用户的Shell;后者连用户和 Shell环境一起切换成了root身份。只有切换了Shell环境才不会出现PATH环境变量错误,可以通过pwd命令验证。
su确实给管理带来了方便,通过切换到root下,就能完成所有系统管理,只要把 root密码交给任何一个普通用户,他都能切换到root来完成所有的系统管理工作。但通过su切换到root也有不安全的因素,多用户操作时,只要有任 何一个人操作失误,都可能造成系统崩溃或数据损失。
2、sudo
通过sudo,我们能把某些超级权限有针对性地下方,并且不需要普通用户知道root密码,所以sudo相对于权限无限制的su来说,还是比较安全的,所以sudo也称为受限制的su。另外sudo是需要授权许可的,所以它也被称为授权许可的su。
sudo执行命令的流程是当前用户切换到root(或其它执行切换到的用户),然后以root(或其他执行切换到的用户)身份执行命令,执行完成后,直接退回到当前用户。而这些的前提是要通过sudo配置文件/etc/sudoers来进行授权。
文件权限
我截取自己ubuntu下某路径下的文件列表:
详细解释一下:
1、第一列表示文件/文件夹的种类和权限
(1)第一个字符表示文件种类,"d"表示目录,"-"表示普通文件
(2)第二至第四个字符表示文件/文件夹所有者的权限,r表示读权限、w表示写权限、x表示执行权限
(3)第五至第七个字符表示文件/文件夹所属群组的权限,r表示读权限、w表示写权限、x表示执行权限
(4)第八至第十个字符表示文件/文件夹其他用户的权限,r表示读权限、w表示写权限、x表示执行权限
2、第二列表示文件/文件夹的连接数
3、第三列表示文件/文件夹的拥有者
4、第四列表示文件/文件夹所属的组
5、第五列表示文件/文件夹大小
6、第六列表示文件/文件夹最后修改时间
7、第七列表示文件/文件夹名称