账户与组

1.账户与组的概念

Linux系统对帐号与组的管理通过ID号实现,在登陆系统时,输入的用户名与密码,会自动将用户名转化为ID号判断账号是否存在,然后对比密码是否匹配。
Linux中,用户ID号称作UID,组ID号称作GID。UID=0代表超级管理员,即root账号,1~499间的ID号系统会预留,我们创建的普通用户的UID号从500起,我创建的student用户的UID为1000。
Linux中的组分为基本组和附加组,一个用户同一时刻仅可加入一个基本组,但可同时加入多个附加组,默认创建用户是,会自动创建同名的组

2.创建账户及组

useradd 创建新账号
用法:useradd [选项] 用户名称
-c 设置账号描述信息,一般会账号全称.
-d 设置家目录,默认/home/用户名
-e 设置账户失效日期,格式YYYY-MM-DD
-g 设置账户基本组
-G 设置账户的附加组,多个附加组间用逗号隔开
-M 不能创建账户家目录,一般和-s结合使用
-s 设置账户的登陆shell,一般默认hu-s
-u 指定账户UID
例:$ useradd student #创建普通账户student,以及对应组
$ useradd -c administrator -d /home/adimin -e 2013-12-24 \ -g root -G bin, adm, mail admin
创建普通用户,名为admin,全名为administrator,账户家目录为/home/admin,账户失效日期2017-12-24,账户基本组为root,附加组为bin、adm、mail 。


groupadd 创建组账户


用法:groupadd [选项] 组名称
-g 设置组ID号
$ groupadd tom
$ groupadd -g 1000 jerry #创建GID为1000的组jerry.

id 显示账户及组信息
$ id root # 查看root账户及相关组信息

3.修改账户及组

passwd 更新账号认证信息
用法:passwd [选项] [账户名称]
-l 锁定账户,仅root可用
–stdin 从文件或管道读取密码
-u 解锁账户
-d 快速清空账户密码,仅root可用
$ passwd tom #指定修改tom的密码
$ echo “qwer0987” | passwd --stdin tom #设置tom的密码为qwer0987
$ pass -l tom #锁定账户tom

**

usermod 修改账户信息

**
用法:usermod [选项] 账户名称
-d 修改账户家目录
-e 修改账户失效日期
-g 修改账户所属基本组
-G 修改账户所属附加组
-s 修改账户登录Shell
-u 修改账户UID
$ usermod -d /home/tomcat tom #修改tom的家目录,/home/tomcat目录必须存在
$ usermod -g mail tom #修改账户tom的基本组为mail
$ usermod -u 1001 tom #修改账户tom的UID为1001

3.删除账户及组

userdel 删除账户及相关文件
用法:underdel [选项] 账户名称
-r 删除账户及相关文件
$ userdel tom
$ userdel -r tom #删除账户tom,并删除相应家目录

groupdel 删除组账户
$ groupdel jerry #删除组jerry.

4.账户与组文件解析

1.账户信息被保存在/etc/passwd文件中,cat /etc/passwd查看:

扫描二维码关注公众号,回复: 5700016 查看本文章

文件以“:”为分隔符,1~4列分别表示账户名称、密码占位符、账户UID、GID,第5列为账户附加基本信息,一般存储账户名全称,联系方式等,第6列为账户家目录位置,第7列为账户登录Shell,/bin/bash为可登录系统Shell,/sbin/nologin表示无法登陆。

2.账户密码信息被保存在/etc/shadow文件中,cat /etc/shadow

文件以“:”为分隔符,1~9列分别表示账户名称、密码、上次修改密码距1970/01/01日有多少天、密码最短有效天数(0代表无限)、密码最长有效天数(默认99999天,即永久)、过期前警告天数(默认7天)、密码过期后宽限天数、账户失效日期、保留未使用

3.组账户信息文件,cat /etc/group查看

文件以“:”为分隔符,1~4列分别表示组账户名称、密码占位符、GID、组成员信息(这里仅显示附加成员)

4.组账户密码文件

文件以“:”为分隔符,1~4列分别为组账号名称、组密码、组管理员、组成员
<gpasswd 组名>为组设置初始密码 <gpasswd -A 账户名称 组账户名称>为组添加管理员
$ gpasswd admin #设置组密码
$ gpasswd -A mail admin #将mail账户设置为组admin的管理员

4.文件及目录权限

Linux权限主要分为读、写、执行三种控制,ls -l查看文件或目录时,会显示为r ,w,x
rwxrwxrwx表示文档的所有者(user)、组(group)、其他账户(other)权限均为rwx,rwxr–r–表示文档所有者权限为读写执行,所属组权限为只读

chmod 改变文件或目录权限
用法:chmod [选项] 权限 文件及目录
–reference=RFILE #根据参考问但设置权限
-R #递归将权限应用于所有的子目录与文件
chmod在命令参数中,u代表所有者,g代表所属组,o代表其他用户,a代表所有人
$ ls -l westos.all
$ chmod u=rwx,g=rwx,o=rwx westos.all
$ chmod a=rw westos.all

通过+/-权限方式修改权限

$ chmod g-x,o-wx westos.all
数字方式修改权限 r=4,w=2,x=1,注意为rwx的数字之和为一组
$ chmod 700 westos.all # 修改文件权限为rwx------
$ chmod 644 westos.all # 修改文件权限为rw-r–r–
$ chmod 755 westos.all # 修改文件权限为rwxr-xr-x
以其他文档作为参考修改权限
$ chmod --reference=install.log.syslog install.log #以install.log.syslog为标准修改install.log

chown 修改文件或目录的所有者与所属组

用法: chown [选项] [所有者][所属组]]文件或目录***

-R #递归将权限应用于所有的子目录与文件
$ chown user2:mail install #修改文件的所有者为user2,所属组为mail
$chown :root install #仅修改文件所属组为root
$chown root install #仅修改文件所属者为root

猜你喜欢

转载自blog.csdn.net/weixin_44774638/article/details/88743387