- 1. 前言
- 2.1. Linux 简介与安装
- 2.2. Linux 目录结构
- 2.3. Linux 命令
- 3.1. Linux 用户管理
- 3.2. Linux 权限规划 Authority Division:ACL 权限控制
- 4.2. Linux 计划任务 - 例行性工作排程
- 4.3. Linux 程序管理和 SELinux 初探
- 4.7. Linux 防火墙
- 5.1. Linux 网络基础
- 5.3. FTP:Vsftp
- 6.4. 虚拟化概述
- 6.5. Docker
- 7.1. GCC
- 7.5. 使用 you-get 和 youtube-dl 下载 YouTube 视频列表
- 7.6. MPlayer
- 7.7. google-chrome & chromium
- 7.8. Scrot:截图工具
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
3.1. Linux 用户管理
3.1.1. Linux User & Group
// 新增一个用户 $ sudo useradd test // 新建一个用户,指定默认值或默认行为 $ sudo useradd -u 666 -G root,bin -c "test user" -d /home/test -s /bin/bash test
// 删除用户 // 注意:默认情况下,userdel 命令只会删除/etc/passwd 文件中的用户信息,而不会删除系统中属于该账户的任何文件。 $ userdel -r test // 加上 -r 参数,userdel 会删除用户的 HOME 目录以及邮件目录,但必须在删除之前检查清楚(比如是否存放了其他用户或其他程序的重要文件)。
// 修改用户信息
命令 | 描述 |
---|---|
usermod | 修改用户账户的字段,指定主要组以及附加组的所属关系 |
passwd | 修改已有用户的密码 |
chpasswd | 从文件中读取登录名密码对,并更新密码 |
chage | 修改密码的过期时间 |
chfn | 修改用户账户的备注信息 |
chsh | 修改用户账户的默认登录 shell |
// 修改用户密码
- -S 查询用户密码的状态,仅 root 用户可用。
- -l 暂时锁定用户。仅 root 用户可用。
- -u 解锁用户。仅 root 用户可用。
- –stdin 通过管道符输出的数据作为用户的密码。
// 显示用户最近登录信息 last,lastlog // 列出目前/过去登入系统的用户信息 last, lastb
// 创建、修改和删除组 $ sudo groupadd shared $ sudo groupmod -n sharing shared $ sudo groupdel shared
// 加入组和从组里删除 $ sudo gpasswd -a test tests $ sudo gpasswd -d test tests
3.1.2. 扩展阅读:user/group 文件
- /etc/passwd
$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin # ... zrg:x:1000:1000:zrg,,,:/home/zrg:/bin/bash
/etc/passwd 字段信息
- 登录用户名
- 用户密码
- UID
- Group ID
- 描述
- HOME 目录位置
- 默认 shell
特别说明
- /etc/passwd 文件中的密码字段都被设置成了 x,多数 Linux 系统都将用户密码保存在 /etc/shadow 文件中,只有特定的程序(比如登录程序)才能访问这个文件。
- 一般情况下,不建议直接手动在 /etc/passwd 文件里进行用户管理(比如添加、修改或删除用户账户)。用标准的 Linux 用户管理工具去执行这些操作就会安全许多。
- /etc/shadow
/etc/shadow 字段信息- 与/etc/passwd 文件对应的登录名
- 加密后的密码
- 自上次修改密码后过去的天数密码(自 1970 年 1 月 1 日开始计算)
- 多少天后才能更改密码
- 多少天后必须更改密码
- 密码过期前提前多少天提醒用户更改密码
- 密码过期后多少天禁用用户帐目
- 用户账户被禁用的日期(用自 1970 年 1 月 1 日到当天的天数表示)
- 预留字段给将来使用
- /etc/default/useradd
// See below, the subsection "Changing the default values". $ sudo useradd -D or $ sudo less /etc/default/useradd
GROUP=100 //用户默认组,新用户被添加到 GID 为 100 的公共组 HOME=/home //HOME 目录位置 INACTIVE=-1 //密码过期宽限天数,密码过期后不会被禁用 EXPIRE= //密码失效时间,未被设置过期日期,密码失效与 /etc/login.defs 默认文件相关。 SHELL=/bin/sh //将 sh 作为默认 shell SKEL=/etc/skel //模板目录,会将/etc/skel 目录下的内容复制到用户的 HOME 目录下 CREATE_MAIL_SPOOL=no //是否为该用户账户在 mail 目录下创建一个用于接收邮件的文件
- /etc/group
字段信息- 组名
- 组密码
- GID
- 属于该组的用户列表,当一个用户在/etc/passwd 文件中指定某个组作为默认组时,用户账户不会作为该组成员再出现在/etc/group 文件中。
- /etc/gshadow
- /etc/group 的加密资讯文件,比如用户组(Group)管理密码就是存放在这个文件。
- /etc/gshadow 和/etc/group 是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是极有必要的。比如我们不想让一些非用户组成员永久拥有用户组的权限和特性,这时我们可以通过密码验证的方式来让某些用户临时拥有一些用户组特性,这时就要用到用户组密码。
字段信息
$ sudo less /etc/gshadow 组名:用户组的名称,由字母或数字构成。 口令:用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码。 组管理者:这个字段也可为空,如果有多个用户组管理者,用,号分割。 组内用户列表:如果有多个成员,用,号分割 ;
- 其他文件
Home 目录 超级用户:/root/ 普通用户:/home/zrg/
用户邮箱目录 /var/spool/mail/zrg/
在创建用户时,默认复制该目录下的文件到用户的家目录。 /etc/skel
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论