IT-Sir 发表于 2017-11-16 21:09

linux 新手入门

新手刚学linux !有没有合适的入门视频推荐呢 各位前辈!!

632302493 发表于 2017-11-17 08:31

## 用户管理命令
#### 用户和组的主要配置文件
- /etc/passwd
- /etc/group
- /etc/shadow
- /etc/gshadow
#### chfn : 用来修改账号的描述信息
##### 格式 chfnusername
- -f<真实姓名>或--full-name<真实姓名>:设置真实姓名;
- -h<家中电话>或--home-phone<家中电话>:设置家中的电话号码;
- -o<办公地址>或--office<办公地址>:设置办公室的地址;
- -p<办公电话>或--office-phone<办公电话>:设置办公室的电话号码;
- -u或--help:在线帮助; -v或-version:显示版本信息。
#### finger :用于查找并显示用户详细描述信息
##### 格式 finger usernam
- -l:列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,还有计划文件和方案文件内容;
- -m:排除查找用户的真实姓名;
- -s:列出该用户的帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话;
- -p:列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,但不显示该用户的计划文件和方案文件内容。
- 系统默认是没有安装的需要手动安装
#### id :查看用户的UID,GID ,组ID
- 直接查询输入id会查询的是当前用户信息
- id username查询的是username的用户
#### chsh 更改用户登录shell
- chsh -s /bin/csh username
- 更改完信息要重新登录才能生效

#### /etc/shadow用户口令密码文件
- 文件格式 用户名:加密后的密码:最近一次修改密码的时间:密码最短有效期:密码最长
- 更改密码加密密钥 authconfig --passalgo=sha256 --update
- 命令产生随机口令 openssl rand -base64 30
#### chage 修改用户密码时间有效期
- 用法:chage username 交互式更改
- -l 显示密码策略
- -E 密码过期时间 2016-10-10

#### 设置口令的方法
- echo 密码 | passwd --stdin username这种方法可以看到设置的密码不用输入两次
- passwd usernam 这种也可以
#### 如何让用户登录后改密码只要把最后一次改密码时间为0就是登录后改密码
- 修改etc/shadow 文件把最后一次改密码日期为0
- passwd -e username
- chage -d日期 usernam

#### 如何添加附属组和更改主组和给组加密码
- groups usname 查看用户组
- getent group username查看指定用户组文件信息
- 如何添加附属组命令 usermod -aG 组名用户名
- newgrp 切换主组   newgrp 组名
- gpasswd 组名给组加密码
- gpasswd -A用户名 组   把这个用户当成这个组的管理员
- gpasswd -ausername group 把用户添加组
- gpasswd -dusername group删除组
- usermod -Ggroupusername 也可以添加组 -a 是追加组,如果不加-a 默认会覆盖当前附属组
- groupmems -a username -g group 也可添加组
- groupmems -d username -g group 删除组
- groupmens -l -g group 查看组列表成员

### 如何用命令操作组和用户的配置文件
#### vipw、vigr
- vipw 是修改/etc/passwd 配置文件的在保存时会检查格式和语法
- vipw -s 是修改shadow 文件
- vigr 是修改/etc/group配置文件的保存时也会检查语法和格式
- vigr -s 是修改gshadow 文件

#### pwck、grpck 用于检查passwd、group 这两个文件是否有语法格式等错误


#### 创建用户名
##### useradd[选项] 用户名
- -u :指定u ID
- -g :指定主组
- -m :指定家目录
- -M :指定不建立家目录
- -G :指定附加组多个附加组可以用,号分隔
- -N :不创建主组(默认会自动加入user组)
- -r :创建系统用户
- -d :指定家目录
- -c :用户描述信息
- -s :指定用户登录shell

#### 创建用户的默认配置文件
- /etc/default/useradd
<pre># cat /etc/default/useradd
useradd defaults file
GROUP=100    # 如果用-N不建立主组会默认加入这里
HOME=/home   # 默认创建家目录的路径
INACTIVE=-1# 默认密码过期宽限天数 -1这是没有
EXPIRE=      # 账号有效期 空是99999
SHELL=/bin/bash# 默认创建用户的shell
SKEL=/etc/skel   #用户家目录里的默认文件模板
CREATE_MAIL_SPOOL=yes # 用户邮件文件
也可以用useradd -D 查看和修改
</per>

