linux基础学习-第六天记录

2016-08-02

授课内容:

用户和组管理命令

理解并设置文件权限

默认权限

特殊权限

文件ACL

用户和组管理命令

用户和组的配置文件:/etc/default/useradd(相当于useradd -D)、/etc/skel(创建用户的家目录配置文件)、/etc/login.defs(修改用户的密码策略配置)

/etc/default/useradd(相当于useradd -D)

[[email protected] ~]# ll /etc/default/useradd 
-rw-r--r--. 1 root root 119 Mar  6  2015 /etc/default/useradd
[[email protected] ~]# cat !^
cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[[email protected] ~]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

/etc/skel(创建用户的家目录配置文件)

[[email protected] ~]# ls -a /etc/skel/
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla
[[email protected] ~]# useradd user111
[[email protected] ~]# ls -a /home/user111/
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla

/etc/login.defs(修改用户的密码策略配置)

用户管理:

①useradd [options] LOGIN:添加用户

-u:指定UID

-o:no-uniq,【不唯一,配合-u使用,如将普通用户提权为管理员】

-g:指定组(前提是组必须存在)

-G:添加附加组

-s:指定shell

-c:添加注释内容

-M:不创建家目录

-r:system,创建系统用户

例:添加一个用户hello,其UID指定3500,属组是3550,附加是root,注释为“你好”,系统用户,不能登陆系统,同时不创建家目录

 useradd hello -u 3500 -g 3500 -G root -c "nihao" -r -s /sbin/nologin -M

②usermod [OPTION] login:用户属性更改

-u:更改用户UID

-g:更改用户属组

-aG:更改用户附加组,直接-G原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append

-s:修改shell

-c:修改注释信息

-L:锁定用户不能登陆

-U:解锁用户

-l:login_name,修改用户的登陆名字

③userdel [OPTION]... login

-r:删除家目录

④passwd  [OPTIONS] UserName: 修改指定用户的密码,仅root用户权限

-l:锁定用户

-u:解锁

-e:强制用户下次登陆需要更改密码

-n mindays: 指定最短使用期限

-x maxdays:最大使用期限

-w warndays:提前多少天开始警告

⑤chage   [OPTION]... LOGIN:修改用户的密码策略(实际是修改了/etc/login.defs的配置文件)

[[email protected] ~]# chage hill
Changing the aging information for hill
Enter the new value, or press ENTER for the default
Minimum Password Age [0]: 
Maximum Password Age [99999]: 
Last Password Change (YYYY-MM-DD) [2016-08-01]: 
Password Expiration Warning [7]: 
Password Inactive [-1]: 
Account Expiration Date (YYYY-MM-DD) [-1]:

⑥id  [OPTION]... [USER]:查看用户信息

-u:

-g:

-n:

⑦finger UserName:查看用户信息

⑧chfn:修改注释信息

⑨chsh: 修改shell

用户组管理:

①groupadd [OPTION]... group_name:添加组

-r:系统组

-g:GID

②groupmod [OPTION]... group:组属性修改

-g

-n:新组名字

③groupdel GROUP:组删除

④gpasswd [OPTION] GROUP:修改密码

-a:添加组用户

-A;user1,user2,...: 设置有管理权限的用户列表

-d:删除组用户

批量增加用户和修改密码

批量增加用户:

先创建一个文件,里面输入需要添加的账号,格式与passwd格式一致,然后用newusers命令运行账号文件即可

[[email protected] ~]# cat user.txt 
user11:X:3000:3000::/testdir/user11:/bin/bash
user12:X:3001:3001::/testdir/user12:/bin/bash
user13:X:3002:3002::/testdir/user13:/bin/bash
user14:X:3003:3003::/testdir/user14:/bin/bash
user15:X:3004:3004::/testdir/user15:/bin/bash
[[email protected] ~]# newusers user.txt

批量修改密码:

先创建一个文件,里面输入需要批量修改密码的账号,格式【账号:密码】,然后重定向给chpasswd命令运行账号文件即可

[[email protected] ~]# cat pass.txt 
user11:centos
user12:centos
user13:centos
user14:centos
user15:centos
[[email protected] ~]# cat pass.txt |chpasswd

【】练习:手动添加一个用户hive,uid=gid=5000,附加组是bin

1.vipw
2.vigr
3.vim /etc/shadow
4.vim /etc/gshadow
5.cp -r /etc/skel/. /home/hive
6.chown -R hive:hive /home/hive
7.chmod -R go= /home/hive

文件权限和管理

文件权限

[[email protected] ~]# ll
total 5280
-rw-r--r--. 1 root root        37 Jul 31 14:48 11111
-rw-r--r--. 1 root root        61 Jul 31 14:41 11.sh
drwxr-xr-x. 2 root root         6 Aug  1 09:04 1.a.nihaoma

