您的位置:首页 > 运维架构 > Linux

linux 创建用户和 用户组,使其有某个目录的执行读写权限

2016-11-14 11:36 531 查看
创建用户组
#groupadd task
创建用户mysql 并将其纳入 task 用户组
#useradd -G task mysql
设置mysql用户的密码
#passwd mysql
-----------------
-----------------
更改mysql用户的登录目录
#usermod -d /opt mysql
改变目录opt 的 所属 用户和用户组
#chown -R mysql:task /opt

至此,mysql用户已经对opt目录可以有完全的操作权限了。但不能对其他目录操作,这样提升了系统安全性。

资料参考:
一、Linux用户(User)和用户组(Group)管理命令

如何来管理用户和用户组。

相关的管理命令汇总

用户管理相关命令useradd        添加用户adduser        添加用户userdel         删除用户passwd         为用户设置密码usermod       修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等

 

用户组管理相关命令groupadd     添加用户组groupdel      删除用户组groupmod    修改用户组信息groups         显示用户所属的用户组newgrp        切换到相应用用户组 http://blog.csdn.net/qq1603013767/article/details/8192221
二、账户管理命令 useradd、groupadd

内容提要:

1. 掌握用户的 增/删/改 命令

2. 掌握组的 增/删/改 命令

组管理

1)groupadd

groupadd 用于添加组账号。格式如下:groupadd [-g GID] GROUP

其中:

 GROUP:是要添加的组名 

 -g:用于指定 GID,默认为使用当前最大的 GID 加1

举例: 添加一个新组 leader

# groupadd leader

# grep leader /etc/group

leader:x:504:

# grep leader /etc/gshadow

leader:!::

2)groupmod

groupmod 用于修改系统已存在的组账号。格式如下:groupmod [options] GROUP

其中:

 GROUP:为要修改的组账户名

 常用选项:

 -g GID:重新指派 GID

 -n NEW_GROUP:更改组名为 NEW_GROUP

举例: 将 leader 组更名为 leaders

# groupmod -n leaders leader

# grep leader /etc/group

leaders:x:504:

将 leaders 组的 GID 改为 3000

# groupmod -g 3000 leaders

# grep leader /etc/group

leaders:x:3000:

3)groupdel

groupdel 用于删除系统已存在的组账号。格式如下:groupdel GROUP

其中:GROUP 为要删除的组账户名

例如:删除 leaders 组

# groupdel leaders

# grep leaders /etc/group

# grep leaders /etc/gshadow

用户管理

1)useradd

useradd 用于添加用户账号或设置添加用户使用的默认信息。格式如下:

格式1:useradd [options] LOGIN

格式2:useradd -D

格式3:useradd -D [options]

说明:

 格式1:用于添加用户账号,LOGIN 为用户登录账号

 格式2:用于显示添加用户使用的默认信息

 格式3:用于设置添加用户使用的默认信息

添加用户选项:

选项 说明

-u UID 指定新用户的 UID,默认为使用当前最大的 UID 加1

-g GROUP 指定新用户的主组

-G GROUP1[,GROUP2,…[,GROUPN]]] 指定新用户的附加组

-d HOME_DIR 指定新用户的登录目录

-s SHELL 指定新用户使用的 Shell,默认为 bash

改变用户默认值选项:

在配置文件 /etc/login.defs 和 /etc/default/useradd 中存放了用户默认数据。

使用举例:

1、创建一个新用户 newuser,同时创建用户自家目录

# useradd newuser

2、创建一个新用户 tom,同时加入 staff 附加组中

# useradd -G staff tom

3、创建一个新用户 webmaster,不创建用户自家目录,指定登录目录 /www,同时加入 apache 附加组中

# useradd -d /www -M -G apache webmaster

2)usermod

usermod 用于修改系统已存在的组账号。格式如下:usermod [options] LOGIN

其中:

 LOGIN:为要修改的用户账号名

 选项:-c、-d、-e、-f、-g、-G、-s、-u 的含义与 useradd 选项的含义相同

 添加了如下选项:

 -l NEW_LOGIN:更改用户登录名为 NEW_LOGIN

-c COMMENT 说明用户的附加信息,如全名等

-e EXPIRE_DATE 指定用户的登录失效时间,格式为 YYYY-MM-DD

-f INACTIVE 指定在密码过期后多少天即关闭该账号, 默认值为 -1,即不做限制

-k SKEL_DIR 指定 skel 目录,默认存放在 /etc/skel/

-m 创建新用户的自家目录,默认值

-M 不创建新用户的自家目录

选项 说明

-b BASE_DIR

定义使用者所属目录的上级目录。用户名称会附加在BASE_DIR后面用来建立新使用者的目录。 当

然使用-d后则此选项无效。

-e

EXPIRE_DATE

定义使用者账号失效日期。

-f INACTIVE 定义在密码过期后多少天即关闭该账号。

-g GROUP 定义新账号起始组名或GID。组名必须为现已存在的组名。GID也必须为现已存在的GID。

-s SHELL 定义用户默认使用的 shell。

-L:锁定用户账号

-U:对用户账号解除锁定

举例:

1、将 newuser2 添加到组 staff 中

# usermod -G staff newuser2

2、修改 newuser 的用户名为 newuser1

# usermod -l newuser1 newuser

3、锁定账号 newuser1

# usermod -L newuser1

4、解除对 newuser1 的锁定

# usermod -U newuser1

3)userdel

userdel 用于删除系统已存在的组账号。格式如下:userdel [-r] LOGIN

其中:

 LOGIN:为要删除的用户账号名

 -r:同时删除用户的自家目录和 mail 的假脱机文件

例如:

1、删除用户 webmaster

# userdel webmaster

2、删除用户 newuser1,同时删除其自家目录
# userdel -r newuser1

三、Linux下创建用于并指定该用户的主目录和相关权限

创建用户并指定该用户的主目录,也就是账户一登入,就直接到该目录下来,当时很傻的以为是useradd -g -G -p -d什么的,一顿试啊,结果还是试出来了,因为之前在培训的时候就死记了useradd -g -G 那些固定好了的命令,到现实中的时候,发现并不是这样的,一定要学会灵活运用

工作需求:创建usfm用户,用户的主目录是/home/applog/USFM,密码是usfms1234,该用户只具有760权限

操作步骤:

useradd -d /home/applog/USFM -m usfm

passwd usfm

输入密码usfms1234

chown -R usfm:usfm /home/applog/USFM

chmod 760 /home/applog/USFM

搞定了,虽然现在看起来很简单,但是却给我留下深刻的记忆啊,第一次在公司的生产机上运行,哈哈,继续加油,每天学到一点点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: