Linux用户:UserName/password
UID:0-65535
管理员:0
普通用户:1-60000
系统用户:
CentOS6: 1-499
CentOS7:1-999
登录用户:
CentOS6: 500+
CentOS7: 1000+
Linux组:GroupName/GID
管理员组:0
普通组:
1-499, 1-999
500+, 1000+
用户的基本组:
用户的私有组;
用户的附加组;
Linux用户和组的相关的配置文件:
/etc/passwd:用户名、UID、基本组等信息
/etc/group:组名、GID、组内包含的用户;
/etc/shadow:用户密码及相关属性;
/etc/gshadow:组的密码及相关属性;
/etc/passwd:
name:password:UID:GID:GECOS:directory:shell
登录名:x:UID:GID:comment:主目录:用户默认shell
/etc/shadow:
login name:encrypted password:date of last password change:minimum password age:maximum password age:password warning period:password inactivity period:account expiration date:reserved field
/etc/group:
group_name:password:GID:user_list
用户和组管理的相关命令:
useradd、usermod、passwd、userdel
groupadd、groupmod、gpasswd、groupdel
chage, chsh, chfn
id, w, who, whoami
su
useradd:创建用户
useradd [options] LOGIN
useradd -D [options]
-r: 创建系统用户
-u UID: 指定UID;
-g GID: 指定用户所属基本组,此组必须事先存在
-c 'COMMENT':
-d /PATH/TO/SOMEWHERE:指定用户的主目录路径;此位置不能事先存在,否则,其用户相关配置文件将被复制;/etc/skel
-s SHELL:设定用户的默认shell;
cat /etc/shells
-G GID,...:指定所属的附加组;
-M: 不给用户创建家目录;
例:创建nginx启动用户,禁止用户登陆,不指定用户家目录,UID为3000.
[root@localhost /]# useradd -M -s /sbin/nologin -u 3000 nginx [root@localhost /]# tail -n 1 /etc/passwd nginx:x:3000:3000::/home/nginx:/sbin/nologin
例:练习:创建用户Oracle,所属附加组database和sql,ID号为3001, 家目录为/home/database;
useradd -u 3001 -d /home/database -G database,sql Oracle [root@localhost /]# id Oracle uid=3001(Oracle) gid=3003(Oracle) 组=3003(Oracle),3001(database),3002(sql)
usermod:用户属性修改
usermod [OPTION]... LOGIN
-u UID
-g GID
-G GID[,GID,...]:修改用户所属的附加组;同时使用-a选项
-s SHELL
-c 'COMMENT'
-d HOME: 修改用户的家目录为新位置时,用户原来的文件是不会被移动至新家;-m选项可实现同时将其迁至新的家目录;
-l LOGIN:
-L:lock user
-U: unlock user
例:修改Oracle的为禁止登陆
[root@localhost /]# usermod -s /sbin/nologin Oracle [root@localhost /]# finger Oracle Login: Oracle Name: Directory: /home/database Shell: /sbin/nologin Never logged in. No mail. No Plan.
userdel:删除用户
userdel [-r] USERNAME
-r:删除用户的同时删除其家目录;
例:删除Oracle用户,并且删除家目录
[root@localhost /]# userdel -r Oracle [root@localhost /]# ll /home/database ls: 无法访问/home/database: 没有那个文件或目录
passwd:给用户添加密码
passwd [OPTION] [UserName]
-l: 锁定用户账号
-u: 解锁用户账号:
-d:清空用户的密码,使之无需密码即可登录
-S:查看用户的账号的状态
--stdin:从标准输出接收用户密码;
例:利用--stdin设置用户密码
[root@localhost /]# echo '123456' | passwd --stdin Oracle 更改用户 Oracle 的密码 。 passwd: 所有的身份验证令牌已经成功更新。
例:情况Oracle用户密码
[root@localhost /]# passwd -d Oracle 清除用户的密码 Oracle。 passwd: 操作成功
groupadd:创建组
groupadd [OPTIONS] GROUPNAME
-g GID: 指明组ID;
-r: 创建系统组;
例:创建一个GID为3005的组,名字为aa
[root@localhost /]# groupadd -g 3005 aa [root@localhost /]# tail -n 1 /etc/group aa:x:3005:
groupmod: 组属性修改
groupmod [OPTION] GROUPNAME
-n 新组名 原组名
-g 修改组的GID
例:修改database组名为bb
[root@localhost /]# groupmod -n bb database
例:修改databases的GID为5000
[root@localhost /]# groupmod -g 5000 database
gpasswd:添加或删除组成员,设置组账号密码(极少用)
gpasswd {选项}… 组帐号名
例:将Oracle用户从database组里剔除
[root@localhost /]# gpasswd -d Oracle database Removing user Oracle from group database
例:将Oracle用户添加到databases组里
[root@localhost /]# gpasswd -a Oracle database Adding user Oracle to group database
groupdel:删除组
其他命令:id、who、w、finger、groups
id:查询用户身份表示
用法:id {用户名}
groups:查询用户所属的组
用法:groups {用户名}
finger:查询用户详细信息
用法:finger {用户名}
完结:2015-8-25
本文出自 “做自己想做的事!” 博客,转载请与作者联系!