1.Linux环境下的账户系统文件主要在/etc/passwd, /etc/shadow,/etc/group,和/etc/gshadow四个文件。基本含义就不多说了重点说一下,root的uid是0,从 1-499是系统的标准账户,普通用户从uid 500开始。
usermod 选项 用户名//修改已经存在的用户 userdel -r 用户名//删除用户表示自家目录一起删除。 groupadd 选项 组名// 添加新组 groupmod 选项 组名//修改已经存在的组 groupdel 组名 //删除已经存在的特定组。
2.例子
在CentOS下添加和删除用户命令:
添加用户 test:
adduser test
修改test密码:
passwd test
删除用户test:
userdel test
删除用户以及用户目录:
userdel -r test
新建一个sudo用户组
groupadd sudo
创建一个新用户test,同时加入suso附加组中
useradd -G sudo test
创建一个新用户ftpadmin,指定目录是/var/ftp/pub,不创建自家目录(-M)
useradd -d /var/ftp/pub -M ftpadmin
表示将zh888添加到附加组sudo组中去,zh888是已经新建好存在的用户
usermod -G sudo zh888
表示删除zh888和/home中的目录一起删除。
userdel -r zhh888
表示删除sudo组
groupdel sudo
3.口令管理及时效 创建用户之后就要给用户添加密码,设置的口令的命令式passwd passwd 选项 用户名
用户名账号名//禁止用户账户口令
passwd -l
用户名//表示查看用户账户口令状态
passwd -S
用户名//表示恢复用户账号
passwd -u
用户名//表示删除用户账户口令
passwd -d
4.chage 命令是保护密码的时效这样可以防止其他人猜测密码的时间。
chage 选项 用户名
参数有
例子:
要求用户zhh两天内不能更改密码,并且口令最长存活期是30天,并且口令过期5天通知zhh
chage -m 2 -M 30 -W zhh
5.用户和组的状态查询命令
用于显示当前的用户名称。
whoami
表示显示指定的用户所属的组,如果没指定用户则是当前用户所属的组
groups 用户名
转换到其他用户,如果su表示切换到自己的当前用户。
su – 用户
转换用户的当前组到指定的附加组,用户必须属于该组才能进行
newgrp 组名
6.更改属主和同组人
有时候还需要更改文件的属主和所属的组。只有文件的属主有权更改其他属主和所属的组,用户可以把属于自己的文件转让给大家。改变文件属主用chown命令
chown [-R] < 用户名或组>< 文件或目录>
例子
把文件files属主改成www用户
chown www files
将文件files的属主和组都改成www
chown www.www file
将files所有目录和子目录下的所有文件或目录的主和组都改成www
chown -R www.www files/
7.设置文件的目录和目录生成掩码
用户可以使用umask命令设置文件默认的生成掩码。默认的生成掩码告诉系统创建一个文件或目录不应该赋予哪些权限。如果用户将umask命令放在环境文件.bash_profile中,就可以控制所有新建的文件和目录的访问权限。
umask [a1a2a3] a1表示的是不允许属主的权限,a2表示的是不允许同组人的权限,a3代表不允许其他人的权限。
umask 022//表示设置不允许同组用户和其他用户有写的权限。 umask //显示当前的默认生成掩码。
8.特殊权限的设置
SUID SGID 和sticky-bit
除了一般权限还有特殊的权限存在,一些特殊权限存在特殊的权限,如果用户不需要特殊权限一般不要打开特殊权限,避免安全方面的问题