其中drwxr-xr-x.指的是文件的类型及权限

每三位为一组,对应:u(属主),g(属组),o(其他)

权限为r(读)、w(写)、x(执行)

文件:

r: 可使用文件查看类工具获取其内容

w: 可修改其内容

x: 可以把此文件提请内核启动为一个进程(一般为二进制程序或者脚本)

目录:

r: 可以使用ls查看此目录中文件列表

w: 可在此目录中创建文件,也可删除此目录中的文件【重点理解】

x: 可以使用ls -l查看此目录中文件列表,可以cd进入此目录

X:只给目录x权限,不给文件x权限

1、chmod WHO OPT FILE:文件权限修

WHO:u,g,o,a

OPT:+,-,=

修改文件的属主和属组

2、chown [OPTION]... [OWNER][:[GROUP]] FILE...:修改文件的属主

-R:递归

chown USERNAME:GROUPNAMDE FILE... :一并修改文件的属主和属组【】

3、chgrp [OPTION]... GROUP FILE...:修改文件的属组

-R:递归

chown:只有root有权限

chgrp:只有root和所有者有权限

新建文件和目录的默认权限和掩码umask

umask:从最大权限中屏蔽掉相应的权限位,从而得出默认权限

[[email protected] ~]# umask
0022

新建文件和目录的默认权限

新建FILE权限: 666-umask

如果所得结果某位存在执行(奇数)权限,则将其权限+1【即系统默认是不会给文件有执行权限】

[[email protected] ~]# umask 113
[[email protected] ~]# touch f22222
[[email protected] ~]# ll f22222 
-rw-rw-r--. 1 root root 0 Aug  2 20:27 f22222

文件f22222的某位存在执行(奇数)权限,则将其权限+1

新建DIR权限: 777-umask

特殊权限:SUID SGID STICKY(sst)

suid:【只作用在二进制的可执行的文件】,添加了s权限后,所运行的程序就可以以命令的属主身份权限进行运行

【当文件本身属主u有执行权限x时,加上s权限会在x权限的位置显示小写的s,如果没有x执行权限,则会变成大写的S】

chmod u+s  FILENAME

chmod u-s  FILENAME

-rwxr-xr-x. 1 root root 117616 Nov 20  2015 /usr/bin/ls
[[email protected] ~]# ll f22222 
-rw-rw-r--. 1 root root 0 Aug  2 20:27 f22222
[[email protected] ~]# chmod u+s f22222 
[[email protected] ~]# ll f22222 
-rwSrw-r--. 1 root root 0 Aug  2 20:27 f22222

sgid:作用在可执行文件或者目录

chmod g+s  FILENAME/Documents

chmod g-s  FILENAME/Documents

当作用在文件时,添加了s权限后,所运行的程序就可以以命令的属主身份权限进行运行

当作用在目录时:

默认情况下,用户创建文件时,其属组为此用户所属的主组,一旦某目录被设定了SGID,

【则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组】

【当文件本身属组g有执行权限x时,加上s权限会在x权限的位置显示小写的s,如果没有x执行权限,则会变成大写的S】

sticky:【具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权

在目录设置Sticky 位,只有文件的所有者或root可以删除该文件】

【只作用在目录上】

【当文件本身其他用户o有执行权限x时,加上s权限会在x权限的位置显示小写的t,如果没有x执行权限,则会变成大写的T】

chmod o+t DIR...

chmod o-t DIR...

[[email protected] ~]# ll -d TTTT/
drwxr-xr-x. 2 root root 18 Aug  2 14:48 TTTT/
[[email protected] ~]# chmod o+t TTTT/
[[email protected] ~]# ll -d TTTT/
drwxr-xr-t. 2 root root 18 Aug  2 14:48 TTTT/

特殊权限数字法:

SUID SGID STICKY

000 0

001 1

010 2

011 3

100 4

101 5

110 6

111 7

chmod4777 /tmp/a.txt

chattr:修改文件属性

只有超级权限的用户才具有使用该命令的权限,这项指令可改变存放在ext2、ext3、ext4、xfs、ubifs、reiserfs、jfs等文件系统上的文件或目录属性

+i:即Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。

+a:Append-only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。

文件访问控制列表(file ACL)

[[email protected] ~]# ll -d TTTT/
drwxrwxr-x+ 2 root root 18 Aug  2 14:48 TTTT/
ll user.txt
-rw-rw-r--+ 1 root root 230 Aug  2 09:46 user.txt

已添加文件访问控制列表的目录或文件在最有一位显示为+

getfacl file |directory:查看文件或目录当前的facl情况

setfacl -m u:user:rwx file/document:添加某个用户的访问控制列表

setfacl -m g:group:rw file| directory:添加某个组的访问控制列表

