文件管理

Posted 少年已不年少

tags:

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

一. Linux中用户的概述
用户指的是能够正常登录Linux或者windows系统与windows用户的区别:

  • 支持同一个用户多个设备同时登录
  • 支持不同的用户多个设备同时登录

二. 用户的作用

1)系统上的每一个进程(运行的程序)都需要特定的用户运行
2)每一个文件都有特定的用户拥有,所以访问一个文件或目录受到用户的限制
3)进程能够以何种方式访问某一个文件或目录,与进程所关联的用户与关
三. 查看系统中用户的命令

1)id 查看系统用户命令

##  查看指定用户的信息
id: 默认情况不加用户名则查看当前登录用户的信息

## 语法
id 用户名

# 举例:
[root@Quanyi <sub>]# id yiyi
uid=1001(yiyi) gid=1001(yiyi) groups=1001(yiyi)

uid=1001(yiyi) ## UserID:用户id号
gid=1001(yiyi) ## GroupID:用户组id号
groups=1001(yiyi) ## 该用户的所有组信息

## 查看进程 (每个进程的运行用户)
[root@Quanyi </sub>]# ps -ef

四. 系统用户相关的配置文件

##  用户信息配置文件
/etc/passwd

## 用户密码存储文件
/etc/shadow

## 用户组信息配置文件
/etc/group

## 用户组密码存储文件
/etc/gshadow

1) /etc/passwd

## 举例:
[root@Quanyi ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
lqy:x:1000:1000::/home/lqy:/bin/bash
yiyi:x:1001:1001::/home/yiyi:/bin/bash

## 文件内容
root:x:0:0:root:/root:/bin/bash
dbus:x:81:81:System message bus:/:/sbin/nologin


第一列

第二列

第三列

第四列

第五列

第六列

第七列

内容

root

x

0

0

root

/root

/bin/bash

作用

用户名

密码占位符

UID

gid

描述信息

用户的家目录

用户登录的

2)/etc/shadow

##  存放用户密码相关信息文件
[root@Quanyi ~]# cat /etc/shadow
root:$6$iybiMRjFo3dPNT5P$Z4W4qq4gxnpLacKPdggLTKFlHLAQ21WJFCEbHrM1GpyKDjVT2A43D8YoliSJHZY0novc9ulcK132nOV3NuXgp1::0:99999:7:::
bin:*:17834:0:99999:7:::

daemon:*:17834:0:99999:7:::


第一列

第二列

第三列

第四列

第五列

第六列

第七列

第八列

第九列

内容

root

*!!(没密码)

17834

0

99999

7

2

6627567

作用

用户名

密码(加密)

从1970年开始上一次修改密码过了多少天

密码最少使用多少天,0代表没有限制

密码最大使用多少天

密码快过期前7天提示要修改密码

密码过期后2天强制修改密码

用户账户过期时间从1970年开始

保留位

五. 用户分类 (约定,规范CentOS7)

用户UID

系统中含义

0

超级管理员用户

1-200

系统用户 (系统自己创建)

201-999

系统用户 (可以手动创建)

1000+

普通用户

六. chage命令修改用户信息

-d //设置最近一次更改密码时间, 0下次登陆系统强制修改密码
-m //设置用户两次改变密码之间使用"最小天数"
-M //设置用户两次改变密码之间使用"最大天数"
-W //设置密码更改警告时间 将过期警告天数设为“警告天数”
-I //设置密码过期天数后, 密码为失效状态
-E //设置用户过期时间, 账户失效后无法登陆
-l //显示用户信息

## 举例:
//修改时间为2014年08月31日,和图中时间匹配,方便后续验证
[root@zls <sub>]# date -s 20140831
Sun Aug 31 00:00:00 CST 2014
[root@zls </sub>]# date
Sun Aug 31 00:00:01 CST 2014
[root@zls <sub>]# useradd zls1
[root@zls </sub>]# echo "123" |passwd --stdin zls1
[root@zls <sub>]# tail -1 /etc/shadow
zls1:!!:16312:0:99999:7:::

//设置最近一次修改密码时间
[root@zls </sub>]# chage -d "2014-09-01" zls1
[root@zls <sub>]# tail -n1 /etc/shadow
zls1:!!:16314:0:99999:7:::

//设置最短使用密码时间
[root@zls </sub>]# chage -m 2 zls1
[root@zls <sub>]# tail -n1 /etc/shadow
zls1:!!:16314:2:99999:7:::

//设置密码最长使用时间
[root@zls </sub>]# chage -M 15 zls1
[root@zls <sub>]# tail -n1 /etc/shadow
zls1:!!:16314:2:15:7:::

//设置密码警告时间
[root@zls </sub>]# chage -W 6 zls1
[root@zls <sub>]# tail -n1 /etc/shadow
zls1:!!:16314:2:15:6:::
[root@zls </sub>]# chage -W 7 zls1
[root@zls <sub>]# tail -n1 /etc/shadow
zls1:!!:16314:2:15:7:::

