linux用户和用户组管理
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个惟一的用户名和各自的密码。
用户在登录时键入正确的用户名和密码后,就能够进入系统和自己的主目录。
实现用户账号的管理,要完成的工作主要有如下几个方面:
1.用户账号的添加、删除与修改。
2.用户密码的管理。
3.用户组的管理。
一.Linux系统用户账号的管理
1.系统中为什么有用户?
(1)用户,在系统中是底层的安全设定。
(2)组,是用来共享权力的,一种组可以决定(附加组),一种不可以决定(初始组)。
(3)用户在系统当中以文字体现的,保存在表里。
2.用户的配置文件
(1)/etc/passwd ##用户信息文件
用户名:密码:用户id:组id:用户说明:用户家目录:用户默认使用的shell
(2) /etc/group ##用户组信息文件
组名称:组密码:组id:附加组成员
(3)/home/username ##用户家目录
(4)/etc/skel.* ##用户的骨文件(用户环境配置模板,在用户建立是会自动复制到家目录)
3.用户的查看
whoami ##查看用户的名称
id ##查看用户的id信息
id -u ##查看用户的uid
id -g ##查看用户的gid
id -G ##查看用户所在的所有的组的iduser
id -n ##以名称显示信息
4.用户的建立和删除
/etc/login.defs 在此文件中可以设定用户的默认信息
userdel
useradd username 建立默认规则的用户(规则参考/etc/login.defs)
useradd -G username 指定用户的附加组
useradd -g username 指定以用户的初始组id
useradd -u username 指定用户的yid
useradd -c username 指定用户的说明文字
useradd -d username 指定以用户的家目录
useradd -s username 指定用户的shell(系统可以用shell可在/etc/shells中查看)
userdel username 删除用户
userdel -r username 删除用户及其所以配置文件
如何查看本机的shell?
cat /etc/shells nologin
6.用户管理
usermod -l a(新) b(旧) 修改用户名称
usermod -u id a 改变初始uid
usermod -g 21 a 初始组id21
usermod -G 30 a 更改附加组30(如果用“”,可以清空所以附加组)
usermod -aG 40 a 增加附加组40(会在原来的基础上增加)
usermod -c 更改用户说明
usermod -d 更改用户目录指向(只改了文件没有改目录,还有一步,重命名家目录)
usermod -md 更改用户家目录指向并重命名家目录
usermod -s 更改用户的shell
7.用户切换
su - username 切换用户,高级到低级不要密码,低级到高级或平级,需要密码
(注意):1.用户切换后及时退出在切换下一个用户
2.su - 表示切换用户身份及其用户环境,加上 - 身份和环境都变了
没有 - 身份发生了变化,环境没有变
8.用户的认证信息
watch -n 1 'tail -n 5 /etc/shadow'
watch(监视,一秒一次);tail (后几行);
/etc/shadow/ 用户的认证信息(密码)
用户名称:
用户密码: md5 sha512
passwd username 只有超级用户可以用
passwd 普通用户修改自己的密码
usermod -L 冻结帐号
usermod -U 解锁密码
passwd -l 冻结密码(强)
passwd -u 解锁密码(强)
passwd -d 清空密码(不设密码)
密码最后一次修改的时间:(1971.1.1到现在,此位数如果为0时,再次登陆会强制改密码)
chage -d 0 westos(用户名)
passwd -e westos(用户名)
密码最短有效期:(过多少天才能修改)
chage - m 1 westos
passwd - n 3 westos
密码的最长有效期:(密码还可以用多少天)
chage -M 30 westos
passwd -x 40 westos
密码过期警告:(还剩多少天密码过期)
chage -W 2 westos
密码非活跃期:(过期日到了,给你延迟几天)
chage -I 2 westos
passwd -i 0 westos
帐号到期日:(帐号到期,是个时间段)
chage -E "2018-9-10" westos
9.用户权力下放
1.配置文件
/etc/sudoers
2.配置命令
visudo 打开文件,与语法检测
用户名称 主机名称 = (root) 命令 /usr/sbin/useradd
用户名称 主机名称 = (root) /usr/sbin/useradd,/usr/sbin/userdel
测试:
su - linux11
sudo useradd hello
二.通配符
1.通配符
* ##匹配0~任意字符 (rm -fr test/* 删除文件不删除目录)
? ##匹配单个字符(rm -fr ???? 删除文件名文四个字符的)
[[:alpaha:]] #单个字母 用于删除等
[[:upper:]] #单个大写字母
[[:lower:]] #单个小写字母
[[:degit:]] #单个数字
[[:alnum:]] #单个数字或者字母
[[:space:]] #单个空格
[[:punnct:]] ##单个符号
{1..3} ##1-3(1,2,3)
{a..c} ##a-c(a,b,c)
[1-3] ##1或者2或者三
[ac] ##或者a或者c
[^ac] ##不是a并且也不是c
[!ac] ##除了a和c
[写模糊字符[::]]