linux学习lesson13

Simulink与C/C++的无缝对接:自定义结构体变量导入实战指南 本文详细介绍了如何将C/C++自定义结构体导入Simulink环境,实现无缝数据对接。通过编写标准C头文件、配置MEX编译环境(如MinGW),并利用`Simulink.importExternalCTypes`函数,可将结构体转换为Simulink Bus对象,从而提升复杂系统模型的可读性、可维护性及仿真与代码生成效率。 阅读详情

目录

1 su命令

2 sudo命令

3 限制root远程登录


1 su命令

  • 命令su的格式为su [-] username,-表示把该用户的环境变量也切换
[root@worker1 ~]# su - user3

Last login: Wed Sep 19 06:45:53 CST 2018 on pts/1

[user3@worker1 ~]$ whoami

user3

[user3@worker1 ~]$ id

uid=1111(user3) gid=1100(grp2) groups=1100(grp2),1002(user2)
  • 在root环境下,以user3用户环境在tmp目录创建file5.txt
[root@worker1 ~]# su - -c "touch /tmp/file5.txt" user3

[root@worker1 ~]# ls /tmp/

dir1  dir2  file5.txt  lesson8  lesson9  yum.log
  • 切换到user6,发现没有家目录,可以使用ctrl+d退出
[root@worker1 ~]# su - user6

su: warning: cannot change directory to /home/user6: No such file or directory

-bash-4.2$
  • 将user6的家目录需要文件补全
root@worker1 ~]# mkdir /home/user6

[root@worker1 ~]# ls -al /etc/skel/

total 24

drwxr-xr-x.  2 root root   59 Sep  5 22:52 .

drwxr-xr-x. 75 root root 8192 Sep 19 07:05 ..

-rw-r--r--.  1 root root   18 Nov 20  2015 .bash_logout

-rw-r--r--.  1 root root  193 Nov 20  2015 .bash_profile

-rw-r--r--.  1 root root  231 Nov 20  2015 .bashrc

[root@worker1 ~]# cp /etc/skel/.bash* /home/user6/

[root@worker1 ~]# chown -R user6:user6 /home/user6/

[root@worker1 ~]# su - user6

Last login: Wed Sep 19 07:05:43 CST 2018 on pts/0

[user6@worker1 ~]$

 

2 sudo命令

  • sudo可以不用切换到root用户下,可以临时拥有root权限执行命令,这可以可以避免登录root用户,造成root密码泄露
  • 需要编辑/etc/sudoers文件,增加这个命令权限,不用vi命令,而使用visudo命令编辑,而且还可以检查编辑后文件的语法是否正确

visudo命令编辑配置文件

根据root ALL=(ALL) ALL的模式

增加user3 ALL=(ALL) ALL (ALL)代表获取哪个用户权限,右二ALL 代表所有命令

[user3@worker1 ~]$ ls /root/

ls: cannot open directory /root/: Permission denied

[root@worker1 ~]# visudo //增加user3 ALL=(ALL) ALL

[user3@worker1 ~]$ sudo ls /root/ //第一次使用会有提示



We trust you have received the usual lecture from the local System

Administrator. It usually boils down to these three things:



    #1) Respect the privacy of others.

    #2) Think before you type.

    #3) With great power comes great responsibility.



[sudo] password for user3:

anaconda-ks.cfg  file1.txt.bak    file.txt      hard.txt.bak

dir1         file2.txt.bak    file_windows.txt

限制user3的sudo使用的命令:/bin/ls, /bin/cat,其他的命令会有受限制

修改为:user3 ALL=(ALL) /bin/ls, /bin/cat

[user3@worker1 ~]$ sudo ls /root/

anaconda-ks.cfg  file1.txt.bak    file.txt      hard.txt.bak

dir1         file2.txt.bak    file_windows.txt

[user3@worker1 ~]$ sudo cat /root/file.txt

hello world

[user3@worker1 ~]$ sudo mv /root/file.txt /root/file12.txt //因为mv命令没有授权

Sorry, user user3 is not allowed to execute '/bin/mv /root/file.txt /root/file12.txt' as root on worker1.

设置sudo命令执行命令,免密码输入

修改为:user3 ALL=(ALL) NOPASSWD: /bin/ls, /bin/cat

设置sudo命令中可允许执行的命令限制别名

修改为:Cmmd_Alias AMING_CMD = /bin/ls, /bin/cat

user3 ALL=(ALL) AMING_CMD

如果有多个用户需要设置sudo命令权限,可以将用户加到同一个组里,然后一起配置权限即可

修改为:Cmmd_Alias AMING_CMD = /bin/ls, /bin/cat

%wheel ALL=(ALL) AMING_CMD wheel为组名 AMING_CMD为允许执行的命令

 

3 限制root远程登录

  • 为了服务器安全,一般限制root用户远程登录,这样可以避免泄露root密码
  • 配置文件为/etc/ssh/sshd_config
[root@worker1 ~]# vi /etc/ssh/sshd_config

找到:#PermitRootLogin yes

改为:PermitRootLogin no

[root@worker1 ~]# systemctl restart sshd.service //重启sshd服务,生效

  • 使用putty工具root用户登陆,无法登录

 

扩展
sudo与su比较

http://www.apelearn.com/bbs/thread-7467-1-1.html 
sudo配置文件样例  
www.opensource.apple.com/source/sudo/sudo-16/sudo/sample.sudoers

sudo不错的教程

http://www.jianshu.com/p/51338e41abb7

sudo -i 也可以登录到root吗?  可以,前提是当前的普通用户要在sudoers的配置文件里

【CTFSHOW】web入门 黑盒测试 文章目录写在前面web380web381web382web383web384web385web386web387web388web389web390web391web392web393web394web395参考资料 写在前面 一直没搞过渗透,先学学黑盒测试吧 web380 进入题目发现是一个关于灯泡的悲伤故事,点进去,看到跳转到page_1.php页面。 我们访问page.php试试: 发现报错:$id.php,可以猜想需要传名称为id的参数,来访问id.php。我们访问page.php?id=1试试 阅读详情

相关推荐

国赛数学建模高教社杯历届优秀论文全集

包含了2004到2023年高教社的赛题及优秀论文。

BanDeng001的博客 3288

linux创建的新用户没有家目录

在Linux中创建新用户时,如果没有指定创建家目录的选项,那么新用户将没有家目录。要创建一个新用户并为其创建一个家目录,可以使用以下命令: sudo adduser--create-home username 其中,username是新用户的用户名。--create-home选项指示Linux创建一个新的家目录。创建完新用户和家目录后,可以使用以下命令切换到新用户: su - username ...

weixin_42601547的博客 3992

Protege本体建模实战:从零构建电影知识图谱并导入Neo4j

本体建模是知识图谱构建的基石,通过类、属性、实例和约束系统描述领域知识,为数据提供可复用的语义骨架。OWL作为本体描述语言的标准,配合Protege工具可实现可视化建模,并借助推理机验证逻辑一致性,提升模型可靠性。在工程落地中,本体模型常需导入图数据库如Neo4j,以支持高效的关联查询与业务应用。本文以影视领域为背景,完整演示Protege中定义类层级、创建对象/数据属性、填充实例,以及导出OWL文件并通过Python脚本转换为Neo4j节点与关系的全过程,同时梳理命名空间、匿名节点、编码等易踩坑点,帮助读

weixin_29047545的博客 281

Linux系统使用添加新用户后,没有用户目录(没有home)解决办法

今天给同事在Linux服务器上添加用户,添加完竟然没有home,以前怎么没有这问题,烦恼!!! 添加用户命令:sudo useradd xiaoming(新用户名)。 >sudo useradd xiaoming 设定用户密码:sudo passwd xiaoming(新用户名)。 >sudo passwd xiaoming 输入新的 UNIX 密码: 重新输入新的 UNIX 密码: passwd:已成功更新密码 查看一下用户信息:id xiaoming >id xiao

u013053075的博客 3万+

从零到一:ArduPilot无人船PID调参实战指南

本文详细介绍了ArduPilot无人船PID调参的实战指南,从基础参数设定到高级调参技术,帮助用户掌握水面环境下的PID控制逻辑。通过案例分析和参数示例,解决无人船在空载、负载变化及不同水域环境中的航行问题,提升无人船的稳定性和精确度。

weixin_29266647的博客 507

【经验&技巧】IBIS AMI模型眼图仿真问题探讨

在ADS的仿真环境中,不论发送和接收的AMI模型是否为true或者false,都可以将通道仿真设置为统计模式,但是,如果有一方的Init函数为false,在统计模式下,处于false状态的模型将不能执行其自带的后处理功能,如下图所示,左边的统计模式和右边的逐比特模式眼图存在明显的差异,原因在于,接收端的init函数为false导致在统计模式中不能对眼图进行DFE处理,换言之,此时统计模式下的眼图就是未经任何处理的“生图”。

一只豌豆象的博客 1767

linux 创建新用户时没有用户目录

