Linux用户、用户组、文件权限设置

        最近打算更仔细学习一下linux操作系统。先是恶补了一下用户、用户组、文件权限这三样比较重要的知识。(我也正在学Linux,所以就找到这篇日志了,有些设置修改后需要重启系统后才能生效。)
学习这几样东西,得先掌握linux的权限系统相关知识。
linux的权限系统主要是由用户、用户组和权限组成。
用户就是一个个的登录并使用linux的用户。linux内部用UID表示。
用户组就是用户的分组。linux内部用GID表示。
权限分为读、写、执行三种权限。


linux的用户信息保存在/etc/passwd文件中,另外,/etc/shadow文件存放的是用户密码相关信息。

/etc/passwd文件格式:
用户名:密码:UID:GID:用户信息:HOME目录路径:用户shell
其中UID为0则是用户root,1~499为系统用户,500以上为普通用户


/etc/shadow保存用户密码信息,包括加密后的密码,密码过期时间,密码过期提示天数等。


用户组信息保存在/etc/group文件中.
格式如下:
用户组名:组密码:GID:组内帐号(多个帐号用逗号分隔)


用户登录后,/etc/passwd文件里的GID为用户的初始用户组。
用户的初始用户组这一事实不会再/etc/group中体现。

 

查看当前用户的用户组命令:
[root@local opt]#groups
root bin daemon sys adm disk wheel
输出的信息中,第一个用户组为当前用户的有效用户组(当前用户组)

 

切换有效用户组命令:
[root@local opt]#newgrp 用户组名
要离开新的有效用户组,则输入exit回车。


新建用户命令:
[root@local opt]#useradd [参数] 用户名 

参数:

-g 初始用户组 #用户组必须已经存在

-G 其他用户组(修改/etc/group) 

-c 用户说明 

-u 指定UID


建完用户需要为用户设置密码:
[root@local opt]#passwd 用户名


用户要修改自己密码命令:
[root@local opt]#passwd


修改用户信息命令:
[root@local opt]#usermod 参数 用户名
参数:
 -c 说明
 -g 组名 初始用户组
 -e 过期日期 格式:YYYY-MM-DD
 -G 组名 其他用户组
 -l 修改用户名
 -L 锁定账号(在/etc/shadow文件中用户对应密码密码串的前面加上两个叹号(!!))
 -U 解锁


删除用户命令:
[root@local opt]#userdel [-r] 用户名
其中,参数-r为删除用户的home目录。
其实,可能在系统其他地方也有该用户文件,要完整删除一个用户和其文件要先找到属于他的文件:
[root@local opt]#find / -user 用户名
然后删除,再运行userdel删除用户。


查看可用shell命令:
[root@local opt]#chsh -l 


修改自己的shell命令:
[root@local opt]#chsh -s


查看自己或某人UID/GID信息:
[root@local opt]#id [用户名]
返回信息中groups为有效用户组


新增用户组命令:
[root@local opt]#groupadd [参数] 用户组名

参数:
--system 创建一个系统组

修改用户组名命令:
[root@local opt]#groupmod -n 名称


删除用户组命令:
[root@local opt]#groupdel 用户组名


设置用户组密码命令:
[root@local opt]#gpasswd 用户组名


如果gpasswd加上参数则有其他功能


设置用户组管理员命令:
[root@local opt]#gpasswd -A 用户名 用户组名


添加某帐号到组命令:
[root@local opt]#gpasswd -M 用户名 用户组名


从组中删除某帐号命令:
[root@local opt]#gpasswd -d 用户名 用户组名

参数:
-l 锁用户
-u 解锁用户
-n 天数  密码不可改天数
-x 天数  密码过期天数
-w 天数  警告天数


 文件权限知识

先看个实例:
[root@local opt]#ls -al
ls -al 命令是列出目录的所有文件,包括隐藏文件。隐藏文件的文件名第一个字符为'.'
-rw-r--r--  1 root root    81 08-02 14:54 gtkrc-1.2-gnome2
-rw-------  1 root root   189 08-02 14:54 ICEauthority
-rw-------  1 root root    35 08-05 10:02 .lesshst
drwx------  3 root root  4096 08-02 14:54 .metacity
drwxr-xr-x  3 root root  4096 08-02 14:54 nautilus


列表的列定义如下:
[权限属性信息] [连接数] [拥有者] [拥有者所属用户组] [大小] [最后修改时间] [文件名]


