Linux命令-用户、用户组、权限
参考资料:
http://www.linuxidc.com/Linux/2014-07/104445.htm Linux入门教程:如何手动创建一个Linux用户
http://www.linuxidc.com/Linux/2012-05/60754.htm Linux用户管理命令
前言:
所有用户名会在/etc/passwd文件中保存
cat /etc/passwd 可以查看所有用户的信息,比如刚才创建的linuxidc用户 linuxidc:x:::linuxidc,,**,**:/home/linuxidc:/bin/bash 基本格式:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell,中间用:隔开 注意: .口令 这里用x 表示 真正的密码放在了/etc/shadow文件,这是shadow文件里面linuxidc的密码: linuxidc:$$v7uh0ctV$borVraMjOPhMjYV8YCVcmwylKb84djRm5yVWNbKYHxrcFLLqlSsx.hbcW.Ouk2A05CyChx7zZlRV3wZMuH0hE0:::::::
已经被加密了,所以比较安全。 .组标识号对应/etc/group中一行 linuxidc:x:: group文件格式参考: /etc/group 文件文件的格式和 /etc/passwd 文件格式类似,它也是一个纯文本文件,定义了每个组中的用户。每行的格式是: group_name:passwd:GID:user_list 它们的含义如下: password:组口令。此域中的口令是加密的。如果此域为空,表明该组不需要口令。
/home/username ==>用户主目录。一个用户会在/home/目录下存在一个用户名为文件名的文件夹
/etc/group (用户组)
/etc/shadow (密钥文件)(为每个用户的密码使用不同加密方式)
使用命令创建用用户就是会在
1、passwd文件创建含用户名的相关配置
2、为用户生成主目录,主目录中当然也存在一些必要文件
3、为用户指定用户组(使用adduser会自动创建username组并将username用户加入到username组中)
4、就是设置密码还有指定登录的shell版本
-------如果没有指定shell版本,在登陆时候不会显示前缀,只会以$开头(对于强迫症影响很大)
正常版本 用户名@服务器名:

