linux中用户和组的类型
-
linux中用户的类型
- 超级用户——用户名为root,它具有一切权限,只有进行系统维护(例如:建立用户等)或其他必要 情形下才用超级用户登录,以避免系统出现安全问题。
- 系统用户(伪用户)——是Linux系统正常工作所必需的用户。主要是为了满足相应的系统进程对 文件属主的要求而建立的,例如:bin、daemon、adm、lp等用户。系统用户不能用来登录。
- 普通用户——是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。
-
linux中用户组的类型
Linux中的组有以下两类:
- 基本组(私有组):建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这 个组就是基本组。
- 附加组(公有组):可以容纳多个用户,组中的用户都具有组所拥有的权利。
-
linux中存储用户信息的文件是哪个?且其中的字段是什么意思
用户账号文件——/etc/passwd
passwd 是一个文本文件,用于定义系统的用户账号,由于所有用户都对passwd有读权限,所以该文件中只定义用户账号,而不保存口令。
passwd文件中:
每行定义一个用户账号
每行由7个字段组成,字段之间用“:”分隔,其格式如下:
账号名称:密码:UID:GID:个人资料:主目录:Shell
字段说明:
账号名称:用户登录Linux系统时使用的名称。
密码:以前是以加密格式保存密码的位置,现在密码保存在/etc/shadow文件中,此处只是密码占位符“x”或“*”。若为“x”,说明密码经过了shadow的保护
UID:用户的标识,是一个数值,用它来区分不同的用户
GID:用户所在基本组的标识,是一个数值,用它来区分不同的组,相同的组具有相同的GID。
个人资料:可以记录用户的完整姓名、地址、办公室电话、家庭电话等个人信息。
主目录:类似Windows 的个人目录,通常是/home/username,这里username是用户名,用户执行“cd~”命令时当前目录会切换到个人主目录。
Shell:定义用户登录后激活的Shell,默认是Bash Shell
-
linux中存储组信息的文件是哪个?且其中的字段是什么意思?
用户组账号文件——/etc/group
系统中的每一个文件都有一个用户和一个组的属主。使用“ls –l”命令可以看到每一个文件的属主和组。
系统中的每个组,在/etc/group文件中有一行记录
任何用户均可以读取用户组账户信息配置文件。
用户组的真实密码保存在/etc/gshadow配置文件中。
group文件字段说明:
Groupname:组的名字
Passwd:组的加密口令
GID:系统区分不同组的ID,在/etc/passwd域中的GID字段是用这个数来指定用户的基本组
Userlist:用“,”分开的用户名,列出的是附加组的成员。
创建下列用户、组和组成员资格:
创建名为 sysmgrs 的组
[root@server ~]# groupadd -r sysmgrs
创建用户 natasha 同时指定sysmgrs作为natasha的附加组
[root@server ~]# useradd natasha -G sysmgrs
创建用户 harry 同时指定 sysmgrs作为harry的附加组
[root@server ~]# useradd harry -G sysmgrs
创建用户 sarah 指定shell类型为/sbin/false(无权访问系统上的交互式 shell)
且不是 sysmgrs 的成员
[root@server ~]# useradd sarah -s /sbin/false
设置natasha 、 harry 和 sarah 的密码都是 123
[root@server ~]# echo 123 | passwd --stdin natasha
Changing password for user natasha.
passwd: all authentication tokens updated successfully.
[root@server ~]# echo 123 | passwd --stdin harry
Changing password for user harry.
passwd: all authentication tokens updated successfully.
[root@server ~]# echo 123 | passwd --stdin sarah
Changing password for user sarah.
passwd: all authentication tokens updated successfully.
创建用户lockuser, 并指定家目录为/home/lock, 然后锁定该用户
[root@server ~]# useradd lockuser -d /home/lock
[root@server ~]# passwd -l lockuser
Locking password for user lockuser.
passwd: Success
创建用户limituser, gid为1555,userid为1666, 让其密码在10天后过期
[root@server ~]# groupadd -r limit -g 1555
[root@server ~]# useradd limituser -g 1555 -u 1666
[root@server ~]# passwd -n 10 limituser
Adjusting aging data for user limituser.
passwd: Success
解锁lockuser, 并设定下次登录时必须修改密码
[root@server ~]# passwd lockuser -u
Unlocking password for user lockuser.
passwd: Warning: unlocked password would be empty.
passwd: Unsafe operation (use -f to force)
[root@server ~]# passwd lockuser -e
Expiring password for user lockuser.
passwd: Success
让natasha具备修改 harry密码的权限(sudo)
visudo
Host_Alias RHCSA=lwz
User_Alias USER11=natasha
Cmnd_Alias CHPASS=/usr/bin/passwd harry
USER RCHSA=(root) CHPASS
[root@server ~]# visudo
Host_Alias RHCSA = server.local
User_Alias USER11 = natasha
Cmnd_Alias CHPASS = /usr/bin/passwd harry
USER11 RHCSA=(root)CHPASS
创建用户testuser并设置密码,修改用户名为normaluser
[root@server ~]# echo 123 | passwd --stdin testuser
Changing password for user testuser.
passwd: all authentication tokens updated successfully.
[root@server ~]# usermod -l normaluser testuser
删除lockuser
[root@server ~]# userdel -r lockuser
创建文件,并赋予权限611(两种方式,一种guoa,一种nnn)
[root@server ~]# chmod 611 file1
[root@server ~]# ls -l file1
-rw---x--x. 1 root root 0 Jul 15 14:38 file1
[root@server ~]# chmod u=rw- file1
创建目录,并赋予权限755(两种方式,一种guoa,一种nnn)
[root@server ~]# mkdir catalogue
[root@server ~]# chmod 755 catalogue/
[root@server ~]# chmod g-w catalogue/
[root@server ~]# ls -dl catalogue/
drwxr-xrwx. 2 root root 6 Jul 19 19:13 catalogue/
创建文件,并将文件的属主和属组修改其他用户
[root@server ~]# chown natasha:natasha file1
[root@server ~]# ls -l file1
-rw---x--x. 1 natasha natasha 0 Jul 15 14:38 file1
设置suid,为文件设置suid(两种方式 u+s和nnnn)的方式
[root@server ~]# chmod u+s file1
[root@server ~]# chmod 4777 file1
[root@server ~]# ls -l file1
-rwsrwxrwx. 1 natasha natasha 0 Jul 15 14:38 file1
设置sgid, 为文件设置sgid(两种方式 g+s和nnnn)的方式
[root@server ~]# chmod g+s file1
[root@server ~]# ls -l file1
-rwsrwsrwx. 1 natasha natasha 0 Jul 15 14:38 file1
[root@server ~]# chmod 6777 file1
[root@server ~]# ls -l file1
-rwsrwsrwx. 1 natasha natasha 0 Jul 15 14:38 file1
设置sbit,为目录设置sbit(两种方式 o+t和nnnn)的方式
[root@server ~]# chmod o+t catalogue/
[root@server ~]# ls -dl catalogue/
drwxr-xrwt. 2 root root 6 Jul 19 19:13 catalogue/
[root@server ~]# chmod 1775 catalogue/
[root@server ~]# ls -dl catalogue/
drwxrwxr-t. 2 root root 6 Jul 19 19:13 catalogue/
创建文件,查询文件的acl
[root@server ~]# getfacl file1
# file: file1
# owner: natasha
# group: natasha
# flags: ss-
user::rwx
group::rwx
other::rwx
为文件设置acl 用户为testuser1 权限为 rwx
[root@server ~]# setfacl -m u:harry:rwx file1
[root@server ~]# getfacl file1
# file: file1
# owner: natasha
# group: natasha
# flags: ss-
user::rwx
user:harry:rwx
group::rwx
mask::rwx
other::rwx
为文件设置acl的mask: 权限为r-x
[root@server ~]# setfacl -m m:rx file1
[root@server ~]# getfacl file1
# file: file1
# owner: natasha
# group: natasha
# flags: ss-
user::rwx
user:harry:rwx #effective:r-x
group::rwx #effective:r-x
mask::r-x
other::rwx