#### 组和用户的相关文件
1. /etc/default/useradd 创建用户默认配置文档
2. /etc/skel/*用户家目录的模板文件
3. /etc/login.defs 文件定义了与/etc/password和/etc/shadow配套的用户限制设定。

#### 如何批量创建用户
- 首先创建一个文本文档,里面要和/etc/passwd 里面的格式一样
<pre>xiaofeng:x:1203:1204::/home/xiaofeng:/bin/nologin
xiaowang:x:1204:1005::/home/xiaowang:/bin/bash
1234:x:1234:985::/app/123:/bin/bash
sarah:x:1239:1240::/home/sarah:/bin/nologin</pre>
- 然后使用newuser 命令
<pre># newusers pass.txt</pre>
- 我们用getent passwd 查看一下 是否创建成功
<pre>xiaofeng:x:1203:1204::/home/xiaofeng:/bin/nologin
xiaowang:x:1204:1005::/home/xiaowang:/bin/bash
1234:x:1234:985::/app/123:/bin/bash
sarah:x:1239:1240::/home/sarah:/bin/nologin
# </pre>
- 已经创建成功了,但是我们还需要为这些用户创建密码一个一个创建很麻烦SO我们也有批量创建密码的命令
- 用chpasswd 命令可以批量创建用户密码,和之前一样也是创建一个文本文档格式是这样
<pre>xiaofeng:123456
xiaowang:123456
1234:123456
sarah:123456</pre>
- 必须这样然后执行我们chpasswd 命令
<pre># cat 123.txt |chpasswd</pre>
- 这样就成功了
#### 用户修改属性
##### usermod 修改用户属性
- 格式用法 usermod login
- -u :指定新的UID
- -g :指定新的主组(这个组必须要提前存在)
- -G :指定附加组默认是覆盖当前附加组,需要加-a 追加
- -s :指定shell
- -c :更改用户描述信息
- -d :指定用户新的家目录
- -l :更改用户的名字
- -L :锁定用户
- -U :解锁用户
- -e :yyyy-mm-dd 指明用户账号过期日期
- -f :设定非活动期限

#### 如何删除用户 useradd
- useradd 用户 这样不删除用户家目录
- -r 是删除用户家目录(要谨慎)


#### passwd 修改指定用户的密码,仅root用户使用
- passwd修改自己的密码
- -l 锁定指定用户
- -u 解锁指定用户
- -e 强制用户下次登录时必须更改密码
- -n 指定密码最短使用期限
- -x 最大使用期限
- -w 提前多少天开始警告
- -i 非活动期限
- --stdin :从标准输入接受用户密码
- echo 'password' | passwd --stdin username


#### 组管理
#####创建组 groupadd ... group_name
- -g 指明组的GID
- -r 创建系统组

#####组修改属性 groupmod ...group
- -n :新名字
- -g :新的GID

#####组密码 gpasswd group
- a 将user 添加至指定组中
- d 从指定组中移除用户
- A 设置组管理员用户

#####更改和查看组成员groupmems [组]
- -a 指定用户加入组
- -d 从组删除用户
- -p 从组清除所有组成员
- -l 列出组成员列表
- -g 更改为指定组(只有root能使用)

#####删除组 groupdel
- groupdel group










IT-Sir 发表于 2017-11-16 21:15

sscanf 发表于 2017-11-16 21:13
手动安装一次arch linux,然后基本的命令都会掌握一些,然后看看bash shell编程

先从基本命令开始吗?前辈

sscanf 发表于 2017-11-16 21:13

手动安装一次arch linux,然后基本的命令都会掌握一些,然后看看bash shell编程

田田爱崽崽 发表于 2017-11-16 21:22

你的目标是什么,想达到什么效果?

遇难者 发表于 2017-11-16 21:26

会安装mysql php之类的常用环境就完事了

hyxk 发表于 2017-11-17 08:09

可以看下Linux就这么学,有网站,有学习资料。也书刚出来。

KKMSN 发表于 2017-11-17 08:14

linux就这么学,我打算也看看了,刚好要用su

632302493 发表于 2017-11-17 08:34

目前正在学习

一念天堂地狱 发表于 2017-11-17 08:52

大佬有linux吗,我也想安装
页: [1] 2
查看完整版本: linux 新手入门