你好
我是你们的雨嘉叔

10-文件和目录的属性及权限之用户与组和时间戳基础

一、概述
Linux是一个多用户、多任务的操作系统,对于Linux系统来说,由于角色不同,权限和所完成的任务也不同。用户的角色是通过UID和GID识别的,用户的UID就相当于我们的身份证一样,用户名就相当于我们的名字。其中包含:
UID(User Identity),用户ID,相当于各位的身份证,在系统中是唯一的。
GID(Group Identity),组ID,相当于各位的家庭或者你们的学校ID。


二、用户
1、超级用户
默认是root用户,其UID和GID均为0。root用户在每台Linux操作系统中都是唯一且真实存在的,通过他可以登录系统,可以操作系统,可以操作系统中任何文件和命令,拥有最高的管理权限。
在生产环境中,一般会禁止root账号通过SSH远程连接服务器,也可以通过更改默认的SSH端口来增强系统安全。
2、普通用户
是具备系统管理员root的权限的运维或系统管理人员添加的,这样的用户可以登录,但是权限很小。他可以操作自己的家目录里的文件,别的干不了。
3、虚拟用户
与真实普通用户区分开来,这类用户最大的特点是安装系统后默认就会存在,且默认情况大多数不能登录系统。
补充:Linux安全优化
①安装系统后可以删除用不到的虚拟用户,但最好不删而是注释掉,万一出问题可以恢复过来。
②我们自己部署服务的时候,也会创建虚拟用户,满足服务的需求。
例如:apache、nginx、mysql、nfs、rsync、nagios、zabbix、redis
4、Linux系统中不同用户角色对应的UID说明
0 超级用户
1-499 虚拟用户
500-65535 普通用户


三、用户组
每个用户也要属于一个组,如果用户没添加组就是跟用户相同名称的组,用户与组的关系分为一对一、一对多、多对一、多对多。


四、用户和组的配置文件
1、用户配置文件/etc/passwd
/etc/passwd文件中每行定义一个用户账号,有多少行就表示多少个账号,在一行中可以清晰的看出,各内容之间用通过“:”号划分了多个字符,共7部分,这7部分分别定义了账号的属性,passwd文件实际内容如下:

[root@centos ~]# head -5 /etc/passwd            #通过head命令查看/etc/passwd的前5行
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

每一列的意思如下:

注意:
①账号名称是唯一,不能重名。
②密码由于不安全,转到/etc/shadow里去了。
2、用户影子口令文件/etc/shadow
由于passwd文件必须要被所有的用户可读,所以会带来安全隐患。而shadow文件就是为了解决这个安全隐患而增加的。可以通过ls -l查看/etc/shadow文件的权限。

[root@centos ~]# ls -l /etc/shadow
----------. 1 root root 699 2月   5 04:28 /etc/shadow

小结论:
①useradd是添加用户命令,它会更改/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow。
②passwd是设置用户密码命令,它会更改/etc/shadow。


五、与用户组相关的配置文件
/etc/group #用户组配置文件
/etc/gshadow #用户组影子文件
小结论:
①groupadd添加用户会更改/etc/group、/etc/gshadow。
②使用id 用户名 可以查看用户信息。


六、时间戳
1、概述
用ls -lhi可得知,第7、8、9三列是时间(默认是修改时间),一般分为三类:
modify 修改时间 -mtime 一般是修改文件内容
change 改变时间 -ctime 文件属性改变
access 访问时间 -atime 访问文件内容
2、格式化显示时间属性

[root@centos ~]# ls -l --time-style=long-iso /root
总用量 40
-rw-------. 1 root root  1140 2018-02-05 04:28 anaconda-ks.cfg
-rw-r--r--. 1 root root 21736 2018-02-05 04:28 install.log
-rw-r--r--. 1 root root  5890 2018-02-05 04:25 install.log.syslog

3、查看文件的时间属性

[root@centos ~]# stat /root
  File: "/root"
  Size: 4096            Blocks: 8          IO Block: 4096   目录
Device: 803h/2051d      Inode: 2359297     Links: 3
Access: (0550/dr-xr-x---)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-02-06 20:18:54.888133301 +0800
Modify: 2018-02-05 05:54:15.286465595 +0800
Change: 2018-02-05 05:54:15.286465595 +0800

七、其它
第10列文件名,不在inode里,而是在上机目录的block里。


欢迎关注
新浪微博:https://weibo.com/yougazhang0506
微信公众平台:张雨嘉

我的网站:https://www.zhangyujia.cn
51CTO博客:http://blog.51cto.com/11099293
CSDN博客:http://blog.csdn.net/u013260195
GitHub:https://github.com/zhangyujia0506/

赞(0)
未经允许不得转载:嘉叔的博客 » 10-文件和目录的属性及权限之用户与组和时间戳基础
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址