sudo 表示 “superuser do”。 它允许已验证的用户以其他用户的身份来运行命令。其他用户可以是普通用户或者超级用户。然而,大部分时候我们用它来以提升的权限来运行命令。
apt 是Linux下的一款安装包管理工具,是一个客户/服务器系统。sudo apt-get是用来安装linux下的各种工具包的。
(1)linuxsudo配置扩展阅读:
注意事项:
编辑sudo的配置文件/etc/sudoers是一般不要直接使用vi(vi /etc/sudoers)去编辑,因为sudoers配置有一定的语法,直接用vi编辑保存系统不会检查语法,如有错也保存了可能导致无法使用sudo工具,而使用visudo命令去配置保存时会进行语法检查,有错会有提示。
命令一定要使用绝对路径,避免其他目录的同名命令被执行,造成安全隐患 ,因此使用的时候也是使用绝对路径!
㈡ Linux系统创建用户并赋予用户sudo权限
sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等。这样不仅减少了root用户的管理时间,同样也提高了安全性。Sudo不是对shell的一个代替,它是面向每个命令的。
sudo的配置文件是 /etc/sudoers 文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。
sudo都提供了一个编辑该文件的命令:visudo 来对该文件进行修改。强烈推荐使用该命令修改 sudoers,因为它会帮你校验文件配置是否正确,如果不正确,在保存退出时就会提示你哪段配置出错的。
打开 /etc/sudoers 文件可以发现一个特殊的 wheel 组
第2行表示:wheel 组中的用户可以在ALL/任意主机上以任意用户执行所有的命令,不过需要输入该用户自己的密码。
第4行在第2行的基础上增加了NOPASSWD,意思是无需输入密码。不过这行默认情况下是注释掉的。
这样我们只需要创建一个专用的账户,然后将其添加到wheel组。
创建用户jupiter
将用户添加到wheel组中
现在用户jupiter就可以执行一些原本root用户才能执行的命令。
首先切换到 jupiter 用户
尝试切换到root用户主目录被拒绝
这次使用sudo
然后就可以成功切换到root用户主目录了。
如果不想输入密码,那么可以将上面提到的第4行的注释字符 # 去掉。
Linux命令手册:https://linux.cmsblogs.cn/
㈢ linux/centos普通用户sudo开启sftp
一般情况下,从安全考虑,root是禁止ssh登录,普通用户通过sudo操作,一般都没问题,但是要通过ftp传输文件就麻烦了,文件是属于root用户的,普通用户即使等登录也不能更改文件,也要加上sudo命令才能更改文件,通过winscp软件可以实现实现这个功能,详细配置查看这个帖子:
http://blog.csdn.net/xuejinliang/article/details/52301349
配置图1(http://upload-images.jianshu.io/upload_images/3727878-911d343f96035822.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
配置-高级-SFTP sudo /usr/libexec/openssh/sftp-server
配置图2(http://upload-images.jianshu.io/upload_images/3727878-52fa5c95dcc9d859.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
配置-高级-Shell sudo -i
附加背景知识:
https://en.wikibooks.org/wiki/OpenSSH/Cookbook/File_Transfer_with_SFTP
在主流linux系统版本当中,默认都有安装openssl和openssh包,都有ssh命令,也就是说默认安装好了SFTP服务器和sftp命令,不需要额外配置vsftp。
sftp有两种实现
1.sftp-server默认实现
2.internal-sftp可更改用户对应的目录
本来考虑不用sudo,而是通过internal-sftp来实现,把普通用户加入到root用户组,把文件的root用户组权限加上写的权限来实现的,后来发现没用,
因为目录权限设置要遵循2点:
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,权限最大设置只能是755。
如果不能遵循以上2点,即使是该目录仅属于某个用户,也可能会影响到所有的SFTP用户。