1.Linux常用命令---系统和用户管理

1.1 修改主机名

hostname     //查看主机名
hostname    主机名  //临时修改主机名
hostnamectl set-hostname baiyun-yewu    //永久修改主机名
vim /etc/hostname    //永久修改主机名
hostnamectl set-hostname ""   //删除主机名
cat /etc/redhat-release //查看系统信息

1.2 用户和组管理

用户账号作用:1、访问控制的设置,不同用户具备不同权限。2、提高安全可靠性
组账号作用:方便管理用户账号
用户账号标识:UID【管理员UID为0,所有普通用户UID默认从1000起,系统程序用户默认1~999】
组账号标识:GID(用户至少要属于一个组)
组账号分类:基本组、附加组(从属组)
基本组:由Linux系统创建,由Linux将用户加入,与用户同名
附加组:由root用户创建

//添加用户
useradd [选项] 用户名
参数:
-u  指定UUID   useradd -u  1717   nsd
-d  指定家目录  useradd -d   /home/nsd   nsd
-s  指定解释器  useradd -s   /sbin/nologin  nsd     #/sbin/nologin 表示用户不能登陆操作系统
-g  指定基本组  useradd -g nsd nsd
-G  指定附加组  useradd -G  haha  nsd
-m  自动创建家目录  useradd -m nsd
-r	建立系统帐号
-f	指定在密码过期后多少天即关闭该帐号
-e	指定帐号的有效期限
-d	指定用户登入时的起始目录

//删除用户
userdel 
参数:
-r #连同家目录一并删除(若不加参数,则仅删除用户帐号,而不删除相关文件。)

//修改、添加用户属组
usermod
参数:
-l	修改用户账户的登录名
-L	锁定账户,使用户无法登录
-p	修改账户密码
-e	修改帐号的有效期限
-f	修改在密码过期后多少天即关闭该帐号
-g	修改用户所属的群组。会改变用户默认分组  usermod -g haha nds
-G	修改用户所属的附加群组。不改变默认分组
-u	修改用户ID
-U	解除锁定,使用户能够登录

//添加用户组
groupadd
【组权限允许多个用户对系统中的对象共享一组共用的权限。每个组都有一个GID。/etc/group文件包含系统上用到的每个组的信息。/etc/group中包含四个字段信息:组名、组密码、GID、属于该组的用户列表】
【注:当一个用户在/etc/passwd文件中某个组作为默认组时,用户账户可能不会作为该组成员出现在列表中。系统安装时创建的除外】
参数:
-g	设置欲使用的群组识别码
-o 	重复使用群组识别码
-n 	设置欲使用的群组名称

//删除一个群组
groupdel 群组名

//更改群组识别码或名称
groupmod
参数:
-g	设置欲使用的群组识别码
-o	重复使用群组识别码
-n	设置欲使用的群组名称

//显示用户信息
id

[root@hadoop1 ~]# id rhino
uid=1000(rhino) gid=1000(rhino) groups=1000(rhino)
参数:
-g或--group  显示用户所属群组的ID
-G或--groups  显示用户所属附加群组的ID
-n或--name  显示用户,所属群组或附加群组的名称
-r或--real  显示实际ID
-u或--user  显示用户ID
-help  显示帮助
-version  显示版本信息

1.3 重置密码

linux16行末输入:init=/bin/sh,ctrl+x进入紧急救援模式
mount -o remount,rw /
passwd输入新密码
touch /.autorelabel
exec /sbin/init 重启系统

安装图形界面
使用yum安装
yum -y groupinstall "GNOME Desktop"
更新系统运行级别
ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
重启
图形界面的centos7安装完成。
安装ifconfig命令:
yum -y install net-tools

1.4 密码策略

retry=3 尝试登陆次数3次
minlen=8 (7) 密码长度8(7)位以上
dcredit=-1 必须至少包含一个数字
ucredit=-1 必须至少包含一个大写字母
lcredit=-1 必须至少包含一个小写字母
ocredit=0 必须至少包含一个标点符号

