linux学习第十一篇:linux和Windows互传文件,用户配置文件和密码配置文件,用户组管理以及用户管理
linux和Windows互传文件
先使用命令yum install -y lrzsz安装
PS:前提是使用xshell或者securecrt。putty不支持。
1. linux传到Windows
使用命令:sz 1.txt //会弹出保存路径对话框,选择路径后会将文件1.txt保存到windows上
2. Windows传到linux上
使用命令:rz //可选择Windows上的文件传到linux系统上
用户配置文件和密码配置文件
/etc/passwd:用户配置文件
[root@xie-02 ~]# 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
‘/etc/passwd’ 由 ‘:’ 分割成7个字段,每个字段的具体含义是:
1)用户名(如第一行中的root就是用户名),代表用户账号的字符串。用户名字符可以是大小写字母、数字、减号(不能出现在首位)、点以及下划线,其他字符不合法。虽然用户名中可以出现点,但不建议使用,尤其是首位为点时,另外减号也不建议使用,因为容易造成混淆。
2)存放的就是该账号的口令,为什么是 ‘x’ 呢?早期的linux用户密码确实是存放在这里,但基于安全因素,后来就将其存放到 ‘/etc/shadow’ 中了,在这里只用一个 ‘x’ 代替。
3)这个数字代表用户标识号,也叫做uid。系统识别用户身份就是通过这个数字来的,0就是root,也就是说你可以修改test用户的uid为0,那么系统会认为root和test为同一个账户。
4)表示组标识号,也叫做gid。这个字段对应着/etc/group 中的一条记录,其实/etc/group和/etc/passwd基本上类似。
5)注释说明,该字段没有实际意义,通常记录该用户的一些属性,例如姓名、电话、地址等等。不过,当你使用finger的功能时就会显示这些信息的(稍后做介绍)。
6)用户的家目录,当用户登录时就处在这个目录下。root的家目录是/root,普通用户的家目录则为/home/username,这个字段是可以自定义的,比如你建立一个普通用户test1,要想让test1的家目录在/data目录下,只要修改/etc/passwd文件中test1那行中的该字段为/data即可。
7)shell,用户登录后要启动一个进程,用来将用户下达的指令传给内核,这就是shell。Linux的shell有很多种sh, csh, ksh, tcsh, bash等,而Redhat/CentOS的shell就是bash。查看/etc/passwd文件,该字段中除了/bin/bash外还有/sbin/nologin比较多,它表示不允许该账号登录。如果你想建立一个账号不让他登录,那么就可以把该字段改成/sbin/nologin,默认是/bin/bash.
/etc/shadow:密码配置文件,专门用来控制用户的密码。
[root@xie-02 ~]# cat /etc/shadow
root:$6$pQF1i3yI$jJPJd.6cY8pl1vf7fEU3DyVNm87eH5bAvDGuVJYl3hZAdkUzUe84o.gqcw3/Noe4YW7Z.ZAkfN1sV96KsYnl4/:17461:0:99999:7:::
bin:*:17110:0:99999:7:::
daemon:*:17110:0:99999:7:::
adm:*:17110:0:99999:7:::
lp:*:17110:0:99999:7:::
sync:*:17110:0:99999:7:::
shutdown:*:17110:0:99999:7:::
halt:*:17110:0:99999:7:::
mail:*:17110:0:99999:7:::
operator:*:17110:0:99999:7:::
games:*:17110:0:99999:7:::
ftp:*:17110:0:99999:7:::
nobody:*:17110:0:99999:7:::
systemd-bus-proxy:!!:17460::::::
systemd-network:!!:17460::::::
dbus:!!:17460::::::
polkitd:!!:17460::::::
tss:!!:17460::::::
postfix:!!:17460::::::
sshd:!!:17460::::::
chrony:!!:17460::::::
xie:!!:17464:0:99999:7:::
user1:!!:17466:0:99999:7:::
用 ‘:’ 分割成9个字段。
每个字段的含义是:
1)用户名,跟/etc/passwd对应。
2)用户密码,这个才是该账号的真正的密码,不过这个密码已经加密过了,而且不能反编译。但是root账户是可以访问或更改的。
3)上次更改密码的日期,距离1970年1月1日到上次更改密码的日期。
4)要过多少天才可以更改密码,默认是0,即不限制。
5)密码多少天后到期。即在多少天内必须更改密码,例如这里设置成30,则30天内必须更改一次密码,否则将不能登录系统,默认是99999,可以理解为永远不需要改。
6)密码到期前的警告期限,若这个值设置成7,则表示当7天后密码过期时,系统就发出警告告诉用户,提醒用户他的密码将在7天后到期。
7)账号失效期限。你可以这样理解,如果设置这个值为3,则表示:密码已经到期,然而用户并没有在到期前修改密码,那么再过3天,则这个账号就失效了,即锁定了。
8)账号的生命周期,跟第三段一样,是按距离1970年1月1日多少天算的。它表示的含义是,账号在这个日期前可以使用,到期后账号作废。
9)作为保留用的,没有什么意义。
用户组管理
/etc/group:组配置文件,
/etc/gshadow:组密码配置文件
[root@xie-02 ~]# ls /etc/shadow
shadow shadow-
[root@xie-02 ~]# ls /etc/gshadow
gshadow gshadow-
[root@xie-02 ~]# ls /etc/passwd
passwd passwd-
[root@xie-02 ~]# ls /etc/group
group group-
带有‘-’号的文件都是系统自动备份的文件,若对应的文件被删除,可复制备份文件。
1. 新增一个组
命令 : groupadd
groupadd grp1 //增加组grp1
groupadd -g 1003 grp1 //创建组grp1并自定义gid为1003
2. 删除组
命令 : groupdel
groupdel grp1 //删除组grp1。若组里有用户则该组删除不了,只有删除组里的用户才能删除组
用户管理
1.增加用户
命令:useradd / adduser
useradd user1 //增加用户user1
useradd -u 1004 -g grp1 user2 // 创建用户user2并自定义UID为1004,存在于组grp1
useradd -u 1006 -g grp2 -d /home/xie -s /sbin/nologin user3 //创建用户user3并自定义UID为1006,存在于组grp2,自定义用户家目录为/home/xie,自定义shell为/sbin/nologin
useradd -M user3 //创建用户user5,但不去创建家目录。‘-M’ 选项加上后则不建立用户家目录,但是在/etc/passwd文件中仍然有这个字段。但是你使用ls去/home下查看user3 会提示该目录不存在。所以 ‘-M’ 选项的作用只是不创建那个目录。
//‘-u’ 自定义UID
‘-g’ 使其属于已经存在的某个组,后面可以跟组id, 也可以跟组名
‘-d’ 自定义用户的家目录
‘-M’ 不建立家目录
‘-s’ 自定义shell
2.删除用户
命令:userdel
userdel user1 //删除用户user1
userdel -r user1 //‘-r’ 选项的作用只有一个,就是删除用户的时候连带用户的家目录一起删除。
- mysql完整备份时过滤掉某些库
- Jquery 结合Json控制Select下拉框
- ExtJs学习笔记(23)-ScriptTagProxy+XTemplate+WCF跨域取数据
- Centos7.2下Jumpserver V4.0环境安装部署记录
- 利用JQuery实现更简单的Ajax跨域请求
- 运维工作中sed常规操作命令梳理
- linux下安装php的imagick扩展模块(附php升级脚本)
- 用JS + WCF打造轻量级WebPart
- Android之assets资源
- ExtJs学习笔记(24)-Drag/Drop拖动功能
- 人工智能尚处探索阶段,为何我们对此异常焦虑
- ExtJs学习笔记(22)-XTemplate + WCF 打造无刷新数据分页
- 同步服务器系统时间操作记录
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(安装Windows虚拟机)-(4)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux下一只五颜六色的「猫」
- Android编程实现自定义ImageView圆图功能的方法
- Android开启闪光灯的方法 Android打开手电筒功能
- Android 中ActionBar+fragment实现页面导航的实例
- Android编程之下拉菜单Spinner控件用法示例
- Android控件Tween动画(补间动画)实现方法示例
- Android顶部(toolbar)搜索框实现的实例详解
- Linux下tcpdump命令解析及使用详解
- react native中的聊天气泡及timer封装成的发送验证码倒计时
- 如何卸载linux自带openjdk并安装sun jdk
- Android中实现密码的隐藏和显示的示例
- CentOS8出现-bash:乱码问题及解决方法
- Android编程实现摄像头临摹效果的方法
- Android实现九宫格解锁的实例代码
- 详解Linux系统中虚拟设备文件的各种实用用法