文件管理

Posted 少年已不年少

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件管理相关的知识,希望对你有一定的参考价值。

一. 创建用户流程

1)跟用户创建相关的文件:
/etc/login.defs

[root@Quanyi <sub>]# grep -Ev ^#|^$ /etc/login.defs 
MAIL_DIR /var/spool/mail
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
UID_MIN 1000
UID_MAX 60000
SYS_UID_MIN 201
SYS_UID_MAX 999
GID_MIN 1000
GID_MAX 60000
SYS_GID_MIN 201
SYS_GID_MAX 999
CREATE_HOME yes
UMASK 077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512

[root@Quanyi </sub>]# grep -i ^[a-z] /etc/login.defs
MAIL_DIR /var/spool/mail # 指定创建用户时,默认邮件文件位置
PASS_MAX_DAYS 99999 # 创建用户默认密码最大使用天数
PASS_MIN_DAYS 0 # 创建用户默认密码最小使用天数(0代表无限)
PASS_MIN_LEN 5 # 密码最短位数
PASS_WARN_AGE 7 # 密码过期警告
UID_MIN 1000 # 普通用户,最小UID是1000
UID_MAX 60000 # 普通用户,最大UID是60000
SYS_UID_MIN 201 # 系统用户,最小UID是201
SYS_UID_MAX 999 # 系统用户,最大UID999
GID_MIN 1000 # 普通用户,最小GID1000
GID_MAX 60000 # 普通用户,最大GID60000
SYS_GID_MIN 201 # 系统用户,最小GID是201
SYS_GID_MAX 999 # 系统用户,最大GID是999
CREATE_HOME yes # 默认创建用户的家目录
UMASK 077 # UMASK 077 指定用户创建家目录的默认权限
USERGROUPS_ENAB yes # 创建用户时,如果不用-g指定组,那么会默认创建出该用户的同名组
ENCRYPT_METHOD SHA512 # 用户加密的加密方式 SHA512

## 权限了解

# 举例:
-rw-r--r--. 1 root root 0 Mar 30 09:36 sanghai
lrwxrwxrwx. 1 root root 13 Mar 29 16:40 shanghai -> /tmp/shanghai
drwxr-xr-x. 2 root root 6 Mar 29 17:00 shi.txt

r:读 4
w:写 2
x:执行 1
-:没有权限 0

# 目录创建默认权限:0777 - umask
# 文件创建默认权限:0666 - umask

# 系统中umask为0022
[root@Quanyi <sub>]# umask
0022

## 判断题
如果 当前用户UID大于199 并且 用户的用户名和用户的组名相同 那么
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
  umask是002
  umask 002
否则
else
  umask是022
  umask 022
fi

[root@Quanyi </sub>]# cat /etc/default/useradd
# 注释: # 如果login.defs文件中的USERGROUPS_ENAB yes是no,该行配置才会生效
GROUP=100 # 如果创建用户不创建同名组,默认会将该用户加入GID为100的系统组中(users)
HOME=/home # 指定用户默认创建家目录的位置
INACTIVE=-1 # 用户账户停权 -1永远不过期
EXPIRE= # 账号终止时间的设置,不设置不终止
SHELL=/bin/bash # 用户默认创建登录shell
SKEL=/etc/skel # 该目录下存放的是,用户的环境变量初始配置文件
CREATE_MAIL_SPOOL=yes # 创建用户的同时,创建该用户的邮箱文件

2)用户创建的流程

1.执行useradd 命令 + 用户名
2.查看执行命令是否有选项
3.读取/etc/login.defs 文件
4.读取/etc/default/useradd文件
5.如果没有-M则创建家目录
6.根据配置文件中的 SKEL=/etc/skel 将skel下面的环境变量文件拷贝到家目录下
7.用户信息记录到/etc/passwd文件中
8.用户密码信息记录到/etc/shadow文件中
9.用户组信息记录到/etc/group文件中
10.用户组密码信息记录到/etc/gshadow文件中

二. 用户的密码管理

passwd:给用户设置密码

## 语法:
passwd [用户名]
# 注意:如果不加用户名,则修改当前登录用户的密码,只有root用户能在passwd命令后加用户名

## 举例:
[root@Quanyi <sub>]# passwd jiangsu
# 注释:修改其他用户密码
Changing password for user jiangsu.
# 注释:修改江苏用户的密码
New password:
# 注释:输入新密码
BAD PASSWORD: The password is a palindrome
# 注释:密码较弱
Retype new password:
# 注释:重复新密码
passwd: all authentication tokens updated successfully.
# 注释:所有认证令牌更新成功

## 免交互方式
stdin:标准输入
stdout:标准输出
stderr:错误输出

## 举例:
[root@Quanyi </sub>]# echo 123|passwd --stdin jiangsu1
Changing password for user jiangsu1.
passwd: all authentication tokens updated successfully.

三. 随机密码生成

tee:管道命令
-a:append 最加

## 举例:
[root@Quanyi <sub>]# useradd shanghai1
[root@Quanyi </sub>]# echo $RANDOM|tee -a /tmp/pass.txt |passwd --stdin shanghai1
Changing password for user shanghai1.
passwd: all authentication tokens updated successfully.
[root@Quanyi ~]# cat /tmp/pass.txt
12528

以上是关于文件管理的主要内容,如果未能解决你的问题,请参考以下文章

华为手机文件管理器

Android 调用系统文件管理器

DELPHI基础教程:文件管理(一)[2]

iOS苹果手机最好用的文件管理器

文件管理与重定向

如何高效实现公司文件管理?