码迷,mamicode.com
首页 > 系统相关 > 详细

linux用户管理及相关命令

时间:2015-08-27 19:10:26      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:linux   用户管理   

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





本文出自 “做自己想做的事!” 博客,转载请与作者联系!

linux用户管理及相关命令

标签:linux   用户管理   

原文地址:http://807257775.blog.51cto.com/2448194/1688917

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!