1. 用户与组
- linux中用户的类型
- 超级用户 ——用户名为root,它具有一切权限,只有进行系统维护(例如:建立用户等)或其他必要情形下才用超级用户登录,以避免系统出现安全问题。
- 系统用户(伪用户)——是Linux系统正常工作所必需的用户;主要是为了满足相应的系统进程对文件属主的要求而建立的。例如:bin、daemon、adm、lp等用户。系统用户不能用来登录。
- 普通用户 ——是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。
- linux中用户组的类型
- 基本组(私有组):建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组。
- 附加组(公有组):可以容纳多个用户,组中的用户都具有组所拥有的权利。
- linux中存储用户信息的文件是哪个?且其中的字段是什么意思?
- 文件:/etc/passwd -----用户账号文件
- passwd 是一个文本文件,用于定义系统的用户账号,由于所有用户都对passwd有读权限,所以该文件中只定义用户账号,而不保存口令。
- [root@localhost ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
字段 | 含义 |
---|---|
1 | 用户名 |
2 | 用户的密码原来直接存储在第二字段,但是为了安全,最后专门有了/etc/shadow文件,现在默认用x替代 |
3 | 用户的uid,一般情况下root为0,1-499默认为系统账号,有的更大些到1000,500-65535为用户的可登录账号,有的系统从1000开始。 |
4 | 用户的gid,linux的用户都会有两个ID,一个是用户uid,一个是用户组id,在我们登录的时候,输入用户名和密码,其实会先到/etc/passwd查看是否有你输入的账号或者用户名,有的话将该账号与对应的UID和GID(在/etc/group中)读出来。然后读出主文件夹与shell的设置,然后再去检验密码是否正确,正确的话正常登录。 |
5 | 用户的账号说明解释 |
6 | 用户的家目录文件夹 |
7 | 用户使用的shell,如果换成/sbin/nologin/就是默认没有登录环境的。 |
- 用户密码文件——/etc/shadow
- [root@localhost ~]# head -1 /etc/shadow
root:$6$5Y4k7cG6IudYR.ju$OOjV5Sf7c2BtyPUhFFHv7ECguICMUfHggl3VmU2AwWv5wWqks7DKGwAFmItXjIRK6.yfkMwL/nP9j2tt9b9/60::0:99999:7:::
字段 | 含义 |
---|---|
1 | 用户登录名 |
2 | 加密口令:用户的密码加密字段 |
3 | 最后一次修改时间:密码已经使用的日期(从1970-01-01开始,是unix1969年发布雏形,基于当时对系统的考虑,就这样了) |
4 | 最小时间间隔:密码最少多少天之后可以修改(默认值为0,表示不限制) |
5 | 最大时间间隔:密码多少天之后必须修改(默认值为99999,表示不进行限制) |
6 | 警告时间:密码修改之前几天提醒我修改(默认值为7天,0表示不提供警告) |
7 | 不活动时间:要是没有修改延长几天(例子中延长3天) |
8 | 失效时间:无论怎样到这个时间过期(默认为空,表示永久可用) |
9 | 标志:保留字段,目前无含义 |
- linux中存储组信息的文件是哪个?且其中的字段是什么意思?
- 用户组账号文件 ------ /etc/group
- [root@localhost ~]# head -1 /etc/group
root:x:0:
字段 | 说明 |
Groupname | 组的名字 |
Passwd | 组的加密口令 |
GID | 是系统区分不同组的ID,在/etc/passwd域中的GID字段是用这个数来指定用户的基本组 |
Userlist | 是用“,”分开的用户名,列出的成员以该组为附加组 |
2).创建下列用户、组和组成员资格:
- 1.创建名为 sysmgrs 的组
[root@localhost ~]# groupadd sysmgrs
- 2.创建用户 natasha 同时指定sysmgrs作为natasha的附加组
[root@localhost ~]# useradd natasha -G sysmgrs
- 3.创建用户 harry 同时指定 sysmgrs作为harry的附加组
[root@localhost ~]# useradd harry -G sysmgrs
- 4.创建用户 sarah 指定shell类型为/sbin/false(无权访问系统上的交互式 shell) 且不是 sysmgrs 的成员
[root@localhost ~]# useradd -s /bin/false sarah
- 5.设置natasha 、 harry 和 sarah 的密码都是 123
[root@localhost ~]# echo 123 | passwd --stdin harry
[root@localhost ~]# echo 123 | passwd --stdin natasha
[root@localhost ~]# echo 123 | passwd --stdin sarah
- 6.创建用户lockuser, 并指定家目录为/home/lock, 然后锁定该用户
[root@localhost ~]# passwd -l lockuser
- 7.创建用户limituser, gid为1555,userid为1666, 让其密码在10天后过期
[root@localhost home]# groupadd -g 1666 grtxt
[root@localhost home]# useradd limituser -u1555 -g1666 -p 123
[root@localhost home]# chage -M 10 limituser
- 8.解锁lockuser, 并设定下次登录时必须修改密码
[root@localhost home]# usermod -U lockuser && chage -d 0 lockuser
- 9.让natasha具备修改 harry密码的权限(sudo)
vi sudo
Host_Alias RHCSA=lwz
User_Alias USER11=natasha
Cmnd_Alias CHPASS=/usr/bin/passwd harry
USER RCHSA=(root) CHPASS
- 10. 创建用户testuser并设置密码,修改用户名为normaluser
[root@localhost home]# useradd testuser -p 123
[root@localhost home]# usermod testuser -l normaluser
- 11.删除lockuser
[root@localhost home]# userdel lockuser
2.文件系统权限
- 1.创建文件,并赋予权限611(两种方式,一种guoa,一种nnn)
[root@localhost power]# chmod a=rw file1
[root@localhost power]# chmod 666 file2
- 2.创建目录,并赋予权限755(两种方式,一种guoa,一种nnn)
[root@localhost power]# chmod u=rwx,g=rx,o=rx file1
[root@localhost power]# chmod 755 file2
- 3.创建文件,并将文件的属主和属组修改其他用户
[root@localhost power]# chown rhcsa:rhcsa file1
- 4.设置suid,为文件设置suid(两种方式 u+s和nnnn)的方式
[root@localhost power]# chmod u+s file1
[root@localhost power]# chmod 4755 file2
- 5.设置sgid, 为文件设置sgid(两种方式 g+s和nnnn)的方式
[root@localhost power]# chmod g+s file1
[root@localhost power]# chmod 2755 file2
- 6.设置sbit,为目录设置sbit(两种方式 o+t和nnnn)的方式
[root@localhost power]# chmod o+t file1
[root@localhost power]# chmod 1755 file2
- 7.创建文件,查询文件的acl
- 8. 为文件设置acl 用户为testuser1 权限为 rwx
[root@localhost power]# setfacl -m u:testuser1:rwx file1
- 9.为文件设置acl的mask: 权限为r-x
[root@localhost power]# setfacl -m m:r-x file1