setfacl -x u:user file |directory:删除某个用户的访问控制列表

setfacl -x g:group file |directory:删除某个组的访问控制列表

setfacl -b file 清除所有ACL权限

时间: 2024-10-16 23:29:42

linux基础学习-第六天记录的相关文章

linux基础学习笔记——操作大全

作者:liaoyi 更新时间:2014-6-2 ****************基本操作***************** 关机 shutdown -h now    root用户               init 0              root用户halt      root+一般用户poweroff 重启shutdown -r now    root用户init6     root用户reboot            root+一般用户 注意:1.shutdown 比较灵活,可

linux基础学习随笔【根本没有排序哈】

直接整:init 3 5 6 0;init 3代表切换到字符界面,5代表切换到图形界面:6表示重启,等同于reboot:0表示关机=poweroff:改主机名:hostnamectl set-hostname centos7.localdomain;[记不住,TAB键补全]查看操作系统linux版本:cat /etc/centos-release;或者通过安装lsb_release -a ;查看内核版本: uname -rlscpu 查看CPU使用情况:lsblk查看硬盘:free - h查看内

c/c++unix/linux基础学习笔记-常用命令和vi的使用

linux 基本命令的使用-命令在ubuntu下面执行,有些命令通用其他linux,有些不通用. 多条命令间用;号隔开,回车后可以一起执行. clear-前屏,pwd显示当前目录,cd跳转目录. sudo [命令]  -ubuntu 下以管理员身份运行命令. 一般情况下,运行当前目录下的程序,要用 ./文件名 执行. 查看当前shell名称:ps 进入另外一个shell,直接输入shell名称:ksh/tcsh/sh/bash,退出一个shell用:exit. 切换shell命令,如:exec

Linux基础学习-crond系统计划任务

系统计划任务 大部分系统管理工作都是通过定期自动执行某个脚本来完成的,那么如何定期执行某个脚本,从而实现运维的自动化,这就要借助Linux的cron功能了. 计划任务分为一次性计划任务和周期性计划任务. 一次性计划任务 每晚11店30分开启网站服务. 周期性计划任务 每周一的凌晨3点30分把/var/www/html目录打包备份为backup.tar.gz 顾名思义,一次性计划任务只执行一次,一般用于满足临时的工作需求,可以使用at命令实现. 如果你的Linux没有此命令可以使用yum inst

linux基础学习【4】

系统进程 一.什么是进程 进程 : 一个正在运行中的程序 程序被触发后,执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统会给予这个内存内的单元一个识别码 (PID). 二.查看进程 1.图形方式查看 命令:`gnome-system-monitor` 2.进程查看命令 命令:`ps` ps -A/-e 显示所有(包括不同终端不同用户)进程(PID,TTY,TIME,CMD) ps -a 当前环境中运行的进程,不包含环境信息(PID,TTY,TIME,CMD) ps -u (

linux基础学习【5】

sshd服务,服务管理及文件传输 一.控制服务 1.什么是服务 2.用什么控制服务 系统初始化进程可以进行相应的控制 3.当前系统初始化进程是什么 systemd 系统初始化进程 pstree 显示系统中的进程树 进程树 4.系统控制命令 ssh(client)客户端---->sshd(server)服务器 命令:`systemctl` systemctl status sshd 查看sshd服务的状态inactive(不可用)/active(可用) systemctl start sshd 开

linux基础学习之 学习笔记

Linux是什么 1. linux的核心原型是1991年由托瓦兹(Linus Torvalds)写出来的. 2. 1973年:unix的正式诞生,Ritchie等人以C语言写出第一个正式unix核心. 3. 1977年:重要的unix分支--BSD(Berkeley Software Distribution)的诞生. 4. 目前被称为纯的unix指的就是System V(AT&T) 以及BSD(SUN)这两套. 5. 1984年,史托曼开始GNU计划,这个计划的目的是:建立一个自由.开放的un

一篇文章带你入门Linux——马哥Linux基础学习笔记

1.课程体系: 中级: 初级:系统基础 中级:系统管理.服务安全及服务管理.Shell脚本: 高级: MySQL数据库: cache & storage 集群: Cluster lb: 4layer 7layer ha: 分布式: zookeeper 分布式文件系统 虚拟化技术: xen kvm Openstack:IAAS云: 运维工具: ansible puppet(ruby), saltstack(python) 监控工具: zabbix 大数据处理: hadoop spark, stor

linux基础学习四

本次继续学习linux基础命令,包括stat.touch.cp.mv.rm.tree.mkdir.rmdir stat 命令格式 stat [OPTION]... FILE... 命令功能 显示文件的时间戳,即访问时间.修改时间和改变时间 stat [OPTION]... FILE...      [[email protected] ~]# stat newfile       File: `newfile'      Size: 0          Blocks: 0          I