2017年3月3日金曜日

WindowsホストのファイルシステムをVirtualbox guest Linuxからフルアクセス

WindowsホストのファイルシステムをVirtualbox guest Linuxからフルアクセスですが、
いくつかの方法があります。


  1. VirtualBoxの共有機能をつかう
  2. LinuxにSambaを動かしマウントする
  3. NFSをつかう(双方可能)
  4. Windows共有をつかう

1.は属性が実行属性がついたり問題が多いので、4をつかってみる。
2.はいままでの過去投稿にあります。

1.Windows側の共有フォルダを設定します。
通常のWindows同士のファイル共有とおなじです。
エクスプローラ上で共有したいフォルダで右クリックメニューでプロパティ(例では「ユーザフォルダ」ですが良い例ではありません
 「共有」タブへ
 「共有名(H)」の名前の先頭に「$」をつける(とネットワークの上から見えなくなるので良し)
 「アクセス許可(P)」
 「Everyone」は「削除」
 自身のユーザ名を追加
 ないと以下の画面に(「場所」-「検索」で探せます)
 ユーザ名(画像はhogeでなく「Users」になってるけど)
 「アクセス許可」を「フルコントロール」に(Usersは自分のアカウント名に読み替えてください)
 「OK」、「OK」・・・でおしまい

2.ゲストLinux側
samba クライアントがない場合はインストールしてください。
例:
[CentOS]
yum install samba-client samba-winbind cifs-utils
[Ubuntu, debian系]
sudo apt-get install cifs-utils


3.ゲストLinux側
マウントポイントディレクトリを作成し/etc/fstabへ以下の行を追加

//172.16.99.9/$users /mnt/win cifs username=*****,password=*****,uid=1000,gid=1000,file_mode=0666,dir_mode=0777 0 0

(1行です)
172.16~

***

/mnt/win
は任意に変えてください。

172.16~
は、Windowsホストのネットワークアダプタ「VirtualBox Host-Only Network」に割り当てられているIPアドレスです。



以上でおk







2017年2月9日木曜日

一番簡単なSamba設定(ホームディレクトリ編)

一番簡単なSambaサーバ設定 では、共有ディレクトリを作って公開しましたが、それも面倒で、自分のホームディレクトリを自分にすべてWindows側からフルアクセスできるようにしたい場合です。
ユーザ名 hogeuser と仮定して説明します。
/home/hogeuser
が既にできているはずです。

$ vi /etc/samba/smb.conf
以下の内容にする
[global]
unix charset = UTF-8
dos charset = CP932

        workgroup = WORKGROUP
        server string = Samba Server Version %v

        # logs split per machine
        log file = /var/log/samba/log.%m
        # max 50KB per log file, then rotate
        max log size = 50

        security = user
        passdb backend = tdbsam
[homes]
        comment = Home Directories
        browseable = no
        writable = yes
;       valid users = %S
;       valid users = MYDOMAIN\%S
        create mask 0644
        directory mask = 0755

        path=/home/%S


$ sudo smbpasswd -a hogeuser
:
: <- パスワードを指定する

でOKです.

Ubuntuの場合
$ sudo service smbd restart

CentOSの場合
# /etc/init.d/samba restart

です。

Windowsのコマンドプロンプトで、
>net use v: \\172.16.1.4\hogeuser /user:hogeuser password
か、エクスプローラーのネットワークドライブの割り当てで設定します。
(172.16.1.4の部分はWindowsからアクセス可能なLinuxサーバ、仮想マシンのIPアドレスです)



2017年2月3日金曜日

Linux: スペースを含むファイル名のfind xargsでの処理(Busybox)

通常のLinuxでは以下のように処理すれば問題ない。


60日以前のファイルをすべて削除する

find .  -mtime +60 -print0 | xargs -0 rm -f

しかし、Busyboxのfindにはprint0が効かないは、xargsに-0もない
なので以下で代替

find .  -mtime +60 | sed -e 's/ /\\ /g' | xargs rm -f

なんてことはないが30分くらいハマった


2016年2月5日金曜日

/boot の不要ファイル削除

apt-get install
で/boot パーティションがいっぱいで失敗してしまったときの対処。


■ /bootパーティションの不要なパッケージを削除する。

$ dpkg --get-selections | grep linux-image
linux-image-3.19.0-25-generic          install
linux-image-3.19.0-26-generic          install
linux-image-3.19.0-28-generic          install
linux-image-3.19.0-31-generic          install
linux-image-3.19.0-32-generic          install
linux-image-3.19.0-33-generic          install
linux-image-3.19.0-37-generic          install
:
とある。
$ uname -a
Linux tkdvubn2 3.19.0-37-generic #42~14.04.1-Ubuntu SMP Mon Nov 23 15:13:51 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
と表示される。

■ linux-image-3.19.0-37-generic 以外は不要なので削除する。

$ for x in `dpkg --get-selections | grep linux-image-3.19. | cut -f 1`; do
  if [ '37' != ${x:19:2} ]; then
  sudo apt-get -y remove $x;
 fi;
done

とする(改行しても、一気に改行なしで続けても可)

■ 最後に、
$ sudo apt-get -y autoremove
:

これでよし

2015年9月4日金曜日

Linux(ゲスト)から、リモートWindows共有ファイルへのアクセス

Linux(ゲスト)から、リモート側(LANの別のPC)のWindows共有ファイルへのアクセス



マウントポイントディレクトリを作成
# mkdir /mnt/pcshare

Windows(ホスト)で共有設定


Linuxからマウント
# mount -t cifs //192.168.56.1/tmp /mnt/pcshare -o username=your_windows_account,password=xxx

以上でおk
# ls /mnt/pcshare
...

2015年6月4日木曜日

一番簡単なSambaサーバ設定

/etc/samba/smb.conf


[global]
workgroup = workgroupname
netbios name = hostname
security = share

[public]
path = /home/share
comment = public folder
writable = yes
public = yes
guest only = yes
guest ok = yes

Win7/8 USBブートDisk作成

Win7 USBブートDisk作成

管理者権限でコマンドプロンプト起動

> diskpart
DISKPART> list disk   ※ ここでdisk番号を確認。以降の「1」を置き換え
DISKPART> select disk 1
DISKPART> clean
DISKPART> create partition primary
DISKPART> select partition 1
DISKPART> active
DISKPART> format fs=fat32
DISKPART> assign
DISKPART> exit

USB memoryへ
c:\> xopy d:\*.* /s/e/f e:\
c:\> cd /d d:boot
d:boot> bootsect /nt60 e: