操作前说明 #
在 Linux 环境中执行系统级命令前,建议先确认发行版版本、当前用户权限和目标路径。涉及网络、磁盘、包管理、iptables 或系统服务的操作,最好先在测试环境验证,再放到生产服务器上执行。
原始操作记录 #
- 安装 samba
apt-get install samba- 添加系统账号
groupadd share
useradd share -g share -s /sbin/nologin -d /dev/null
useradd luobo -g share -s /sbin/nologin -d /dev/null
useradd tudou -g share -s /sbin/nologin -d /dev/null- 创建共享目录
mkdir -p /media/Data/Share/luobo
mkdir -p /media/Data/Share/tudou/media- 更改目录属性
chown -R share:share /media/Data/Share
chmod -R rwsrwsrwx /media/Data/Share- 添加账号到 Samba
sambapasswd -a luobo
sambapasswd -a tudou注意在较新的版本下,设置密码的命令已经从 sambapasswd 变为 smbpasswd
- 备份后修改 Samba 配置文件
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
vi /etc/samba/smb.conf参考如下配置
[global]
workgroup = WORKGROUP
netbios name = MyData
server string = My SAMBA Server
security = user
map to guest = bad user
guest account = share
[Media]
path = /media/Data/share/tudou/media
read only = yes
browseable = yes
guest ok = yes
[萝卜]
path = /media/Data/share/luobo
valid users = luobo, tudou
read only = no
browseable = yes
guest ok = no
[土豆]
path = /media/Data/share/tudou
valid users = tudou
read only = no
browseable = yes
guest ok = no如此设置了3个共享目录
[Media] 可以匿名访问,只读属性
[萝卜] 必须登陆访问,两个账号具有访问权限 luobo, tudou
[土豆] 必须登陆访问,只有一个账号具有访问权限 tudou
参考资料 http://blog.csdn.net/liuaigui/article/details/5077935
测试过程中用到的其他命令
Windows:
net use * /delLinux:
/etc/group 文件包含所有组
/etc/shadow 和 /etc/passwd 文件包含系统存在的所有用户名
id 命令可以查看账号和所在组的 uid 和 gid
关键理解 #
这类笔记最重要的不是把命令背下来,而是弄清楚它解决的是什么问题、依赖什么环境、执行后会改变什么。以后再次遇到类似情况时,可以先根据标题判断问题方向,再对照原始命令确认是否适合当前系统版本。
如果命令中包含具体路径、网卡名、磁盘名、进程名、IP 地址、端口号、用户名称或软件版本,实际执行时都要替换成自己环境中的真实值。不要直接照抄示例里的占位内容。
验证方法 #
执行完成后不要只看命令是否返回成功,还应结合服务状态、配置文件内容、日志输出和实际访问结果一起判断。常用检查命令包括 systemctl status、journalctl -xe、ip addr、ip route、cat、grep 等。
如果验证结果和预期不一致,建议先不要继续叠加更多修改,而是回到第一步检查环境差异。很多问题并不是命令本身错误,而是当前系统版本、软件版本、路径名称或权限条件与原记录不一致。
注意事项 #
如果是在远程服务器上操作,尤其是网络、SSH、DNS、防火墙相关配置,必须提前准备控制台、VNC、快照或备份,避免因为配置错误导致无法重新连接。
对于旧文章中的命令,还要考虑软件版本变化。浏览器 flags、Linux 发行版默认配置、Python 包版本、Windows 系统设置都会随着时间调整。再次使用时,最好把这篇记录当成排查思路,而不是绝对固定的唯一答案。
小结 #
这篇记录可以作为一个快速索引:先看标题确认问题类型,再看原始命令找到核心操作,最后结合验证方法确认是否真正生效。这样既保留了早期备忘的简洁性,也能减少以后重复排查的时间。