//设置密码过期时间
[root@zls </sub>]# chage -I 5 zls1
[root@zls <sub>]# tail -n1 /etc/shadow
zls1:!!:16314:2:15:6:5::

//设置用户过期时间
[root@zls </sub>]# chage -E "20115-08-31" zls1
[root@zls <sub>]# tail -n1 /etc/shadow
zls1:!!:16314:2:15:6:5:6627567:

[root@zls </sub>]# chage -l zls1
Last password change           : Sep 01, 2014       //最近一次更改密码时间
Password expires               : Sep 16, 2014     //密码过期时间
Password inactive               : Sep 21, 2014     //密码失效时间
Account expires                 : Aug 31, 2015     //用户失效时间
Minimum number of days between password change     : 2 //密码最短使用时间
Maximum number of days between password change     : 15 //密码最长使用时间
Number of days of warning before password expires   : 7 //密码过期前警告天数

//如何验证,只调整时间为如下进行验证:

1.验证普通用户是否能修改密码, 不需要调整时间。

2.普通用户登陆系统后, 会提示警告密码还剩多少天过期
[root@zls <sub>]# date -s "2014-09-12"

3.普通用户登陆系统后, 强制要求修改密码
[root@zls </sub>]# date -s "2014-09-18"

4.普通用户登陆系统后, 提示账户已过期
[root@zls ~]# date -s "2014-09-23"

七. 用户操作命令

1)用户创建 useradd adduser

useradd    adduser  # 用户创建

## 注意:创建用户在默认不指定组的情况下,会同时创建出跟该用户名相同的组,跟uid相同的gid,除非-g指定组,则不会创建同名组

## 语法
useradd [选项]... 用户名

## 选项
-u:创建用户时指定的uid
-g:创建用户时指定的gid 指定用户组名(该组名必须存在)
-G:创建用户时指定用户的附加组(该组必须存在)
-c:创建用户时指定用户的描述信息
-d:创建用户时指定用户的家目录(该目录可以不存在,会自动创建)
-m:修改用户时迁移用户的家目录,必须配合-d使用
-M:创建用户时不创建用户的家目录
-s:创建用户时指定用户登录的shell(默认是/bin/bash)
-r:创建用户时指定用户为系统用户

## 创建用户举例:
[root@Quanyi <sub>]# useradd shanghai

## -u -g
[root@Quanyi </sub>]# useradd shanghai1 -u 777 -g root
[root@Quanyi <sub>]# id shanghai1
uid=777(shanghai1) gid=0(root) groups=0(root)

## -G
[root@Quanyi </sub>]# useradd shanghai4 -g anhu
[root@Quanyi <sub>]# id shanghai4
uid=1006(shanghai4) gid=1003(anhu) groups=1003(anhu)
[root@Quanyi </sub>]# useradd shanghai5 -G anhu
[root@Quanyi <sub>]# id shanghai5
uid=1009(shanghai5) gid=1009(shanghai5) groups=1009(shanghai5),1003(anhu)

## -c
[root@Quanyi </sub>]# useradd jingan -c 111
[root@Quanyi <sub>]# cat /etc/passwd
shnaghai5:x:1008:1003::/home/shnaghai5:/bin/bash
shanghai5:x:1009:1009::/home/shanghai5:/bin/bash
jingan:x:1010:1010:111:/home/jingan:/bin/bash

## -d
[root@Quanyi </sub>]# useradd xuhui -d /shanghai
[root@Quanyi <sub>]# ll /
drwx------. 2 xuhui xuhui 62 Apr 1 18:43 shanghai

## -M
[root@Quanyi </sub>]# useradd shanghai6 -M

## -s
[root@Quanyi <sub>]# useradd shanghai7 -s /sbin/nologin

## -r
[root@Quanyi </sub>]# useradd shanghai8 -r

## 报错1
[root@Quanyi <sub>]# useradd shanghai1 -u 111 -g 111
useradd: group 111 does not exist

# 注意:原因:666这个组不存在,前提,-g必须加入到一个已存在的组

## 报错2
[root@Quanyi </sub>]# mkdir /123
[root@Quanyi ~]# useradd shanghai9 -d /123/
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.

# 注意:原因:使用-d指定用户的家目录时,家目录不能提前创建

2)修改用户 usermod modify

usermod   modify

## 语法
usermod [选项] 用户名

## 选项
-u:修改用户时指定用户的uid
-g:修改用户时指定用户的gid 指定用户组名(该组必须存在)
-G:修改用户时指定用户的附加组,会覆盖原来的附加组(该组必须存在)
-a:修改用户附加组的时候,配合-a追加使用
-c:修改用户时指定用户的描述信息
-d:修改用户时指定用户的家目录(该目录可以不存在,会自动创建)
Django:创建电子邮件登录字段而不是用户名后,超级用户和用户无法登录到管理员和用户页面

Linux用户权限管理命令

用户管理

光猫超级管理员账号密码和Telnet登陆

移动超级管理员账号无法进入

linux 用户管理