创建/删除用户的方式
adduser: 会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。(属于傻瓜式操作,输入用户名密码系统会自动为你创建用户,用户组等)
useradd:需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本。
useradd创建用户
常用参数: -d 指定用户主目录,一般在/home/目录下创建主目录
-m 为用户创建主目录,需要和-d一起使用
-s 指定登陆时的shell版本
一般切换为root用户,再创建用户
useradd abc 创建用户
passwd abc 为用户设置密码
上面只创建用户和设置密码,useradd abc 会自动会为用户创建主目录。
接下来看带参数创建用户
useradd -md /home/abc -s /bin/bash abc 指定主目录,指定shell版本
passwd abc
userdel abc //删除用户 这只是简单删除命令
userdel删除用户
userdel:
功能:删除用户
选项:
-r:删除用户的同时、home目录的用户文件一并删除
-f: 强制删除用户 ,这个不会删除用户的家目录,但家目录的所有者只会显示为数字id,而不是用户名(这个会导致系统不一致,
这个选项不会断开 该用户已有的 SSH 链接。因此,即使用户已经不存在,
但实际上仍是登录状态,并且是活跃用户。但是当用户登出后不可再登录,因为用户已经被删除。)
删除用户之前不需要将用户从用户组中移除出去
For example
删除tom用户并将其家目录一并删除:
# userdel -r tom
有些时候用户已登录,会提示删除不了
用户名 查看用户所运行的进程
将用户加入/移除到用户组
使用usermod命令
usermod -a -G root abc 将用户abc加入到root用户组中,这样abc用户就具有的该组的用户所具有的权限
usermod -g root abc 将abc的主要用户组改为root用户组
gpasswd -d user group 将一个用户从某个组中删除,这个时候需要保证 group 不是 user 的主组。
注意:
usermod -G groupname username(这个会把用户从其他组中去掉)
usermod -a -G groupname username(加参数a不会移除用户以加入的用户组)
从组中删除用户
编辑/etc/group 找到GROUP1那一行,删除 A
或者用命令
gpasswd -d A GROUP
创建/删除用户组
也可以在新建用户时候新建用户组
useradd -g 新用户组名 用户名 //使用-g参数来创建用户组
直接创建/删除用户组
groupadd 用户组名 //增加用户组
groupdel 用户组名 //删除用户组
权限:
-rw-rw-r-- 1 zwh zwh 1910 Jan 4 03:09 client.py
1-3位数字代表文件所有者的权限,4-6位数字代表同组用户的权限,7-9数字代表其他用户的权限。
权限:r, w, x 对应 读、写、可执行
r对应数字4,w对应2,x对应1
通过4、2、1的组合,得到以下几种权限:0(没有权限);4(读取权限);5(4+1 | 读取+执行);6(4+2 | 读取+写入);7(4+2+1 | 读取+写入+执行)
rwx:可读可学可执行
r--:只读
r-x:读和执行
---:无权限
八进制表示:(可忽略。。)
0 000 ---:无权限
1 001 --x: 执行
2 010 -w-: 写
3 011 -wx: 写和执行
4 100 r--: 只读
5 101 r-x: 读和执行
6 110 rw-: 读写
7 111 rwx: 读写执行
给文件设置权限 chmod 权限 文件名
chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
范例:
chmod a=rwx file
和
chmod 777 file
效果相同
chmod ug=rwx,o=x file
和
chmod 771 file
效果相同
若用chmod 4755 filename可使此程序具有root的权限
chmod命令详细用法
总结
用户管理命令:useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage
- finger: 查看用户帐号信息
- usermod:修改用户帐号属性
- chsh: 修改用户的默认shell
- chfn:修改注释信息
- passwd:密码管理
组管理命令:groupadd, groupdel, groupmod, gpasswd
- gpasswd:为组设定密码
权限管理:chown, chgrp, chmod, umask
- chown: 改变文件属主
- chgrp:改变文件属组
- chmod: 修改文件的权限
useradd命令参数说明
Usage: useradd [options] LOGIN
useradd -D
useradd -D [options] Options:
-b, --base-dir BASE_DIR base directory for the home directory of the
new account
-c, --comment COMMENT GECOS field of the new account
-d, --home-dir HOME_DIR home directory of the new account
-D, --defaults print or change default useradd configuration
-e, --expiredate EXPIRE_DATE expiration date of the new account
-f, --inactive INACTIVE password inactivity period of the new account
-g, --gid GROUP name or ID of the primary group of the new
account
-G, --groups GROUPS list of supplementary groups of the new
account
-h, --help display this help message and exit
-k, --skel SKEL_DIR use this alternative skeleton directory
-K, --key KEY=VALUE override /etc/login.defs defaults
-l, --no-log-init do not add the user to the lastlog and
faillog databases
-m, --create-home create the user's home directory
-M, --no-create-home do not create the user's home directory
-N, --no-user-group do not create a group with the same name as
the user
-o, --non-unique allow to create users with duplicate
(non-unique) UID
-p, --password PASSWORD encrypted password of the new account
-r, --system create a system account
-R, --root CHROOT_DIR directory to chroot into
-s, --shell SHELL login shell of the new account
-u, --uid UID user ID of the new account
-U, --user-group create a group with the same name as the user
-Z, --selinux-user SEUSER use a specific SEUSER for the SELinux user mapping
Linux命令-用户、用户组、权限的更多相关文章
- Linux命令-用户及权限管理
一.权限管理linux系统中对文件权限的描述机制: u g od r w x r w x r - x (r读,w写,x执行)文件 所有者 所属组 其他人可以表示为二进制: 111 111 101也可以 ...
- Linux命令--用户用户组管理
新增用户组 : groupadd groupadd [-g GID] 组名 不加-g 则按照系统默认的gid创建组,跟用户一样,gid也是从500开始的 修改用户组信息 : groupmod grou ...
- Linux系统用户/用户组/文件权限相关
目录一.Linux系统用户/用户组权限相关二.Linux系统文件权限相关 一.Linux系统用户/用户组权限相关 .命令:usermod 用法:usermod [-agGus] user args ‘ ...
- Linux命令——用户和用户组管理
Linux命令--用户和用户组管理 命令groupadd 作用:新增组 格式:groupadd [-g GID] groupname 参数:-g,指定GID,一般从500开始 说明:一般不必加-g参数 ...
- Linux命令:修改文件权限命令chmod、chgrp、chown详解
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权 限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而 ...
- 数据仓库003 - 复习Linux shell命令 - 用户用户组 sudo 权限 du-sh find
一.用户用户组 [root@localhost ~]# ll /usr/sbin/user* -rwxr-x--- root root -- /usr/sbin/useradd -rwxr-x--- ...
- linux 添加用户、权限
# useradd –d /usr/sam -m sam 此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录). 假 ...
- Linux命令 用户管理命令
groupadd [功能说明] 新建用户组 [语法格式] Groupadd[-f][-r][-g<GID><-o>][组名] [选项参数] 参数 说明 -f 建立已存在的组,强 ...
- Linux(3)用户和权限管理
用户, 权限管理 Linux中root账号通常用于系统的维护和管理, 它对操作系统的所有部分具有不受限制的访问权限 在Unix/Linux安装过程中, 系统会自动创建许多用户账号, 而这些默认的用户就 ...
随机推荐
- PHP 生成16 uuid
从c# 翻译而来 <?php $i=1; $guidStr=string_make_guid(); echo $guidStr."\n"; $byte_array = unp ...
- css布局:定宽,自适应
css三栏布局:1.中自:float,absolute,margin三种方法.2.中固:margin,table两种方法. 两边定宽,中间自适应: float: #left{ float:left; ...
- centos7 源码安装python3
1.非常重要!必须得先安装py3所依赖的软件包,否则可能会出现py3安装成功,却缺少相应的pip yum groupinstall "Development tools" yum ...
- 对SpringDAO层支持的总结
1.问题 1.JDBC/ORM框架(如Hibernate)开发中编程模型有哪些缺点? 如JDBC 2.解决方案(模板设计模式,本质:将可变的和不可变的分离) 模板方法模式:定义操作的步骤(固定的 ...
- Androd Studio测试
测试的分类: 在软件开发领域,程序员开发编码后,需要测试部门的测试,才可以发布软件版本,所以对测试的概念需要了解: 黑盒测试:我的理解是,黑盒测试更多的是体力活,按照测试用例,在屏幕上不停的操作的方式 ...
- linux系统编程之进程(六):父进程查询子进程的退出,wait,waitpid
本节目标: 僵进程 SIGCHLD wait waitpid 一,僵尸进程 当一个子进程先于父进程结束运行时,它与其父进程之间的关联还会保持到父进程也正常地结束运行,或者父进程调用了wait才告终止. ...
- Create Index语句的Include作用
在 SQL Server 2005 中,可以通过将非键列添加到非聚集索引的叶级别来扩展非聚集索引的功能.通过包含非键列,可以创建覆盖更多查询的非聚集索引.这是因为非键列具有下列优点: 它们可以是不允许 ...
- 用注册表禁止windows添加新用户
运行 regedt32.exe 打开你的注册表,里面有一个目录树:打开其中目录 HKEY_LOCAL_MACHINE再打开其中目录 SAM再打开其中目录 SAM再打开其中目录 Domains再打开其中 ...
- WebRequest请求被中止: 未能创建 SSL/TLS 安全通道
使用System.Net.WebRequest.Create(url)抓取某网站信息时 ,出现“未能创建 SSL/TLS 安全通道”此条异常信息 解决方案 引用:using System.Net; 在 ...
- JSON 数据转成Table
public static DataTable JsonToDataTable(string strJson) { //转换json格式 strJson = strJson.Replace(" ...