linux 创建新用户时没有用户目录 **问题:**使用 useradd -d /home/user02 user02 创建新用户并指定目录后,用 ls /home 无法看到 user02 的目录。 解决方法: 使用 useradd -m username,在 /home 目录下创建同名文件夹。 先 mkdir /home/username 创建目录,然后使用 useradd -d /home/username username 创建新用户。 useradd选项: -d 目录 指定用户主

ikun的博仔的博客 6805

Python 爬虫实战:爬取万方数据文献信息

本文介绍了基于Python爬虫技术合规获取万方数据文献信息的方法。通过分析万方数据的请求机制与反爬策略,采用requests库结合Session维持合法会话,实现了文献标题、摘要、作者等核心元数据的提取。文章详细讲解了Token验证、动态请求构造、JSON数据解析等关键技术,并提供了完整可运行代码。同时强调严格遵守《万方数据知识服务平台用户协议》,控制请求频率,仅限学术研究使用。该方案为万方数据文献信息获取提供了标准化解决方案,支持数据清洗、结构化存储及后续分析应用。

2503_91057718的博客 2138

【Linux问题合集003】解决无法创建新用户丨在home目录下看不见用户文件夹丨创建的用户设置密码时报错,当前用户不在 sudoers 列表中丨Ubunt不显示用户名,只显示“$“符号问题

解决无法创建新用户丨在home目录下看不见用户文件夹,【su: 警告:无法更改到 /home/tom 目录: 没有那个文件或目录】丨创建的用户设置密码时报错,当前用户不在 sudoers 列表中丨Ubuntu不显示用户名,只显示"$“符号问题

周周の博客小屋 3788

keil工程After Build/Rebuild添加带参.exe实现全流程(2):带参调用.exe的几种方法

keil工程After Build/Rebuild添加带参.exe实现全流程(2):带参调用.exe的几种方法。

kevin1499的博客 1617

汇川H5U模拟量输出模拟量转换FC: S_RTI

汇川H5U模拟量输入模拟量转换 FC S_ITR_RXXW_Dor的博客-优快云博客接口中的临时变量,如果优化的可以省去一些,感兴趣的可以自行编写修改下,这里不在举例。至此模拟量输入转换FC编写完成。

RXXW_Dor的博客 6679

Linux:使用useradd创建用户后,/home下没有用户主目录

简单的解决办法推荐用adduser如果想用useradd已经使用了useradd删完,确定用户是否存在 推荐用adduser 新建用户:adduser sc 更改密码:passwd sc 查看是否有用户主目录:ls /home或cd /home/sc (注意空格不要漏掉) 如果想用useradd 新建用户:useradd -m sc 更改密码:passwd sc 查看用户主目录:ls /home或cd /home/sc 已经使用了useradd 删除用户: userdel sc 这条命令只能删除用户,但不能

weixin_43410435的博客 1万+

C# 与欧姆龙 PLC 实战:通过 Ethernet/IP 协议进行设备控制与监控

本文介绍了如何通过C#和Ethernet/IP协议实现与欧姆龙PLC的通信。Ethernet/IP是基于以太网的工业协议,适用于工业设备间的实时数据交换。文章详细讲解了使用EthernetIPSharp库建立连接、读写数据的步骤,并提供了示例代码。此外,还探讨了实时监控、报警系统等高级功能,为工业自动化控制系统开发提供了实用指导。该方法简化了PLC通信开发,提高了系统可靠性和智能化程度。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 814

linux学习 lesson13kickstart自动安装

一、什么是kickstart 通过上节课的学习,成功创建了虚拟机。但是运行时发现还需要安装系统,而这个过程是非常繁琐和费时的。 这时候可以用到kickstart工具,kickstart能够完成无人执守安装。 二、 ...

飞翔的罗老汉 158

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Lesson13 Linux 账号与群组

一、 UID 与 GID: 每个 Linux 用户有两个 ID, 需要显示文属性时,系统根据 ID 对应的账号与组群名进行显示。 使用者 ID, UserID,即 UID/etc/passwd; 群组 ID,GroupID,即 GID/etc/group。 ...

Gaoithe的博客 288

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【Linux lesson1】初识Linux系统

本文系统介绍了Linux操作系统的基础知识和核心概念,分为两大部分。第一部分详细讲解了Linux常用基本指令及其使用方法,包括网络配置、文件与目录操作、文件管理、文本搜索、压缩工具以及文件传输工具。每个指令都提供了语法说明和常用选项,帮助用户快速掌握日常操作。第二部分深入解析了权限管理机制,包括用户分类、权限的表示方法权限修改命令以及权限对不同文件类型的影响。特别强调了粘滞位的概念,解释了其在防止非拥有者删除文件中的重要性。整体内容结构清晰,便于初学者理解和应用Linux系统管理技能。