权限属性列表为10个字符:
第一个字符表示文件类型,d为目录 -为普通文件 l为连接 b为可存储的接口设备 c为键盘鼠标等输入设备
2、3、4个字符表示所有者权限,5、6、7个字符表示所有者同组用户权限,8、9、10为其他用户权限
第二个字符表示所有者读权限,如果有权限则为r,没有权限则为-
第三个字符表示所有者写权限,如果有权限则为w,没有权限则为-
第四个字符表示所有者执行权限,如果有权限则为x,没有权限则为-
第五个字符表示所有者同组用户读权限,如果有权限则为r,没有权限则为-
第六个字符表示所有者同组用户写权限,如果有权限则为w,没有权限则为-
第七个字符表示所有者同组用户执行权限,如果有权限则为x,没有权限则为-
第八个字符表示其他非同组读权限,如果有权限则为r,没有权限则为-
第九个字符表示其他非同组写权限,如果有权限则为w,没有权限则为-
第十个字符表示其他非同组执行权限,如果有权限则为x,没有权限则为-


修改文件所属组命令:
[root@local opt]#chgrp [-R] 组名 文件名
其中-R为递归设置


修改文件的所有者和组命令:
[root@local opt]#chown [-R] 用户[:用户组] 文件名


修改文件访问权限命令:
[root@local opt]#chmod [-Rv] 0777 文件名

-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递归的方式逐个变更)

[root@local opt]#chmod abc 文件名
其中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=5。

 

 
至此,用户、文件和权限相关的东西,就总结个7788了,接下来的就是,平常要敢于用各种命令,勤于看看本篇总结啦。
注:本文来源:http://www.sourcejoy.com/other_dev_tech/linux-user-and-file-manage.html,
                        http://blog.sina.com.cn/s/blog_6a6c136d010193u8.html,纯属盗版,仅供自己学习使用。
       

转载于:https://www.cnblogs.com/xieshunjin/p/6046190.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/469937.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux系统ip访问53端口,linux – 使用公共IP地址无法访问本地端口

我有一个linux服务器,它有公共IP和私有IP.因此,当我使用公共IP登录时,终端直接显示私有IP.例:$ssh root55.27.XX.XXroots password:root10.1.4.20:~$hostname -I10.1.4.20root10.1.4.20:~$wget -qO- http://ipecho.net/plain ; echo55.27.xx.xx现在,我安装了Nginx,我…

微信扫码下载iosAPP

1.首先在应用宝上传你的安卓APP应用,AppStore已经有了APP 2.进入应用宝app应用管理中心,点击“微下载”,然后里面的微下载链接地址就可以用了,可以看到ios可以通过应用宝再跳到AppStore就可以实现下载了转载于:https://www.cnblog…

linux当前时间到1970年秒数,计算从1970年到当前时间所经历过的秒数

这个算法来自LINUX的源码,下面带有大神的解析,自己在RTC实验中也使用了,不用月份表,润平年的处理,几行就可得出结果,以下是程序和大神的解析Linux源码中的mktime算法解析我们知道,从CMOS中读出来…

脱水缩合(大搜索)

脱水缩合 (merge.c/cpp/pas) 【题目描述】 fqk 退役后开始补习文化课啦, 于是他打开了生物必修一开始复习蛋白质,他回想起了氨基酸通过脱水缩合生成肽键,具体来说,一个氨基和一个羧基会脱去一个水变成一个肽键。于是他脑洞大开&am…

ubuntu16.04下安装NS-2.35以及对simple例的理解

本人是在VMWare上安装的ubuntu16.04版本,然后安装NS2.35. 1.下载ns2的安装包,这里我选择的是ns-allinone-2.35.tar.gz压缩格式的all in one安装包,all in one 安装包包含所有的组件,比较方便,另附下载地址:…

linux查看登录服务器的ip历史记录,通过登陆IP记录Linux所有用户登录所操作日志的方法...

对于Linux用户操作记录一般通过命令history来查看历史记录,但是如果在由于误操作而删除了重要的数据的情况下,history命令就不会有什么作用了。那么依然要存有历史操作记录应该如何来实现呢?其实我们可以通过登陆IP地址来记录所有用户登录所操…

linux 向程序发送信号,Linux下的信号处理

Linux下的信号处理发布时间:2006-01-02 09:34:14来源:红联作者:reing前言:这一章我们讨论一下Linux下的信号处理函数。Linux下的信号处理函数:信号的产生信号的处理其它信号函数一个实例1.信号的产生Linux下的信号可以类比于DOS下的INT或者是Windows下的…

思科模拟器:[1]安装及汉化详解

思科模拟器是网络工程师经常使用的网络实验模拟软件,它可以很快捷的模拟网络中的各种设备(交换机、路由器、台式电脑、笔记本电脑、服务器、网络云),搭建各种网络环境,模拟网络拓扑结构等。下面天使图文教程,告诉大家怎么安装这个…

