CentOS用户权限及用户组权限使用总结
简介
Linux操作系统是多用户多任务操作系统,包括用户账户和组账户两种。
细分用户账户(普通用户账户,超级用户账户)除了用户账户以外还有组账户所谓组账户就是用户账户的集合,centos组中有两种类型,私有组和标准组,当创建一个新用户时,若没有指定他所属的组,centos就建立以个和该用户相同的私有组,此私有组中只包括用户自己。标准组可以容纳多个用户,如果要使用标准组,那创建一个新的用户时就应该指定他所属于的组,从另外一方面讲,同一个用户可以属于多个组,例如某个单位的领导组和技术组,lik是该单位的技术主管,所以他就是属于领导组和技术组。当一个用户属于多个组时,其登录后所属的组是主组,其它组为附加组。
相关文件
Linux环境下的账户系统文件主要在/etc/passwd
,/etc/shadow
,/etc/group
,/etc/gshadow
四个文件。基本含义就不多说了重点说一下,root
的uid
是0
,从1-499
是系统的标准账户,普通用户从uid 500
开始。
管理账户
useradd 选项 用户名
添加新用户usermod 选项 用户名
修改已经存在的用户userdel -r 用户名
删除用户表示自家目录一起删除。groupadd 选项 组名
添加新组groupmod 选项 组名
修改已经存在的组groupdel 组名
删除已经存在的特定组。
例子
添加一个用户zh888
useradd zhh888
新建一个blog组groupadd blog
表示创建一个新用户zh,同时加入blog附加组中。useradd -G blog zh
创建一个新用户ftpadmin,指定目录是/var/ftp/pub,不创建家目录(-M)useradd -d /var/ftp/pub -M ftpadmin
表示将zh888添加到附加组blog中去。usermod -G blog zh888
表示删除ftpadmin用户userdel ftpadmin
表示删除zh888和/home中的目录一起删除。userdel -r zhh888
表示删除blog组。groupdel blog
密码管理
创建用户之后就要给用户添加密码,设置的密码的命令passwd
用法:passwd [选项] [登录]
选项:
-a, --all
报告所有帐户的密码状态-d, --delete
删除指定帐户的密码-e, --expire
强制使指定帐户的密码过期-h, --help
显示此帮助信息并推出-k, --keep-tokens
仅在过期后修改密码-i, --inactive INACTIVE
密码过期后设置密码不活动为 INACTIVE-l, --lock
锁定指定的帐户-n, --mindays MIN_DAYS
设置到下次修改密码所须等待的最短天数为 MIN_DAYS-q, --quiet
安静模式-r, --repository REPOSITORY
在 REPOSITORY 库中改变密码-R, --root CHROOT_DIR
chroot 到的目录-S, --status
报告指定帐户密码的状态-u, --unlock
解锁被指定帐户-w, --warndays WARN_DAYS
设置过期警告天数为 WARN_DAYS-x, --maxdays MAX_DAYS
设置到下次修改密码所须等待的最多天数为 MAX_DAYS
密码时效
chage
命令是保护密码的时效这样可以防止其他人猜测密码的时间。
用法:chage [选项] 登录
选项:
-d, --lastday 最近日期
将最近一次密码设置时间设为最近日期
-E, --expiredate 过期日期
将帐户过期时间设为过期日期
-h, --help
显示此帮助信息并推出-I, --inactive INACITVE
过期 INACTIVE 天数后,设定密码为失效状态-l, --list
显示帐户年龄信息-m, --mindays 最小天数
将两次改变密码之间相距的最小天数设为最小天数
-M, --maxdays 最大天数
将两次改变密码之间相距的最大天数设为最大天数
-R, --root CHROOT_DIR
chroot 到的目录-W, --warndays 警告天数
将过期警告天数设为警告天数
状态查询
用户和组的状态查询命令
用于显示当前的用户名称。
whoami
显示指定的用户所属的组,如果没指定用户则是当前用户所属的组。groups 用户名
显示当前用户的uid gid和用户所属的组列表。id
转换到其他用户,如果su表示切换到自己的当前用户。su 用户名
转换用户的当前组到指定的附加组,用户必须属于该组才能进行。newgrp 用户组名
所有者和所属组
有时候还需要更改文件的所有者和所属组。只有文件的所有者有权更改其所有者和所属组,用户可以把属于自己的文件转让给大家。改变文件所有者用chown
命令。
把文件files所有者改成lanmeng用户。
chown lanmeng files
将文件files的所有者和组都改成lanmeng。chown lanmeng.lanmeng files
将files所有目录和子目录下的所有文件或目录的所有者和组都改成lanmeng。chown -R lanmeng.lanmeng files
掩码
用户可以使用umask
命令设置文件默认的生成掩码。默认的生成掩码告诉系统创建一个文件或目录不应该
赋予哪些权限。如果用户将umask
命令放在环境文件.bash_profile
中,就可以控制所有新建的文件和目录的访问权限。
用法: umask [a1a2a3]
a1
表示不允许所有者的权限a2
表示不允许同组人的权限a3
表示不允许其他人的权限
设置不允许同组用户和其他用户有写的权限。
umask 022
显示当前的默认生成掩码。umask
特殊权限
setuid
setgid
stick bit
除了一般权限还有特殊的权限存在,如果用户不需要特殊权限不要打开特殊权限,避免安全方面的问题。具体的用法可以百度和google一下。