Linux进阶指令(1)

一、用户和权限管理

Linux 是一个多用户的操作系统,引入用户,可以更加方便管理 Linux 服务器,系统默认需要以一个用户的身份登入,而且在系统上启动进程也需要以一个用户身份去运行,用户可以限制某些进程对特定资源的权限控制。
接下来介绍如何管理创建、删除、修改用户角色、用户权限配置、组,权限配置及特殊权限深入剖析
1、Linux 用户及组
Linux 操作系统对多用户的管理,是非常繁琐的,所以用组的概念来管理用户就变得简
单,每个用户可以在一个独立的组,每个组也可以有零个用户或者多个用户。
Linux 系统用户是根据用户 ID 来识别的,默认 ID 长度为 32 位,从默认 ID 编号从 0 开始,但是为了和老式系统兼容,用户 ID 限制在 60000 以下,Linux 用户分总共分为三种,分别
如下:
①root 用户 (ID 0)
在Linux系统中,root用户UID为0,root用户的权限是最高的,普通用户无法执行的操作,root用户都能完成,所以也被称为超级用户。在Linux系统中的每一个文件、目录和进程都归属于某一个用户,没有用户许可,其它普通用户是无法操作的,但对root用户除外。root用户的特权性还表现在root用户可以超越任何用户和组群对文件或目录进行读取、修改和删除(在系统正常的许可范围内);可以控制对可执行程序的执行和终止;可以对硬件设备进行添加、创建和移除等操作;也可以对文件和目录的属性和权限进行修改,以适合系统管理的需要。
②系统用户 (ID 1-499)
系统用户也被称为虚拟用户、伪用户或假用户,这类用户不具有登录Linux系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、mail等,这类用户都是系统自身拥有的。系统用户的UID为1~499。
③普通用户 (ID 500 以上)
普通用户能登录系统,在Linux系统上进行普通操作,能操作自己目录的内容,其使用系统的权限受到限制,这类用户都是系统管理员创建的,其UID为500~60000之间。

Linux 系统中的每个文件或者文件夹,都有一个所属用户及所属组,使用 id 命令可以显
示当前用户的信息,使用 passwd 命令可以修改当前用户密码。Linux 操作系统用户的特点
如下:
每个用户拥有一个 UserID,操作系统实际读取的是 UID,而非用户名;
每个用户属于一个主组,属于一个或多个附属组,一个用户最多有 31 个附属组;
每个组拥有一个 GroupID;
每个进程以一个用户身份运行,该用户可对进程拥有资源控制权限;
每个可登陆用户拥有一个指定的 Shell 环境。

二、Linux 用户管理