linux中的加法函数,上下文管理练习(为加法函数计时)

上下文管理(为加法函数计时)为加法函数计时使用装饰器显示该函数的执行时长使用上下文管理显示该函数的执行时长装饰器实现import timeimport datetimefrom functools import wrapsdef logger(fn):wraps(fn) # wraps(fn)(wrapper)def wrapper(*args, **kw):start datetime.dat…

07数组与接口

1、运行TextInherists.java 示例,观察输出,注意总结父类与子类之间构造方法的的调用关系,修改parent构造方法的代码,显式调用grandparent另一个构造函数。 源代码: class GrandParent{ public GrandParent(){ System.o…

windows 访问linux中的mongodb,MongoDB的linux系统下的安装与连接

一 安装MongoDB的服务下载Linux系统下的MongoDB安装包上传压缩包到linux服务器中,解压到对应的安装目录下mkdir /usr/local/mongodbtar -zxvf mongodb-linux-x86_64-4.0.10.tgzmv mongodb-linux-x86_64-4.0.10 /usr/local/mongodb新建目录,分别用来存储数…

像阿超那样,花20分钟写一个能自动生成小心四则运算题目的 “软件”,要求:除了整数以外,还要支持真分数的四则运算。 和同学们比较一下各自程序的功能,实现方法的异同,等等...

package chapter;public class szys { public static void main(String[] args) { print30Questions(); } private static void print30Questions() { //说明:打印30道题函数,把接收到的题目字符串按照指定格式输出。…

linux sqlserver 管理工具,Linux连接SqlServer的图形化工具SQuirrel

SQuirrel SQL一款基于java的数据库管理工具。所以可以运行在任意平台上,除了界面丑一点。在windows上我绝对不会选的,navicat多好。安装下载地址:https://sourceforge.net/projects/squirrel-sql/?sourcetyp_redirect在控制台运行&#xff1…

【转】C++怎么读写windows剪贴板的内容?比如说自动把一个字符串复制.

// 复制数据至剪切板BOOL CopyToClipboard(const char* pszData, const int nDataLen){ if(::OpenClipboard(NULL)) { ::EmptyClipboard(); HGLOBAL clipbuffer; char *buffer; clipbuffer ::GlobalAlloc(GMEM_DDESHARE, nDataLen1); …

linux中sort命令实例,Linux命令之排序命令sort使用实例

名称:sort位置:/usr/bin/sort权限:所有用户用法: sort [OPTION]... [FILE]...sort [OPTION]... --files0-fromF选项:-b --ignore-leading-blanks 忽略最前面的空格-f --ignore-case fold lower case to…

JDK源码包结构分类

最近查看JDK源码时,无意间发现几个类在陌生包里:com.sun.*、sun.*、org.*,google了一把总结了下以备他人搜索,如内容有误欢迎指正!Jre库包含的jar文件(jdk1.6):resources.jar、rt.jar、jsse.jar、jce.jar、…

linux帮助命令和用法,Linux命令帮助及history命令的使用

1.Linux命令帮助的获取详解在Linux中获取命令帮助时&#xff0c;内部命令和外部命令的获取方式是有区别的&#xff1a;即(1)内部命令&#xff1a;#help COMMAND? #man bash(2)外部命令&#xff1a;<1> # COMMAND --help# COMMAND -h<2> 使用手册(manu…

GJM :Sql 各种语句 以及函数 [转载]

版权声明&#xff1a;本文原创发表于 【请点击连接前往】 &#xff0c;未经作者同意必须保留此段声明&#xff01;如有侵权请联系我删帖处理&#xff01;1.更改数据库的名称 2.表中有数据的情况下再添加列、删除列 3.在SQLServer 中各种查询语句的使用示例 4.模糊查询的语句 5.…

linux中断处理体系结构分析(一),Linux中断处理体系结构分析(二)

1.中断处理的体系结构我们知道编写设备驱动程序一定要用到中断处理函数&#xff0c;这在驱动程序的编写中&#xff0c;占据很重要的一部分。在响应一个特定的中断的时候&#xff0c;内核会执行一个函数&#xff0c;该函数叫做中断处理程序(interrupt handler)或中断服务例程(in…

c语言作业题五六章答案,数据结构(C语言版)第五六章习题答案

数据结构(C语言版)第五六章习题答案,人民邮电出版社,答案很详细。(15)设F是一个森林&#xff0c;B是由F变换得的二叉树。若F中有n个非终端结点&#xff0c;则B中右指针域为空的结点有( )个。A&#xff0e; n-1 B&#xff0e;n C&#xff0e; n1 D&#xff0e; n22&#xff0e;应…