Dumpling527的博客 1169

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【lesson13】gdb的介绍及使用

gdb的介绍及使用

m0_67077469的博客 180

linux学习lesson36

目录 1 linux任务计划cron 2 chkconfig工具 3 systemd管理服务 4 unit介绍 1 linux任务计划cron Linux任务计划功能的操作都是通过crontab命令来完成的,常用的参数有: -u:表示指定某个用户,不加-u选项则为当前用户 -e:表示制定计划任务 -l:表示列出计划任务 -r:表示删除计划任务 编写任务计划的格式 [ro...

InfiniteIdea_Go的博客 729

linux学习lesson38

目录 1 rsync通过服务同步 2 linux系统日志 3 screen工具 1 rsync通过服务同步 要编辑配置文件/etc/rsyncd.conf 启动服务rsync --daemon [root@linux01 ~]# rsync --daemon 启动后可以查看一下日志,并查看端口是否启动 [root@linux01 ~]# vim /etc/rsyncd.con...

InfiniteIdea_Go的博客 737

linux学习lesson21

目录 1 安装软件包的三种方法 2 rpm包介绍 3 rpm工具用法 4 yum工具用法 5 yum搭建本地仓库 1 安装软件包的三种方法 rpm工具 RPM包是预先在Linux机器上编译并打包的文件,安装非常快捷。但它也有一些缺点,比如安装环境必须与编译时的环境一致或者相当,包与包之间存在着相互依赖的情况,卸载包时需要先把依赖的包卸载。如果依赖的包是系统所必需的,就不能卸载这个包,...

InfiniteIdea_Go的博客 442

linux学习lesson14

目录 1 df命令 2 du命令 3 磁盘分区 1 df命令 命令df(disk filesystem的简写)用于查看已挂载磁盘的总容量、使用容量、剩余容量等,可以不加任何参数,默认以KB为单位显 -i:表示查看inodes的使用状况,如已使用100%,即使磁盘空间有富余,也会提示磁盘空间已满 -h:表示使用合适的单位显示,例如GB -k、-m:分别表示以KB和MB为单位显示 ...

InfiniteIdea_Go的博客 536

[Linux系统编程——Lesson13.自定义shell(讲解原理)]

本文介绍了如何通过Linux系统编程实现一个简易的自定义Shell。主要内容包括:1. 基本功能实现:打印命令提示符、获取用户输入命令、分割命令字符串为参数列表;2. 命令执行机制:使用fork创建子进程,通过execvp执行非内建命令;3. 内建命令处理:单独实现cd、export、echo等需要在父进程执行的命令;4. 关键编程技术:包括环境变量处理、进程管理、字符串分割等。文章提供了完整的代码示例,详细说明了每个功能模块的实现方法,并解释了为何内建命令必须直接在父进程中处理。该Shell模拟了Linu

2401_83386596的博客 896

linux学习lesson31

目录 1 使用w查看系统负载 2 vmstat命令 3 top命令 4 sar命令 5 nload命令 1 使用w查看系统负载 w/uptime 查看系统负载 [root@worker1 ~]# w 15:49:55 up 6:26, 1 user, load average: 0.00, 0.01, 0.05 USER TTY FROM ...

InfiniteIdea_Go的博客 368

linux学习lesson35

目录 1 iptables规则备份和恢复 2 firewalld的9个zone 3 firewalld关于zone的操作 4 firewalld源于service的操作 1 iptables规则备份和恢复 保存和备份iptables规则 service iptables save //会把规则保存到/etc/sysconfig/iptables [root@worker1 ~]# ...

InfiniteIdea_Go的博客 594

lesson - 13 Linux系统日常管理2

内容概要:1. Linux抓包工具tcpdump 系统自带抓包工具tcpdump -nn -i eth0 tcp and host 192.168.0.1 and port 80tcpdump -nn -vs0 tcp and port not 22 -c 100 -w 1.capwireshark 在linux下也可以安装 yum install -y wireshark抓包...

weixin_30663471的博客 147

原创 linux下c++ lesson13 运算符重载基础

1-逻辑运算符.cpp #include <iostream> using namespace std; int f1() { cout << "this is f1" << endl; return 0; } int f2() { cout << "this is f2" << endl; return 1; } cla...

Tyeat的博客 194
上一篇: linux学习lesson12
下一篇: linux学习lesson14
InfiniteIdea_Go
博客等级 码龄8年 3粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值