标题用户存在意义及存在方式
1.用户的定义:
用户是操作者在系统中的身份;
用户是系统最底层的安全机制的一部分。
2.用户在系统中的存在方式:
以字符和文件的形式存在。
###用户存储文件:
/etc/passwd ##用户的信息文件
用户名称:密码:uid:gid:用户说明:家目录:默认shell
([gid]:用户初始组id)
/etc/group ##用户组信息文件
组的名字:组密码:组id:组成员
/etc/shadow ##用户认证信息文件
/home/username ##用户的家目录
/etc/skel/ ##用户配置模版,用户的骨文件
3.用户的建立:
#vim /etc/passwd
注释:
[root]:用户名称
[x]:用户密码
[0]:用户uid(身份证号)
[0]:用户的组gid
[root]: 用户的说明,可以为空
[/root]:用户的家目录
[/bin/bash]:用户和系统交流时默认的软件
建立新用户westos
id westos ##查看用户信息
mkdir /home/westos ##建立目录
vim /etc/group ##建立用户的组
chown westos.westos /home/westos/ ##修改目录的一些权限
su - westos ##切换westos用户
cp /etc/skel/.* . ##拷贝用户配置的模版
4.查看用户最基本的信息
查看自己:whoami
查看其他用户:id westos
id -u westos ##查看用户的id
id -g westos ##查看用户的初始组id
id -G westos ##查看用户的所有组id
id -G -n westos ##查看用户组的名字
###监控命令
watch -n 1 "tail -n 3 /etc/passwd /etc/group;ls -l /home/" ##【watch】一直看着这个命令
【-n】表示执行频率
【1】一秒种提醒执行一次引号内的命令
Ctrl+c ## 退出监控界面
useraddr westos ##建立新的用户
userdel -r westos ##删除用户,一定要有【-r】,表示删除用户以及用户里面的配置
rm -fr /home/westos ##删除建立的家目录
###建立指定id用户
useradd -u 888 westos ##建立uid为888的用户
userdel -r westos ##删除用户及其配置(在做实验时同上为一组)
useradd -g 888 westos ##在建立初始组id时,id号在系统中要有,不能指定系统中没有的组id
groupadd -g 888 westos ##在建立初始组id时,可以先建立一个初始组
useradd -u 888 -g 888 westos ##同时建立uid和初始组id的用户(在同时建立指定用户前,先要建议一个初始组)
useradd -G 21 westos ##建立附加组ID,(注意:这个id号必须组里面有)
id westos ##查看用户信息
###指定用户的说明
useradd -c "westos user hahaha" westos ##【-c】说明
###指定用户家目录
useradd -d /home/westoshahaha westos
##指定用户的Shell ( Shell必须时系统中有的Shell )
useradd -s /bin/tcsh westos
cat /etc/shells ##查看系统有的Shell
注意:/sbin/nologin 和/usr/sbin/nologin不提供交互
5.用户信息的修改
###修改用户名字
usermod -l linux westos
###修改用户的uid
usermod -u 8888 westos
###修改用户的组id (72为系统中有的组id)
usermod -g 72 westos
###修改附加组 (组为系统中的组id)
useradd -G 21 mia ##添加组id为21的用户组mia
usermod -G 1001 mia ##修改用户组mia的组id(注意:把原始的身份覆盖)
usermod -aG 1001 mia ##在原始组追加一个用户组
usermod -G "" westos ##删除所有的附加组
###修改用户说明
usermod -c "westos user" westos ##把用户说明westos改为westos user
usermod -c "" westos ##删除用户说明
###修改用户家目录指向
usermod -d /mnt/haha westos ##在文件中不一定真实存在,【-d】不会影响真实存在的目录
###修改用户家目录 【在更改目录指向同时也更改真实目录】
usermod -md /mnt/haha westos
###修改用户所使用的Shell
usermod -s /bin/bash westos
###用户切换
su - student(用户名称) ##切换到普通用户,不需要密码
【-】表示在用户身份切换时同时切换当前用户的环境
su - 执行时高级用户切换到低级用户不需要密码,低级切换到高级需要密码,平级用户切换也需要密码。
exit ##退出当前用户
注意:不能持续来回切换用户身份,每次切换到其他用户操作后必须退出,然后再次切换到其他用户
【su -】和【su】的区别:
【su -】切换到登陆过的Shell
【su】切换到没有登陆过的Shell
登陆与不登陆的区别在于用户环境的不同:
/etc/bashrc ##用户Shell的配置
/etc/profile ##用户环境的配置文件(【su】不加载这个文件)
6.用户密码信息的修改
###(在超级用户里)修改自己的密码
passwd
###(在超级用户里)修改其他用户的密码
useradd westos ##建立用户
passwd westos ##修改用户密码,给用户解锁
usermod -L westos ##冻结用户帐号,锁定用户,在监控系统中可以看到加密解密前加!
usermod -U westos ##冻结的用户解锁
man 5 passwd ##查看系统中含有的文件passwd
###在用户信息认证文件里进行查看监控
watch -n 1 "head -n 3 /etc/shadow;tail -n 3 /etc/shadow"
###密码中的9个信息分别表示:
【1】:用户名称
【2】:用户密码(字符串前如果初现!,则表示此用户冻结)
【3】:用户密码最后一次被更改的时间,此时间从1970-01-01开始计算
【4】:用户密码最短有效期
【5】:用户密码最长有效期(用户必须在此期间内修改密码,否则账号被冻结)
【6】:密码过期前发出警告时间
【7】:用户非活跃天数(默认为空)
【8】:密码到期日,到一定时间点,账号会被冻结
【9】:用户自定义列,尚未启用
以下命令:
passwd命令自动修改密码
chage命令只改命令,不能改密码
###修改用户密码最短有效期(westos在一天内不能修改密码)
passwd -n 1 westos
chage -m 1 westos
###修改密码最长有效期(westos在30天内必须修改密码)
passwd -x 30 westos
chage -M 40 westos
###修改密码警告期限(密码过期前两天有警告输出)
passwd -w 2 westos
chage -W 2 westos
###修改用户非活跃天数(密码过期后仍可登陆的天数)
passwd -i 1 westos
chage -I 1 westos
###修改用户到期日(westos用户在2018-11-11会被冻结)
chage -E 2019-11-11 westos
7.用户权力的下放
超级用户下用visudo进入编辑/etc/sudoers:
visudo ##在文件任意一行写入下放内容,但一般在文件第一百行左右进行
用户主机名称 =(已得到的用户身份)命令
sudo useradd ##调用useradd