1.5 密码管理

passwd user(设置密码)

-d 删除密码
-f 强制执行
-k 更新只能发送在过期之后
-l 停止账号使用
-S 显示密码信息
-u 启用已被停止的账户
-x 设置密码的有效期
-g 修改群组密码
-i 过期后停止用户账号
-e 强制用户下次登陆时修改密码

chpasswd(能从标准输入自动读取登录名密码对(由冒号分隔)列表,给密码加密,然后为用户账户设置)
[root@localhost ~]# chpasswd < users.txt
[root@localhost ~]# echo 'sinovatio' | passwd --stdin zxsk
Changing password for user zxsk.
passwd: all authentication tokens updated successfully.

chage(管理用户账户的有效期)
-m	密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M	密码保持有效的最大天数。
-w	用户密码到期前,提前收到警告信息的天数。
-E	帐号到期的日期。过了这天,此帐号将不可用。
-d	上一次更改的日期。
-i	停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l	例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

1.6 用户密码相关文件

在创建新用户时,将修改以下 4 个文件。
/etc/passwd: 用户账户的详细信息在此文件中更新。
/etc/shadow: 用户账户密码在此文件中更新。
/etc/group: 新用户群组的详细信息在此文件中更新。
/etc/gshadow: 新用户群组密码在此文件中更新。

/etc/passwd 文件的一行代表一个单独的用户。该文件将用户的信息分为 3 个部分
第 1 部分:root用户信息
第 2 部分:系统定义的账号信息
第 3 部分:真实用户的账户信息

//列出详细信息
[root@localhost ~]# cat /etc/passwd

//仅显示用户名
[root@localhost ~]# cut -d ':' -f1 /etc/passwd

/etc/passwd 文件将每个用户的基本信息记录为文件中的一行,一行中包含 7 个字段,详细信息如下:

rhino:x:1000:1000:rhino:/home/rhino:/bin/bash

用户名 (rhino): 已创建用户的用户名,字符长度 1 个到 12 个字符。
密码(x):代表加密密码保存在 /etc/shadow 文件中。
用户 ID(1000):代表用户的 ID 号,每个用户都要有一个唯一的 ID 。
UID 号为 0 的是为 root 用户保留的,UID 号 1 到 99 是为系统用户保留的,UID 号 100-999 是为系统账户和群组保留的。
群组 ID (1000):代表群组的 ID 号,每个群组都要有一个唯一的 GID ,保存在 /etc/group 文件中。
用户信息(rhino):代表描述字段,可以用来描述用户的信息。
家目录(/home/rhino):代表用户的家目录。
Shell(/bin/bash):代表用户使用的 shell 类型。

1.7 查看所有用户

1.7.1 getent

//查询用户信息
[root@localhost ~]# getent 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

[root@localhost ~]# getent passwd root
root:x:0:0:root:/root:/bin/bash

//查询用户组信息
[root@localhost ~]# getent group
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon

[root@localhost ~]# getent group root
root:x:0:

//查询主机信息
[root@localhost ~]# getent hosts
127.0.0.1       localhost localhost.localdomain
127.0.0.1       localhost localhost.localdomain

//查询服务信息
[root@localhost ~]# getent services
discard               9/tcp sink null
discard               9/udp sink null
systat                11/tcp users
systat                11/udp users

1.7.2 compgen

compgen 是 bash 的内置命令,它将显示所有可用的命令,别名和函数。

//列出所有用户
[root@localhost ~]# compgen -u

//列出所有可用命令
[root@localhost ~]# compgen -c

1.7.3 查看/etc/passwd 文件

//列出详细信息
[root@localhost ~]# cat /etc/passwd

//仅显示用户名
[root@localhost ~]# cut -d ':' -f1 /etc/passwd
  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值