centos的用户、组权限、添加删除用户等操作的详细操作命令
1.Linux操作系统是多用户多任务操作系统,包括用户账户和组账户两种细分用户账户(普通用户账户,超级用户账户)除了用户账户以为还有组账户所谓组账户就是用户账户的集合,centos组中有两种类型,私有组和标准组,当创建一个新用户时,若没有指定他所属的组,centos 就建立以个和该用户相同的私有组,此私有组中只包括用户自己。标准组可以容纳多个用户,如果要使用标准组,那创建一个新的用户时就应该指定他所属于的组,从另外一方面讲,同一个用户可以属于多个组,例如某个单位的领导组和技术组,lik是该单位的技术主管,所以他就是属于领导组和技术组。当一个用户属于多个组时,其登录后所属的组是主组,其它组为附加组。 2.Linux环境下的账户系统文件主要在/etc/passwd, /etc/shadow,/etc/group,和/etc/gshadow四个文件。基本含义就不多说了重点说一下,root的uid是0,从 1-499是系统的标准账户,普通用户从uid 500开始。 linux中的wheel用户组是什么? 在Linux中wheel组就类似于一个管理员的组。 通常在LUNIX下,即使我们有系统管理员root的权限,也不推荐用root用户登录。一般情况下用普通用户登录就可以了,在需要root权限执行一些操作时,再su登录成为root用户。但是,任何人只要知道了root的密码,就都可以通过su命令来登录为root用户--这无疑为系统带来了安全隐患。所以,将普通用户加入到wheel组,被加入的这个普通用户就成了管理员组内的用户,但如果不对一些相关的配置文件进行配置,这个管理员组内的用户与普通用户也没什么区别--就像警察下班后,没有带枪、穿这便衣和普通人(用户)一样,虽然他的的确确是警察。 根据应用的实例不同应用wheel组的方法也不同。这里对于服务器来说,我们希望的是剥夺被加入到wheel组用户以外的普通用户通过su命令来登录为root的机会(只有属于wheel组的用户才可以用su登录为root)。这样就进一步增强了系统的安全性。具体步骤如下: 1)修改/etc/pam.d/su文件,找到“#authrequired/lib/security/$ISA/pam_wheel.souse_uid”这一行,将行首的“#”去掉。 2)修改/etc/login.defs文件,在最后一行增加“SU_WHEEL_ONLYyes”语句。 然后,用“usermod-Gwheel用户名”将一个用户添加到wheel组中。 然后,用刚刚被添加到wheel组的用户登录,并执行su命令登录为root用户…这时,输入了正确的root密码可以正常的登录为root用户。但是,如果换成一个不属于wheel组的用户时,执行了su命令后,即使输入了正确的root密码,也无法登录为root用户--普通用户登录为root用户的权限被完全剥夺了~(会收到“密码错误”的提示)。这样无疑提高了系统的安全性~ (以上步骤基于CentOS,并适用于Fedora Core和RHEL。。。而且,我试着回忆以前的操作,印象中FreeBSD好像也一样。)3.使用命令管理账户useradd 选项 用户名//添加新用户 usermod 选项 用户名//修改已经存在的用户 userdel -r 用户名//删除用户表示自家目录一起删除。 groupadd 选项 组名// 添加新组 groupmod 选项 组名//修改已经存在的组 groupdel 组名 //删除已经存在的特定组。 例子useradd zhh888 //添加一个用户zh888 groupadd blog //新建一个blog组 useradd -G blog zh //表示创建一个新用户zh,同时加入blog附加组中。 useradd -d /var/ftp/pub -M ftpadmin //创建一个新用户ftpadmin,指定目录是/var/ftp/pub,不创建自家目录(-M) usermod -G blog zh888 //表示将zh888添加到附加组blog中去。 userdel ftpadmin //表示删除ftpadmin用户 userdel -r zhh888 //表示删除zh888和/home中的目录一起删除。 groupdel blog //表示删除blog组。 4.口令管理及时效 创建用户之后就要给用户添加密码,设置的口令的命令式passwd passwd 选项 用户名passwd -l 用户名账号名//禁止用户账户口令 passwd -S 用户名//表示查看用户账户口令状态 passwd -u 用户名//表示恢复用户账号 passwd -d 用户名//表示删除用户账户口令 5.chage 命令是保护密码的时效这样可以防止其他人猜测密码的时间。 chage 选项 用户名 参数有 -m days, -M days ,-d days, -I days ,-E date, -W days,-l例子:#chage -m 2 -M 30 -W zhh//表示的意思是要求用户zhh两天内不能更改密码,并且口令最长存活期是30天,并且口令过期5天通知zhh 6.用户和组的状态查询命令 whoami //用于显示当前的用户名称。 groups 用户名//表示显示指定的用户所属的组,如果没指定用户则是当前用户所属的组。 id //表示显示当前用户的uid gid和用户所属的组列表。 su – 用户//表示转换到其他用户,如果su表示切换到自己的当前用户。 newgrp 组名//表示转换用户的当前组到指定的附加组,用户必须属于该组才能进行。 7.更改属主和同组人 有时候还需要更改文件的属主和所属的组。只有文件的属主有权更改其他属主和所属的组,用户可以把属于自己的文件转让给大家。改变文件属主用chown命令 chown [-R] <用户名或组><文件或目录> chown zh888 files//把文件files属主改成zh888用户。 chown zh888.zh888 files//将文件files的属主和组都改成zh888。 chown -R zh888.zh888 files//将files所有目录和子目录下的所有文件或目录的主和组都改成zh888. 8.设置文件的目录和目录生成掩码 用户可以使用umask命令设置文件默认的生成掩码。默认的生成掩码告诉系统创建一个文件或目录不应该赋予哪些权限。如果用户将umask命令放在环境文件.bash_profile中,就可以控制所有新建的文件和目录的访问权限。 umask [a1a2a3]a1表示的是不允许属主的权限,a2表示的是不允许同组人的权限,a3代表不允许其他人的权限。 umask 022//表示设置不允许同组用户和其他用户有写的权限。 umask //显示当前的默认生成掩码。 9.特殊权限的设置 SUID SGID 和sticky-bit 除了一般权限还有特殊的权限存在,一些特殊权限存在特殊的权限,如果用户不需要特殊权限一般不要打开特殊权限,避免安全方面的问题。 |