Linux复习------用户和组管理
用户和组管理
1、用户和组账号概述
1)、用户分类
- 超级用户root
- 普通用户
- 程序用户 //用于维持系统或某个程序的正常运行,一般不允许登陆到系统。 例如:mail、ftp
2)、组账号
- 基本组(私有组)
- 附加组(公有组)
3)、UID和GID
- UID (用户标识号)
- GID (组标识号)
root用户的UID、GID都是0
程序用户的UID、GID是 1~499
普通用户的UID、GID是 500~6000
2、单个用户管理
1)、/etc/passwd
- 每一行对应一个用户的账户信息
2)、/etc/shadow
- 每一行对应一个用户的密码记录
[sinlair@localhost ~]$ tail -2 /etc/passwdtcpdump:x:72:72::/:/sbin/nologinsinlair:x:1000:1000:sinlair:/home/sinlair:/bin/bash 字段1:用户帐号的名称 字段2:用户密码字串或者密码占位符“x” 字段3:用户帐号的UID号 字段4:所属基本组帐号的GID号 字段5:用户全名 字段6:宿主目录 字段7:登录Shell信息[root@localhost sinlair]# tail -2 /etc/shadowtcpdump:!!:19096::::::sinlair:$6$8EjIQSZTFfxXIJkn$DPX6hrsh7hIzkPBxEqvPzaZm6uaD6Y5MHzTHWBRvHXxlnEPqRZnFD6K1sid5ZRj52QbTSvVnjoJqCtk5vjf.x0:19096:0:99999:7::: 字段1:用户帐号的名称 字段2:加密的密码字串信息 字段3:上次修改密码的时间 字段4:密码的最短有效天数,默认值为0 字段5:密码的最长有效天数,默认值为99999 字段6:提前多少天警告用户口令将过期,默认值为7 字段7:在密码过期之后多少天禁用此用户 字段8:帐号失效时间,默认值为空 字段9:保留字段(未使用)
3)、useradd命令
格式:useradd [选项] 用户名
选项:-u:指定UID标识号
-d:指定宿主目录,默认为**/home/用户名**
-e:指定账号失效时间
-g:指定用户的基本组名(或UID)
-G:指定用户的附加组名(或GID)
4)、passwd命令
格式:passwd [选项] 用户名
选项:-d:清空用户密码,使之无需密码即可登陆
-l:锁定用户 (lock)
-S:查看用户的状态
-u:解锁用户账号
5)、usermod命令
格式:usermod [选项] 用户名
选项:-l:更改用户账号的登陆名称
-L:锁定用户账户
-U:解锁用户账号
6)、userdel命令
格式:userdel [r] 用户名
选项:-r:连用户的宿主目录一起删除
7)、chage命令
格式:chage [选项] 用户名
选项:-M:密码的最长有效天数
-l:列出密码的有效天数
-E:账号的到期日期
[root@localhost Desktop]# useradd sinliar1[root@localhost Desktop]# passwd sinliar1Changing password for user sinliar1.New password: BAD PASSWORD: The password is shorter than 8 charactersRetype new password: passwd: all authentication tokens updated successfully.[root@localhost Desktop]# usermod -l sinliar sinliar1[root@localhost Desktop]# chage sinliarChanging the aging information for sinliarEnter the new value, or press ENTER for the defaultMinimum Password Age [0]: 180Maximum Password Age [99999]: 180Last Password Change (YYYY-MM-DD) [2022-04-14]: Password Expiration Warning [7]: Password Inactive [-1]: Account Expiration Date (YYYY-MM-DD) [-1]: [root@localhost Desktop]#
3、组管理
1)、/etc/group
- 每一行对应一个组账号的基本信息
2)、/etc/gshadow
- 每一行对应一个组账号的密码信息
2)、groupadd命令
格式:groupadd [-g GID] 组账号名
3)、gpasswd命令
格式:gpasswd [选项] 组帐号名
功能:设置组账号密码、添加/删除组成员
选项:-a:向组内添加一个用户
-d:向组内删除一个用户成员
-M:定义组成员列表,以逗号隔开
3)、groupdel命令
格式:groupdel 组账号名
[root@localhost Desktop]# tail -5 /etc/groupsshd:x:74:tcpdump:x:72:sinlair:x:1000:sinlair1:x:1001:sinliar1:x:1002:[root@localhost Desktop]# tail -5 /etc/gshadowsshd:!::tcpdump:!::sinlair:!::sinlair1:!::sinliar1:!::[root@localhost Desktop]# groupadd -g 1005 users//添加组账号groupadd: group 'users' already exists[root@localhost Desktop]# useradd sinlair2//添加用户[root@localhost Desktop]# gpasswd -a sinlair2 users //把用户添加进组账号Adding user sinlair2 to group users[root@localhost Desktop]# groupdel users//添加组账号
3、设置文件/目录的权限和归属
1)、访问权限
读取:允许查看文件内容、显示目录列表
写入:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行:允许运行程序、切换目录
2)、归属(所有权)
属主:拥有该文件或目录的用户账号
属组:拥有该文件或目录的组账号
3)、chmod命令
功能:设置用户权限
格式1:chmod [ugoa] [±=] [rwx] 文件或目录 //[ugoa]u、g、o、a分别表示属主、属组、其他用户、所有用户
格式2:chmod nnn 文件或目录 // nnn表示3位八进制数
选项:-R:递归修改指定目录下所有文件、子目录的权限
3)、chown命令
格式:chown 属主 文件或目录
chown :属组 文件或目录
chown 属组:属组 文件或目录
选项:-R 递归修改所有子文件、子目录的归属
[root@localhost Desktop]# touch sinlair3//创建文件[root@localhost Desktop]# lssinlair3[root@localhost Desktop]# ls -l sinlair3//查看权限-rw-r--r--. 1 root root 0 Apr 14 12:00 sinlair3[root@localhost Desktop]# chmod u+x sinlair3//增加权限[root@localhost Desktop]# ls -l sinlair3//查看权限-rwxr--r--. 1 root root 0 Apr 14 12:00 sinlair3[root@localhost Desktop]# chmod g-w sinlair3//减少权限[root@localhost Desktop]# ls -l sinlair3-rwxr--r--. 1 root root 0 Apr 14 12:00 sinlair3[root@localhost Desktop]# tail -2 /etc/passwdsinliar:x:1001:1002::/home/sinliar1:/bin/bashsinlair2:x:1002:1003::/home/sinlair2:/bin/bash[root@localhost Desktop]# chown sinlair2 sinlair3//增加属主[root@localhost Desktop]# getfacl sinlair3//查看文件系统访问控制列表# file: sinlair3# owner: sinlair2# group: rootuser::rwxgroup::r--other::r--