Linux 用户在操作系统可以进行日常管理和维护,涉及到的相关配置文件如下:
/etc/passwd 保存用户信息
/etc/shdaow 保存用户密码(以加密形式保存)
/etc/group 保存组信息
/etc/login.defs 用户属性限制,密码过期时间,密码最大长度等限制
/etc/default/useradd 显示或更改默认的 useradd 配置文件
如需创建新用户,可以使用命令 useradd,执行命令 useradd ppx 即可创建ppx用户,同时会创建一个同名的组 ppx,默认该用户属于ppx主组。Useradd ppx命令默认创建用户 ppx,会根据如下步骤进行操作:
在/etc/passwd 文件中添加用户信息;
如使用 passwd 命令创建密码,密码会被加密保存在/etc/shdaow 中;
可使用cat shadow指令查看;
Linux进阶指令(1)_第1张图片
为 ppx 创建家目录:/home/ppx;
将/etc/skel 中的.bash 开头的文件复制至/home/songsong 家目录;
创建与用户名相同的 ppx 组,ppx 用户默认属于ppx 同名组;
songsong 组信息保存在/etc/group 配置文件中。
在使用 useradd 命令创建用户时,可以支持如下参数:
用法:useradd [选项] 登录
useradd -D
useradd -D [选项]
选项:
-b, --base-dir BASE_DIR 指定新账户的家目录;
-c, --comment COMMENT 新账户的 GECOS 字段;
-d, --home-dir HOME_DIR 新账户的主目录;
-D, --defaults 显示或更改默认的 useradd 配置;
-e, --expiredate EXPIRE_DATE 新账户的过期日期;
-f, --inactive INACTIVE 新账户的密码不活动期;
-g, --gid GROUP 新账户主组的名称或 ID;
-G, --groups GROUPS 新账户的附加组列表;
-h, --help 显示此帮助信息并推出;
-k, --skel SKEL_DIR 使用此目录作为骨架目录;
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值;
-l, --no-log-init 不要将此用户添加到最近登录和登录失败数据
库;
-m, --create-home 创建用户的主目录;
-M, --no-create-home 不创建用户的主目录;
-N, --no-user-group 不创建同名的组;
-o, --non-unique 允许使用重复的 UID 创建用户;
-p, --password PASSWORD 加密后的新账户密码;
-r, --system 创建一个系统账户;
-R, --root CHROOT_DIR chroot 到的目录;
-s, --shell SHELL 新账户的登录 shell;
-u, --uid UID 新账户的用户 ID;
-U, --user-group 创建与用户同名的组;
-Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER
useradd 案例演示:
创建新用户xxp,并把新用户的组设置为ppx;
useradd -g ppx xxp
在这里插入图片描述
新建 xpx 用户,并指定新的家目录,同时指定其登陆的 SHELL;
useradd -d /etc/xpx -s/bin /bash xpx
在这里插入图片描述
创建新用户,并为他指定主组 以及附属组;
Useradd -g ppx -G slss xxp
linux创建账户test并自动生成主目录和主目录下的文件:
useradd -d /home/test -m test
为test账户设置新的密码
Passwd test 输入新密码就好
删除用户
用userdel username删除用户
先su root进入超级用户,再userdel username,
userdel -r -f username,强制删除所有与此用户相关的文件,包括家目录和用户邮箱,
userdel -r username是删除所有与此用户相关的文件,
userdel username删除的是账户和组信息,家目录和用户邮箱还在
修改用户及组的属性
Useradd 主要用于新建用户,而用户新建完毕,可以使用 usermod 来修改用户及组的属性,
如下为 usermod 详细参数:
用法:usermod [选项] 登录
选项:
-c, --comment 注释 GECOS 字段的新值;
-d, --home HOME_DIR 用户的新主目录;
-e, --expiredate EXPIRE_DATE 设定帐户过期的日期为 EXPIRE_DATE;
-f, --inactive INACTIVE 过期 INACTIVE 天数后,设定密码为失效状态;
-g, --gid GROUP 强制使用 GROUP 为新主组;
-G, --groups GROUPS 新的附加组列表 GROUPS;
-a, --append GROUP 将用户追加至上边 -G 中提到的附加组中,
并不从其它组中删除此用户;
-h, --help 显示此帮助信息并推出;
-l, --login LOGIN 新的登录名称;
-L, --lock 锁定用户帐号;
-m, --move-home 将家目录内容移至新位置 (仅于 -d 一起使用);
-o, --non-unique 允许使用重复的(非唯一的) UID;
-p, --password PASSWORD 将加密过的密码 (PASSWORD) 设为新密码;
-R, --root CHROOT_DIR chroot 到的目录;
-s, --shell SHELL 该用户帐号的新登录 shell 环境;
-u, --uid UID 用户帐号的新 UID;
-U, --unlock 解锁用户帐号;
-Z, --selinux-user SEUSER 用户账户的新 SELinux 用户映射。
Usermod 案例演示:
(1) 将 edu 用户属组修改为 edu1,edu2 附属组;
usermod -G edu1,edu2 edu
(2) 将 edu 用户加入到 edu3,edu4 附属组,-a 为添加新组,原组保留;
usermod –a -G edu3,edu4 edu
(3) 修改 edu 用户,并指定新的家目录,同时指定其登陆的 SHELL;
usermod -d /tmp/aa -s /bin/bash edu
(4) 将 edu 用户名修改为 edu1;
usermod -l edu1 edu
(5) 锁定 edu1 用户及解锁 edu1 用户方法;
usermod –L edu1;usermod -U edu1

你可能感兴趣的:(linux)